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

AWS Systems Manager托管EC2实例不显示及批量策略配置咨询

问题分析与解决方案

一、新EC2实例无法在SSM控制台显示的排查与修复

你采用Default Host Management Configuration(DHMC)模式,该模式确实无需给实例附加IAM角色,但新实例无法被SSM识别,核心问题不在你修改的管理端IAM策略,而是DHMC的实例注册逻辑和前提条件:

1. 检查DHMC覆盖范围

DHMC默认自动管理符合以下条件的实例:

  • 实例处于DHMC配置的目标区域内
  • 实例属于DHMC关联的AWS账户
  • 实例满足网络连通性要求:
    • 可通过公网或VPC端点访问SSM服务
    • 实例安全组允许HTTPS(443端口)出站访问SSM服务

2. 验证SSM代理状态

即使使用DHMC,实例仍需安装并运行SSM Agent:

  • 官方AMI(如Amazon Linux 2/2023、Ubuntu 16.04+)默认预装Agent,可通过以下命令检查运行状态:
    sudo systemctl status amazon-ssm-agent
    
  • 自定义AMI需手动安装SSM Agent

3. 澄清IAM策略的作用误区

你修改的是管理端的IAM用户/角色权限策略,仅控制你能操作哪些实例,但实例能否出现在SSM控制台,取决于实例是否成功注册到SSM服务——这和DHMC配置、实例网络/代理状态直接相关,和策略里的实例ARN列表无关。添加实例ARN只是让你获得操作权限,无法解决实例未注册的问题。

二、批量管理动态实例的IAM策略配置

要避免逐个添加实例ARN,可通过通配符或条件匹配实现批量覆盖:

1. 简化实例资源的策略写法

将第一个Statement中的实例ARN改为通配符,匹配当前账户下所有EC2实例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:region:YOUR_ACCOUNT_ID:instance/*",
                "arn:aws:ssm:region:YOUR_ACCOUNT_ID:document/SSM-SessionManagerRunShell"
            ],
            "Condition": {
                "BoolIfExists": {
                    "ssm:SessionDocumentAccessCheck": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:region:YOUR_ACCOUNT_ID:key/YOUR_KEY_ID"
        }
    ]
}

注意:

  • 替换region、YOUR_ACCOUNT_ID、YOUR_KEY_ID为实际值
  • 如需更精细控制(仅管理带特定标签的实例),可添加Condition条件:
    "Condition": {
        "StringEquals": {
            "ec2:ResourceTag/SSM-Managed": "true"
        }
    }
    
    仅带SSM-Managed=true标签的实例会被允许操作。

2. 配合DHMC自动注册

确保DHMC配置为自动管理新实例:

  • 进入SSM控制台 → 主机管理配置 → 编辑默认配置
  • 开启“自动注册新实例”选项
  • 配置覆盖的区域和目标账户(多账户场景)

三、额外排查步骤

若以上操作后新实例仍不显示:

  • 检查实例元数据服务(IMDS):实例内执行curl http://169.254.169.254/latest/meta-data/instance-id,验证能否返回实例ID
  • 查看SSM Agent日志:/var/log/amazon/ssm/amazon-ssm-agent.log,排查注册失败的具体错误
  • 验证VPC端点配置(私有网络场景):确保已创建SSM、EC2 Messages、SSM Messages的VPC端点,且实例安全组允许访问这些端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:07:45