Con boto, ¿cómo puedo nombrar una instancia EC2 recién generada?


Estoy usando boto para generar una nueva instancia EC2 basada en una AMI.

El iam.ejecutar método tiene una serie de parámetros, pero ninguno para "nombre" - tal vez se llama algo diferente?

Author: Steffen Opel, 2012-03-06

2 answers

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})
 31
Author: Roberto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-06 14:18:31

En EC2 no hay ninguna api para cambiar el nombre real de la máquina. Básicamente tienes dos opciones.

  1. Puede pasar el nombre deseado del equipo en los datos de usuario y cuando se inicie el servidor, ejecute un script que cambiará el nombre del equipo.
  2. Puede usar una etiqueta EC2 para nombrar el servidor ec2-create-tags <instance-id> --tag:Name=<computer name>. La desventaja de esta solución es que el servidor no se actualizará a este nombre. Esta etiqueta es estrictamente para usted o para cuando está consultando la lista de servidores en aws.

En términos generales, si está en el punto en el que desea que su servidor se configure al iniciar, he encontrado que el cambio de nombre de su computadora en EC2 solo causa más problemas de los que vale la pena. Sugiero no usarlos si no tienes que hacerlo. Usar las etiquetas o instancias elb es la mejor manera de hacerlo.

 1
Author: bwight,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-05 22:50:35