
Estoy intentando crear una instancia en ec2 usando CLI. ¿Existe alguna forma de especificar etiquetas para la instancia cuando se usa CLI para crear instancias?
aws ec2 run-instances --image-id $ami_id --key-name $deployment_key_name \
--region $region --security-groups default --instance-type m4.large \
--user-data file://./yaml/master.yaml
Respuesta1
A partir del 28 de marzo de 2017, puede especificar etiquetas para instancias (y volúmenes adjuntos) como parte del run-instances
comando.
Ejemplo:
aws ec2 run-instances --image-id ami-abc12345 --count 1 \
--instance-type t2.micro --key-name MyKeyPair \
--subnet-id subnet-6e7f829e \
--tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'
Publicación del blog del anuncio: https://aws.amazon.com/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/
Documentación adicional (ver ejemplo 4): http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_CLI
Respuesta2
Utilizar elaws ec2 crear etiquetascomando luego para agregar etiquetas por ID de instancia.
Respuesta3
Aquí está mi sugerencia y una forma de verificarla:
Estoy usando SSO con el nombre de perfil ATeam. Deberá actualizar esto en consecuencia en sus archivos de configuración y credenciales.
Crea la instancia:
aws ec2 run-instances \
--image-id ami-0578f2b35d0328762 \
--instance-type t2.micro \
--security-group-ids sg-065d064965244f9a0 \
--subnet-id subnet-00d93c6b00c0a6ccb \
--key-name devass \
--user-data file://ec2-user-data-web-app.md \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=pub_1},{Key=Group,Value=devass},{Key=LifeCycle,Value=development}]' \
--count 1 \
--profile ATeam
Verifique la información importante de la instancia. Lo siento, la consulta debe colocarse en una línea porque no he descubierto una manera de dividirla en varias líneas.
aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId,PublicIP:PublicIpAddress,Name:Tags[?Key=='Name']|[0].Value,Group:Tags[?Key=='Group']|[0].Value,LifeCycle:Tags[?Key=='LifeCycle']|[0].Value,Status:State.Name}" \
--profile ATeam \
--output table
Resultado: Salida de consola para describir instancias