boto3 ec2 创建具有名称的实例

Luc*_*uca 6 amazon-ec2 boto3

我是 AWS 新手,正在使用 boto3 启动实例。但是,我注意到当我创建实例时,“名称”字段为空。所以,我的创建方式如下:

def create_instance(ami, instance_type, device_name, iam_role, volume_type,
                    volume_size,
                    security_groups, key_name, user_data):
    s = boto3.Session(region_name="eu-central-1")
    ec2 = s.resource('ec2')

    res = ec2.create_instances(
            IamInstanceProfile={'Name': iam_role},
            ImageId=ami,
            InstanceType=instance_type,
            SecurityGroupIds=security_groups,
            KeyName=key_name,
            UserData=user_data,
            MaxCount=1,
            MinCount=1,
            InstanceInitiatedShutdownBehavior='terminate',
            BlockDeviceMappings=[{
                'DeviceName': device_name,
                'Ebs': {
                    'DeleteOnTermination': True,
                    'VolumeSize': volume_size,
                    'VolumeType': volume_type
                }
            }]
        )
    instance = res[0]
    while instance.state['Name'] == 'pending':
        time.sleep(5)
        instance.load()

    return instance.public_ip_address, instance.public_dns_name
Run Code Online (Sandbox Code Playgroud)

似乎没有一种简单的方法来指定name启动的实例。怎样才能做到这一点呢?

Lam*_*nus 10

将带有键的标签Name与您的实例名称作为值。

TagSpecifications=[
        {
            'ResourceType': 'instance',
            'Tags': [
                {
                    'Key': 'Name',
                    'Value': '<What you want>'
                },
            ]
        },
    ],
Run Code Online (Sandbox Code Playgroud)