Wie kann ich private IP-Adressen aller Instanzen abrufen, die Teil einer AutoScaling-Gruppe sind? Ich versuche, einige Operationen auf allen Instanzen auszuführen, die Teil einer Autoscaling-Gruppe sind.
amazon-ec2
autoscaling
Ramesh Kumar
quelle
quelle
jq
Befehl verwenden, um JsonAls Alternative meine Version ohne jq / awk / sed / cut
Optimierte Version
Wenn Sie nur eine einfache Liste in der Ausgabe benötigen, können Sie eine weitere Pipeline hinzufügen
| jq -r '.[]'
quelle
this creates many "describe-instances" requests
und? Soweit ich verstanden habe, funktioniert Ihre Abfrage nur mit Tags, sie ist nicht universell, imhoSehen Sie sich die ausführliche Dokumentation zur AWS-API an. ZB die aws-cli-Tools aws autoscaling beschreiben-automatisch-skalierende-Instanzen und aws ec2 beschreiben-Instanzen .
quelle
Ähnlich wie bei Ramesh ist hier ein nettes kleines Skript, das auf der aktuellen Instanz und ihrer Gruppe basiert. Stellen Sie sicher, dass Sie Ihre Region festlegen. In diesem Fall überspringe ich die aktuelle Instanz (die für das Clustering verwendet wird). Sie können bei Bedarf auch PrivateIpAddress in Public ändern.
quelle
Sie können auch
jq
zum Parsen der Ausgabe verwenden. Es ist eine schlechte Idee, awk, grep oder sed usw. zum Parsen einer Knotenstruktur zu verwenden, ähnlich wie es eine schlechte Idee ist, reguläre Ausdrücke zum Parsen von HTML zu verwenden.quelle
jq
ein nützliches Werkzeug, und es hier verlassen kann ops Leute es entdecken lassen, auch wenn mit amazon Sie alles mit dem tunaws
BefehlSie können auch in der Benutzeroberfläche der AWS-Webkonsole unter EC2 -> Auto Scaling Groups -> Instances Tab nachsehen. Sie sehen alle Instanzen unter der aktuellen ASG. Sie können dann auf jede Instanz-ID klicken, um die IP zu erhalten. (Sie werden dann zu einer anderen Ansicht weitergeleitet.)
quelle
quelle
Dies gibt alle privaten IPS von Instanzen in einer ASG zurück
quelle