J'ai une liste de propriété intellectuelle adressée, je souhaite trouver si les instances associées à l'adresse IP sont toujours en cours d'exécution ou terminées. Je lance et termine beaucoup d'instances sur la base quotidienne, je veux simplement supprimer leurs certificats de Puppetmaster.
S'il y a une méthode alternative, je peux atteindre mon objectif, je peux le faire.
aws ec2 describe-instances --filter Name=ip-address,Values=IP_1,..IP_N
Devrait faire ce dont vous avez besoin.
utilisez le nom du filtre de private-ip-address
Pour sélectionner Utilisation d'une adresse privée dans votre VPC.
Pipe à travers quelque chose comme
jq -r '.Reservations[].Instances[] | .InstanceId, .PublicIpAddress'
si vous voulez l'instanceID correspondant
Une autre approche serait d'utiliser Evénements Cloudwatch Pour écouter les instances EC2 étant terminées et avoir l'auditeur (qui pourrait être une Lambda fonction ou un service personnalisé à l'écoute des SQS ) Supprimez les certificats correspondants de la marionnette.
Les références:
Vous pouvez utiliser des formats --Quisery and --Output si vous souhaitez utiliser cela dans un script Bash.
aws ec2 describe-instances --filter Name=private-ip-address,Values=x.x.x.x --query 'Reservations[].Instances[].InstanceId' --output text
Cela vous donnera une réponse textuelle sans formatage JSON
i-03c1ad0d6abe32323