AWS EC2 Décrit les instances – Filtrage par plusieurs balises EC2?

Je tente de créer dynamicment un mappage de file d'hôtes avec tous les ip privés d'une instance ec2, à utiliser comme hôte / etc / hosts sur mon server ssh ec2 distant.

J'ai des instances étiquetées avec leur "Nom" normal, par exemple. prod-database-01 et une label "Alias" par ex. db-01. Le but étant d'être en mesure d'utiliser "ssh db-01" de ma boîte ssh et d'avoir la bonne cartographie, même si le server a été simple ou automatisé.

Pour toute instance avec l'état "Running", c'est-à-dire. servers actifs, j'essaie d'get le cli pour afficher le nom, l'alias et l'adresse IP privée vers JSON ou quelque chose comme ça, pour lequel je peux créer un file hôte.

Cependant, je suis coincé lors de la tentative de sortie de la deuxième label "Alias".

C'est ce que j'ai jusqu'à présent qui produit "Nom", "PrivéIP", Etat ".

Vous me demandant comment je peux faire itérer et extraire le tag Alias ​​supplémentaire?

aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],PrivateIpAddress,State.Name ]' --output json

Il devrait simplement fonctionner si vous ajoutez la requête d'label Alias ​​comme vous l'avez fait la requête Nom:

 aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],[Tags[?Key==`Alias`].Value][0][0],PrivateIpAddress,State.Name ]' --output json