AWS Systems Manager - 会话管理器和运行命令“文档处理意外失败”

Mil*_*erC 6 amazon-ec2 amazon-web-services aws-ssm aws-session-manager

我正在使用会话管理器/运行命令来访问我的一些实例,它适用于某些实例,但不适用于其他实例。

我对一些实例具有相同的配置、相同的安全组、IAM 角色、使用相同代理版本安装的代理,并且我已使用以下内容通过 AWS CLI 验证了这些实例:

aws ssm describe-instance-information \
--instance-information-filter-list key=InstanceIds,valueSet=instance-id
Run Code Online (Sandbox Code Playgroud)

我可以启动会话,它会打开终端视图,并在延迟后向我发送此错误或黑屏,

Your session has been terminated for the following reasons: 
document process failed unexpectedly: document worker timed out, 
check [ssm-document-worker]/[ssm-session-worker] log for the crash reason
Run Code Online (Sandbox Code Playgroud)

我尝试过更新代理版本、通过 CLI 验证代理是否已安装并处于活动状态、三重检查安全组、IAM 角色和差异,但遇到了困难。

这是其他人看到的 AWS 错误还是我的配置中遗漏了某些内容?我可能遗漏了一些东西,但我所看到的所有内容都显示了两个具有相同属性的实例,其中一个实例适用于 SSM 会话管理器,而另一个实例则不适用。

abd*_*wer 3

可能的解决方案:2

  1. 升级AWS EC2 实例上的SSM 代理。

有时,由于 SSM 代理较旧或过时,您无法通过 AWS SSM 会话管理器连接到 AWS EC2 实例。所以,你必须升级它。因此,为此,请根据您的 AWS EC2 实例操作系统运行命令。当我使用 Amazon Linux 2 时,我运行了以下命令:

sudo yum info amazon-ssm-agent
sudo yum install -y https://s3.us-east-1.amazonaws.com/amazon-ssm-us-east-1/latest/linux_amd64/amazon-ssm-agent.rpm
sudo yum info amazon-ssm-agent
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
sudo systemctl status amazon-ssm-agent
Run Code Online (Sandbox Code Playgroud)
  1. 在 AWS EC2 实例上启用实例元数据选项。

如果由于某种原因禁用此功能,您将收到相同的错误,并且无法通过 AWS SSM 会话管理器连接到 AWS EC2 实例。所以,你必须启用它。为此,请运行以下命令:aws ec2 modify-instance-metadata-options --instance-id i-012abc123456789 --http-endpoint enabled

参考: