[英]With boto, how can I name a newly spawned EC2 instance?
我正在使用 boto 生成一个基于 AMI 的新 EC2 实例。
ami.run 方法有许多参数,但没有用于“名称”的参数 - 也许它被称为不同的东西?
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 实例是更好的方法。
对于那些正在寻找 @Roberto 答案的boto3
版本的人:
ec2 = boto3.resource('ec2')
ec2.create_tags(Resources=[instance.id], Tags=[
{
'Key': 'Name',
'Value': instance_name,
},
])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.