同角色同子网部分EC2无法通过Session Manager连接的原因排查咨询
EC2实例无法通过Session Manager连接的排查方向
故障实例附加的IAM策略(中文翻译版)
{ "版本": "2012-10-17", "声明": [ { "效果": "允许", "操作": [ "ssm:描述关联", "ssm:获取实例可部署补丁快照", "ssm:获取文档", "ssm:描述文档", "ssm:获取清单", "ssm:获取参数", "ssm:获取参数列表", "ssm:列出关联", "ssm:列出实例关联", "ssm:上报库存", "ssm:上报合规项", "ssm:上报配置包结果", "ssm:更新关联状态", "ssm:更新实例关联状态", "ssm:更新实例信息" ], "资源": "*" }, { "效果": "允许", "操作": [ "ssmmessages:创建控制通道", "ssmmessages:创建数据通道", "ssmmessages:打开控制通道", "ssmmessages:打开数据通道" ], "资源": "*" }, { "效果": "允许", "操作": [ "ec2messages:确认消息", "ec2messages:删除消息", "ec2messages:标记消息失败", "ec2messages:获取端点", "ec2messages:获取消息", "ec2messages:发送回复" ], "资源": "*" } ] }
结合你提到的「故障实例与正常实例同IAM角色、同子网」的前提,以下是可能的故障原因:
- 实例安全组配置差异:同一子网下的实例可绑定不同安全组。检查故障实例的安全组是否允许出站HTTPS(443端口)访问以下SSM相关服务端点:
ssm.<你的区域>.amazonaws.comssmmessages.<你的区域>.amazonaws.comec2messages.<你的区域>.amazonaws.com
- SSM Agent运行异常:
- 检查Agent是否安装:Linux执行
sudo yum list installed | grep amazon-ssm-agent,Windows查看程序列表。 - 检查Agent状态:Linux执行
sudo systemctl status amazon-ssm-agent,Windows执行Get-Service AmazonSSMAgent。未运行则启动,版本过旧则更新。
- 检查Agent是否安装:Linux执行
- 实例内部网络问题:
- DNS解析失败:在实例内尝试ping上述SSM端点,确认域名能正常解析。
- 本地防火墙拦截:检查Linux的iptables/ufw、Windows防火墙是否禁止443端口出站流量。
- IAM角色附着问题:
- 验证实例是否正确附着目标IAM角色:执行
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/,若返回角色名称则正常,否则需重新关联角色。 - 临时凭证获取失败:若角色附着正常但无法获取凭证,可能是实例元数据服务(IMDS)被禁用或限制。
- 验证实例是否正确附着目标IAM角色:执行
- VPC端点(VPCE)访问限制:
- 若子网通过VPCE访问SSM,检查VPCE的资源策略是否允许故障实例的IAM角色访问,或VPCE是否处于可用状态。
- 实例资源耗尽:实例CPU、内存占用过高会导致SSM Agent无法正常运行,通过CloudWatch或系统命令(如
top、Task Manager)检查资源负载。
内容的提问来源于stack exchange,提问作者Filip
相关产品推荐
相关产品推荐

