С помощью boto, как я могу назвать недавно созданный экземпляр EC2? - PullRequest
23 голосов
/ 06 марта 2012

Я использую boto для создания нового экземпляра EC2 на основе AMI.

Метод ami.run имеет несколько параметров, но ни одного для «name» - может быть, он называется чем-то другим?

Ответы [ 2 ]

31 голосов
/ 06 марта 2012
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 голос
/ 06 марта 2012

В EC2 нет API для изменения фактического названия машины. У вас есть два варианта.

  1. Вы можете передать желаемое имя компьютера в пользовательских данных и при запуске сервера запустить скрипт, который изменит имя компьютера.
  2. Вы можете использовать тег EC2 для именования сервера ec2-create-tags <instance-id> --tag:Name=<computer name>. Недостатком этого решения является то, что сервер фактически не обновляется до этого имени. Этот тег предназначен исключительно для вас или когда вы запрашиваете список серверов в aws.

Вообще говоря, если вы хотите, чтобы ваш сервер сам конфигурировался при запуске, я обнаружил, что переименование вашего компьютера в EC2 просто вызывает больше проблем, чем оно того стоит. Я предлагаю не использовать их, если вам не нужно. Лучше всего использовать теги или экземпляры elb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...