繁体   English   中英

SSM发送命令失败,是否可以从一个aws帐户向另一个帐户运行ssm命令

[英]SSM Send Command Failed,Is it possible to run ssm command from one aws account to another

我在帐户 A中有 Jenkins 节点,该节点构建了 angular 应用程序 为了部署 dist 文件夹,我需要将文件从 s3 复制到 angular 实例。 但是 angular 实例在账户 B

脚本:

aws --region us-west-2 ssm send-command --instance-ids i-xxxxxx --document-name AWS-RunShellScript --comment '从管道部署 xxx-release-pipeline' --cloud-watch-output- config 'CloudWatchOutputEnabled=true,CloudWatchLogGroupName=SSMDocumentRunLogGroup' --parameters '{"commands":["aws --region us-west-2 s3 cp s3://xxxx/dist/*.zip /var/www/demo. com/html", "unzip -q *.zip"]}' --输出文本 --query Command.CommandId

因此,当我从节点(在帐户 A 中)运行 ssm send-command 时,它显示无效的实例 ID。

调用 SendCommand 操作时发生错误 (InvalidInstanceId)

Jenkins 节点 -> Account A Angular Instance(with ssm agent) -> Account B

在部署阶段的管道中,我需要将文件从 s3 复制到帐户 B 中的实例有没有办法在有或没有 ssm 的情况下以更好的方式实现这个用例?

我认为您不能直接跨帐户运行run-command 但是您可以通过AWS Systems Manager Automation运行。 在您的自动化文档中,您可以使用aws:runCommand

这是可能的,因为 SSM 自动化支持跨账户和跨区域部署

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM