[*]aws ec2 describe-instances
–query “Reservations[*].Instances[*].PublicIpAddress”
–output=text
Solution:
Directement à partir de l’aws cli :
[*]aws ec2 describe-instances --query "Reservations[*].Instances[*].PublicIpAddress" --output=text
- Filtrez sur les instances en cours d’exécution (vous pouvez supprimer cette partie si vous n’en avez pas besoin)
- Requête pour chaque PublicIPaddress et la balise de nom, traitement lorsque le nom n’est pas défini
[*]aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*].[PublicIpAddress, Tags[?Key=='Name'].Value|[0]]" --output text
La commande ci-dessous répertorie les adresses IP de toutes vos instances EC2 en cours d’exécution
[*]aws ec2 describe-instances | grep PublicIpAddress | grep -o -P "d+.d+.d+.d+" | grep -v '^10.'
En espérant que cela réponde à votre requête…
Mais cela fonctionne sans toutes les erreurs d’accès :
[*]wget -qO- http://instance-data/latest/meta-data/public-ipv4/|grep .