1

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

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

我已经创建了 Ubuntu 服务器 EC2(t2 micro)并为 IAM 角色分配了策略“AmazonEC2RoleforSSM”,据我所知,这应该允许在该 EC2 上运行 ssm send 命令。但是,相反,我得到以下错误:

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 服务器中工作吗?我错过了什么?

4

1 回答 1

3

但是,据我所知,如果我使用上述策略分配 IAM 角色,它应该会显示在列表中。

不,远不止这些。您需要在要管理的每台服务器上安装 AWS SSM 代理。它适用于 Amazon Linux 的原因是最新版本的 Amazon Linux 预安装了 SSM 代理。

于 2017-10-28T19:11:23.443 回答