我刚开始探索aws系统管理器功能。
我正在使用python 3.6和boto3来测试ssm。
我创建了Ubuntu服务器EC2(t2 micro),并为策略" AmazonEC2RoleforSSM"分配了IAM角色,据我所知,应该允许在该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服务器上运行?我错过了什么?
答案 0 :(得分:3)
但是,据我所知,我是否指定了上述的IAM角色 它应该显示在列表中。
不,还有更多的东西。您需要在要管理的每台服务器上install the AWS SSM agent。它适用于您使用Amazon Linux的原因是最新版本的Amazon Linux预先安装了SSM代理。