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

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 发送命令 --instance-ids i-xxxxxx --document-name AWS-RunShellScript --评论'Deployment from Pipeline 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"]}' --输出文本--查询Command.CommandId

所以当我从节点(在帐户 A 中)运行 ssm 发送命令时,它显示无效的实例 ID。

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

Jenkins 节点 -> 账户 A Angular 实例(带 ssm 代理)-> 账户 B

在部署阶段的管道中,我需要将文件从 s3 复制到帐户 B 中的实例 使用或不使用 ssm 是否可以更好地实现此用例?

我认为您不能直接 运行 run-command 跨帐户。但是你可以 运行 通过 AWS Systems Manager Automation. In your automation document you can use aws:runCommand.

这是可能的,因为 SSM 自动化 supports cross-account and cross-region deployments