【发布时间】:2012-03-23 10:14:23
【问题描述】:
我正在使用 boto 基于 AMI 生成一个新的 EC2 实例。
ami.run 方法有许多参数,但“名称”没有 - 也许它被称为不同的东西?
【问题讨论】:
标签: python amazon-ec2 amazon-web-services boto
我正在使用 boto 基于 AMI 生成一个新的 EC2 实例。
ami.run 方法有许多参数,但“名称”没有 - 也许它被称为不同的东西?
【问题讨论】:
标签: python amazon-ec2 amazon-web-services boto
对于那些正在寻找@Roberto 答案的boto3 版本的人:
ec2 = boto3.resource('ec2')
ec2.create_tags(Resources=[instance.id], Tags=[
{
'Key': 'Name',
'Value': instance_name,
},
])
【讨论】:
import boto
c = boto.connect_ec2(ec2_key, ec2_secret)
image = c.get_image(ec2_ami)
reservation = image.run(key_name=ec2_keypair,
security_groups=ec2_secgroups,
instance_type=ec2_instancetype)
instance = reservation.instances[0]
c.create_tags([instance.id], {"Name": instance_name})
【讨论】:
在 EC2 中,没有 api 可以更改机器的实际名称。你基本上有两种选择。
ec2-create-tags <instance-id> --tag:Name=<computer name>。此解决方案的缺点是服务器实际上不会更新为此名称。此标签仅适用于您或您在 aws 中查询服务器列表时使用。一般来说,如果您希望您的服务器在启动时自行配置,我发现在 EC2 中重命名您的计算机只会带来比其价值更多的麻烦。如果你不需要,我建议不要使用它们。使用标签或 elb 实例是更好的方法。
【讨论】:
create_tags('i-0d44bd39', dict(Name=moo))