Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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