Windows机器中AWS SSM报错求助:Amazon SSM Agent意外终止
解决Windows上Amazon SSM Agent频繁意外终止(已崩溃512次)的问题
我之前帮几个用户解决过一模一样的Windows上SSM Agent频繁崩溃的问题,给你整理了一套一步步排查的方案,按顺序来应该能定位到根源:
先查崩溃日志,定位具体原因
Windows上SSM Agent的日志文件存放在C:\Program Files\Amazon\SSM\Logs\目录下,重点看amazon-ssm-agent.log和errors.log。你可以用PowerShell快速查看最近的崩溃记录:Get-Content "C:\Program Files\Amazon\SSM\Logs\amazon-ssm-agent.log" -Tail 100找崩溃前的关键词,比如
panic、unexpected exit、connection failed,这些信息能直接告诉你是资源不足、权限问题还是网络故障导致的崩溃。检查系统资源是否足够
有时候Agent崩溃是因为Windows机器内存/CPU被占满,系统强制终止了进程:- 打开任务管理器,观察
amazon-ssm-agent.exe的实时资源占用,尤其是崩溃前的峰值。 - 如果系统可用内存经常低于1GB,或者CPU长期占用超过80%,考虑升级EC2实例规格,或者关闭不必要的后台进程释放资源。
- 打开任务管理器,观察
升级到最新版SSM Agent
旧版本的Agent可能存在已知的崩溃bug,AWS一直在修复这类问题:- 用PowerShell一键升级:
& "C:\Program Files\Amazon\SSM\UpdateSSMAgent.exe" --auto - 升级完成后重启服务,观察24小时内是否还会出现崩溃。
- 用PowerShell一键升级:
验证IAM角色权限
如果Agent的IAM角色权限不足,调用AWS服务失败时可能会崩溃:- 确保你的EC2实例关联的IAM角色包含
AmazonSSMManagedInstanceCore托管策略,这是Agent正常运行的最小权限集合。 - 检查是否有自定义策略限制了Agent访问SSM服务、获取实例元数据等关键操作。
- 确保你的EC2实例关联的IAM角色包含
排查网络连接问题
SSM Agent需要和AWS的SSM服务端点通信,网络不通会导致Agent异常终止:- 测试实例能否访问区域SSM端点,比如替换成你的区域执行:
Test-NetConnection ssm.us-east-1.amazonaws.com -Port 443 - 如果是在VPC内,确认安全组和NACL允许出站443端口到SSM端点;如果配置了VPC端点,检查SSM、EC2 Messages、SSM Messages这三个端点是否正常工作。
- 若使用代理,检查
C:\Program Files\Amazon\SSM\amazon-ssm-agent.json里的ProxyConfiguration配置是否正确,代理地址、端口和认证信息有没有错误。
- 测试实例能否访问区域SSM端点,比如替换成你的区域执行:
重置SSM Agent缓存
如果以上步骤都没解决,试试重置Agent的缓存数据:Stop-Service AmazonSSMAgent Remove-Item "C:\Program Files\Amazon\SSM\var" -Recurse -Force Start-Service AmazonSSMAgent重置后观察服务稳定性。
如果按照上面的步骤排查后还是有问题,把日志里的关键错误片段贴出来,我可以帮你进一步分析。
内容的提问来源于stack exchange,提问作者madhu nidamanuri
相关产品推荐
相关产品推荐

