You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SSM run command跨区域将输出保存至异区S3存储桶的实现问题

跨区域将AWS SSM命令输出写入异区域S3存储桶解决方案

OutputS3Region参数弃用后,SSM服务会自动根据你传入的S3桶名自动寻址对应区域,输出写入失败通常是权限配置缺失导致,按以下步骤配置即可实现跨区域存储输出:

1. 配置目标S3存储桶策略

在us-west-2的目标S3桶需添加如下桶策略,允许各区域SSM服务主体写入权限,示例如下(替换my-bucket和你的AWS账号ID为实际值):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ssm.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket",
                "arn:aws:s3:::my-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "你的AWS账号ID"
                }
            }
        }
    ]
}

2. 配置EC2实例绑定的IAM角色权限

实例关联的IAM角色必须添加目标S3桶的写入和桶位置查询权限,示例策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket",
                "arn:aws:s3:::my-bucket/*"
            ]
        }
    ]
}

3. 调整send_command调用参数

不需要额外指定区域参数,可按需添加输出路径前缀、超时时间等配置即可,调整后的Python代码示例:

response = ssm_client.send_command(
            InstanceIds=[instance_id],
            DocumentName="AWS-RunShellScript",
            OutputS3BucketName='my-bucket',
            OutputS3KeyPrefix='ssm-command-output/', # 可选,自定义S3内的存储路径前缀
            Parameters={'commands': [cmd],
            'executionTimeout': ['7200']} # 命令执行时间较长时可调整超时时间
)

4. 常见排查项

  • 升级实例上的SSM Agent到最新版本,旧版本存在跨区域S3写入的兼容性问题
  • 若目标S3桶开启了KMS加密,需要同时给SSM服务主体和实例IAM角色授予对应KMS密钥的kms:Decrypt、kms:GenerateDataKey权限
  • 检查S3桶是否存在其他拦截写入的策略,排除权限冲突

内容的提问来源于stack exchange,提问作者Yael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:15:01