web-dev-qa-db-fra.com

Comment obtenir la liste des seules instances en cours d'exécution lors de l'utilisation de balises ec2-describe-tags

Comment obtenir la liste des seules instances en cours d'exécution lors de l'utilisation de ec2-describe-tags. J'utilise ma commande comme ceci:

ec2-describe-tags --filter "resource-type=instance" --filter "value=somevalue" --filter "key=key"
24
user1788294

Il est facile d'utiliser aws-cli :

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --output text
33
John Rotenstein

En développant la réponse de John Rotenstein, vous pouvez certainement le faire avec des instances de description.

Cela répertoriera la balise de nom et l'adresse IP de toutes les instances en cours d'exécution dont la balise de nom contient un mot spécifique:

name_tag=mongodb
aws ec2 describe-instances --filter "Name=tag-key,Values=Name" "Name=tag-value,Values=*$name_tag*" "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*][Tags[?Key=='Name'].Value[],NetworkInterfaces[0].PrivateIpAddresses[0].PrivateIpAddress]" --output text

Production:

10.100.2.10
mongodb0
10.100.2.11
mongodb1
10.100.2.12
mongodb2

Un bonus ici est que laisser les listes nom_tag vides tous les instances en cours d'exécution.

10
jonatan