使用boto,如何命名新生成的EC2实例?

时间:2012-03-05 22:39:45

标签: python amazon-ec2 amazon-web-services boto

我正在使用boto基于AMI生成新的EC2实例。

ami.run方法有很多参数,但没有“name” - 也许它被称为不同的东西?

3 个答案:

答案 0 :(得分:31)

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})

答案 1 :(得分:1)

在EC2中,没有api可以更改机器的实际名称。你基本上有两个选择。

  1. 您可以在用户数据中传递所需的计算机名称,并在服务器启动时运行将更改计算机名称的脚本。
  2. 您可以使用EC2标记命名服务器ec2-create-tags <instance-id> --tag:Name=<computer name>。该解决方案的缺点是服务器实际上不会更新为此名称。此标记仅供您或在查询aws中的服务器列表时使用。
  3. 一般来说,如果您希望服务器在启动时自行配置,我发现在EC2中重命名计算机只会造成比它值得更多的麻烦。如果你不需要,我建议你不要使用它们。使用标签或elb实例是更好的方法。

答案 2 :(得分:0)

对于那些正在寻找{Robert {1}}版本的人:

boto3