我正在尝试使用 AWS 创建托管实例。
我按照此页面创建了 IAM 角色:https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html。
所以是AmazonSSMManagedInstanceCore
这是我用来将 IAM 角色与 EC2 关联的代码。
# Make EC2s with AWS Ubuntu 20
instances = subnet.create_instances(ImageId='ami-0885b1f6bd170450c',
InstanceType='m1.small',
MaxCount=num,
MinCount=num,
Monitoring={'Enabled': True},
SubnetId=subnet.subnet_id,
KeyName=key_name,
IamInstanceProfile={
'Arn': 'arn goes here',
},)
wait_until_running(instances)
当我检查控制台时,角色就会出现。
但是当我这样做时
aws ssm describe-instance-information
我明白
{
"InstanceInformationList": []
}
这里的最终目标是能够向实例发送命令。
答案 0 :(得分:1)
基于评论。
该实例没有公共 IP 地址,这表明它可能无法访问 SSM 服务。
要使 SSM 在您的实例上运行,它必须能够连接到 SSM 服务。这通常通过以下三种方式之一启用: