Como adicionar uma tag ao iniciar uma instância ec2 usando aws clis

Como adicionar uma tag ao iniciar uma instância ec2 usando aws clis

Estou tentando criar uma instância no ec2 usando CLI. Existe alguma maneira de especificar tags para a instância ao usar CLI para criar instâncias?

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

Responder1

A partir de 28 de março de 2017, você poderá especificar tags para instâncias (e volumes anexados) como parte do run-instancescomando.

Exemplo:

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}]' 

Postagem de anúncio no blog: https://aws.amazon.com/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/

Documentação adicional (ver exemplo 4): http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_CLI

Responder2

Use oaws ec2 criar tagscomando posteriormente para adicionar tags por ID de instância.

Responder3

Aqui está minha sugestão e uma maneira de verificá-la:

Estou usando o SSO com o nome de perfil ATeam. Você precisará atualizar isso adequadamente em seus arquivos de configuração e credenciais.

Crie a instância:

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 as informações importantes da instância. Desculpe, a consulta precisa ser colocada em uma linha, pois não descobri uma maneira de dividi-la em várias linhas.

  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: Saída do console para instâncias de descrição

informação relacionada