Extrahieren von Systeminformationen in einem Zug aus ec2-Instanzen

388
Prashast

Ich habe fast 150 ec2-Instanzen in einem Konto. Ich möchte einige Systeminformationen aus jeder Instanz extrahieren. Mir ist bekannt, dass ich mich bei jedem System einzeln anmelden und die Informationen mit dem jeweiligen Befehl abrufen kann. Aber ich möchte alle Informationen auf einmal. Ich kann ein einfaches Skript schreiben, aber das Problem ist, dass ich einen Bastion-Host habe und dann in jede Instanz ssh muss & der Benutzername anders ist. Beispiel für eine Instanz ec2-user@2.2.2.2 & für einige centos@3.3.3.3.

ssh -i "prod-key-pair.pem" ec2-user@ec2-1-9-1-2.compute-1.amazonaws.com ssh -i "sandbox-key-pair.pem" centos@1.1.4.2 'bash -s' << EOF cat /etc/*-release|grep -m 1 NAME >>os_detail.txt ifconfig | grep inet |head -1 |awk -F ' ' '' >>os_detail.txt EOF 

Meine Frage ist, auf welche Weise Centos & ec2-user nacheinander ausgewählt werden können. Wenn Centos fehlschlägt, sollte ec2-user versucht werden. Zweitens erstellen die beiden Befehle, wenn sie ausgeführt werden, die Dateien auf dem Server, aber ich möchte, dass diese Dateien in meinem lokalen System von dort aus ausgeführt werden, wo das Skript ausgeführt wird.

Gibt es Hinweise, wie ich dieses Problem lösen kann?

0
Bitte beachten Sie, dass https://superuser.com kein kostenloser Skript- / Code-Schreibservice ist. Wenn Sie uns sagen, was Sie bisher versucht haben (einschließlich der Skripts / des Codes, die Sie bereits verwenden) und wo Sie stecken bleiben, können wir versuchen, bei bestimmten Problemen zu helfen. Sie sollten auch lesen [Wie kann ich eine gute Frage stellen?] (Https://superuser.com/help/how-to-ask). DavidPostill vor 5 Jahren 0
@ DavidPostill: Ich habe die Frage entsprechend aktualisiert Prashast vor 5 Jahren 0

1 Antwort auf die Frage

0
supreet

Um das re: invent-Event 2017 herum hat AWS den Amazon EC2 Systems Manager lanciert . Mit diesem Dienst können Skripts ( SSM-Runddokumente / Befehle ( SSM-Befehl )) über die von Amazon bereitgestellten APIs remote ausgeführt werden.

Standardmäßig ist in den neuesten Windows-Instanzen und Amazon Linux-Instanzen der SSM-Agent installiert. Die anderen benötigen eine manuelle Installation, die einfach und einmalig ist.

Sie verfügen über Dokumente, in denen wir vorhandene Dokumente erstellen oder verwenden und auf den von uns aufgeführten Maschinen ausführen können. Die aus diesen Befehlen generierte Ausgabe wird über die API-Antwort abgerufen.

Um diesen Dienst zu aktivieren, müssen Sie sicherstellen, dass für die der EC2-Instanz zugewiesene IAM-Rolle die SSM-Berechtigung aktiviert ist.

Hier sind einige Links für weitere Hilfe:

  1. https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html
  2. https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html

Um die Instanz-Metadaten abzurufen, können Sie diesen Befehl von der Instanz aus verwenden.

wget -q -O - http://169.254.169.254/latest/meta-data/instance-id