Comment puis-je obtenir des adresses IP privées de toutes les instances qui font partie d'un groupe AutoScaling. J'essaie de faire une opération sur toutes les instances qui font partie d'un groupe de mise à l'échelle automatique.
amazon-ec2
autoscaling
Ramesh Kumar
la source
la source
jq
commande pour analyser jsonComme alternative, ma version sans jq / awk / sed / cut
Version plus optimisée
Si vous avez juste besoin d'une simple liste dans la sortie, vous pouvez ajouter un autre pipeline
| jq -r '.[]'
la source
this creates many "describe-instances" requests
et? Pour autant que je sache, votre requête ne fonctionnera qu'avec des balises, ce n'est pas universel, à mon humble avisJetez un œil à la fine documentation de l'API AWS. Par exemple, les outils aws-cli aws autoscaling describe-auto-scaling-instances et aws ec2 describe-instances .
la source
Similaire à la réponse de Ramesh, voici un joli petit script basé sur l'instance actuelle et son groupe. Assurez-vous de définir votre région et dans ce cas, je saute l'instance actuelle (utilisée pour le clustering). Vous pouvez également changer PrivateIpAddress en Public si nécessaire.
la source
vous pouvez également utiliser
jq
pour analyser la sortie, c'est une mauvaise idée d'utiliser awk, grep ou sed, etc., pour analyser une structure de nœud, similaire à une mauvaise idée d'utiliser des expressions régulières pour analyser html.la source
jq
c'est un outil utile, et le laisser ici peut laisser les ops le découvrir, même si avec amazon vous pouvez tout faire avec laaws
commandeVous pouvez également consulter l'interface utilisateur de la console Web AWS sous EC2 -> Groupes Auto Scaling -> onglet Instances. Vous verrez toutes les instances sous l'ASG actuel, vous pouvez ensuite cliquer sur chaque instance-ID pour obtenir l'IP (il vous redirigera vers une vue différente.)
la source
la source
Cela renverra toutes les ips privées des instances dans un ASG
la source