aws ssm 发送命令在 Ubuntu 服务器中不起作用

aws ssm send command not working in Ubuntu servers

我刚刚开始探索 aws 系统管理器功能。

我正在使用 python 3.6 和 boto3 来测试 ssm。

我已经创建了 Ubuntu 服务器 EC2(t2 micro) 并使用策略 "AmazonEC2RoleforSSM" 分配了 IAM 角色,据我所知应该允许 运行ning ssm 发送命令那个EC2。但是,我得到以下错误:

botocore.errorfactory.InvalidInstanceId: An error occurred (InvalidInstanceId) when calling the SendCommand operation:

我什至尝试检查以下输出:

ssm.describe_instance_information()['InstanceInformationList'])

它没有我创建的实例 ID,这几乎说明了我收到该错误的原因。但是,据我所知,如果我使用上述策略分配 IAM 角色,它应该会显示在列表中。

奇怪的是,当我尝试使用 Amazon Linux AMI 服务器和 运行 ssm 进行上述设置时,一切看起来都很好。

知道为什么 ssm 不能在 ubuntu 服务器上工作吗?我错过了什么?

But, to my knowledge if I assign the IAM role with above mentioned policy it should show up in the list.

不,不仅如此。您需要在每台要管理的服务器上 install the AWS SSM agent。它适用于 Amazon Linux 的原因是最新版本的 Amazon Linux 预装了 SSM 代理。