【发布时间】:2016-10-10 05:37:51
【问题描述】:
我目前正在使用 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 才能对其进行标记。是否可以在创建(启动)新实例的同时向实例添加标签?
【问题讨论】:
标签: amazon-web-services amazon-ec2 boto3