Boto3 - 创建过程中的标记实例

Boto3 - tag instance during creating

我目前正在使用 AWS EC2 实例。我想启动几个实例,分别负责不同的任务。要创建和启动实例,我使用以下函数:

def ec2start(num):
    ec2.create_instances( 
        ImageId='image_id', 
        InstanceType='instance_type',
        SecurityGroupIds= [ 'security_group_id' ],
        MinCount=int(num), 
        MaxCount=int(num)
        )

然而,由于我有几个 运行 个实例,但其中一些执行类似的操作,我使用 @roles 在多个实例上调用一个函数并加快一切。为了能够在选定实例上使用特定功能,我向每个实例添加了一个标签。到目前为止,为了标记一个实例,我使用了以下函数:

def ec2tagInstance(ids, tagname):
    ec2.create_tags(Resources=[ids], Tags=mytags)
    instances = ec2.instances.filter(InstanceIds=[ids])
    for instance in instances:
        for tag in instance.tags:
            if tag["Key"] == "Type":
                tag["Value"] = tagname

但是,现在我必须首先创建(启动)一个实例,然后我必须调用一个具有特定 ID 的函数 ec2tagInstance,以便能够对其进行标记。是否可以在创建(启动)新实例的同时为实例添加标签?

在创建实例时确实没有办法将标签分配给实例。 EC2 RunInstances API 请求不接受 Tags 参数。

您可以编写自己的函数来创建实例并在之后立即标记它们,但是无法通过单个 API 调用来完成。