创建托管实例

时间:2020-12-30 21:44:55

标签: amazon-web-services amazon-ec2

我正在尝试使用 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": []
}

这里的最终目标是能够向实例发送命令。

1 个答案:

答案 0 :(得分:1)

基于评论。

该实例没有公共 IP 地址,这表明它可能无法访问 SSM 服务

要使 SSM 在您的实例上运行,它必须能够连接到 SSM 服务。这通常通过以下三种方式之一启用:

  1. 实例是一个公共子网,可以直接访问互联网。
  2. 实例位于私有子网中,并使用 NAT 网关访问互联网。
  3. 您的 VPC 使用 VPC interface endpoints for SSM service 连接到 SSM 服务。这不需要互联网访问,并提供实例和 SSM 服务之间的私有通信。