Boto Execute shell command auf der ec2-Instanz
Ich bin Neuling auf EC2 und boto. Ich habe eine EC2-instance ausführen, und ich möchte ausführen eines shell-Kommandos, wie z.B. apt-get update
durch boto.
Ich suchte viel und fand eine Lösung mit user_data
im run_instances Befehl, aber was ist, wenn die Instanz bereits gestartet?
Ich weiß gar nicht, ob es möglich ist. Keine Ahnung, in dieser Referenz wird eine große Hilfe sein.
- Danke Steffen für die Bearbeitung. Erinnern sich an die Korrekturen.
- Verwandte: Wie SSH und ausführen von Befehlen, die in EC2 mit boto3?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der boto.verwalten.cmdshell Modul kann verwendet werden, um dies zu tun. Um es zu verwenden, müssen Sie die paramiko-Paket installiert. Ein einfaches Beispiel für die Benutzung:
Wurde eingegeben vom Speicher, aber ich denke, es ist richtig.
Kannst du auch aus Stoff ( http://docs.fabfile.org/ ), die eine ähnliche Funktionalität hat aber auch viel mehr anspruchsvolle features und Funktionen.
cmdshell
zu installieren, müssen Sie paramiko. Es ist nicht aufgeführt, da Sie eine Abhängigkeit in boto, weil es kann schwierig sein zu installieren auf einigen Plattformen undcmdshell
ist nicht der Kern zu boto Funktionalität.ssh_client.run('ls -al')
zu beenden, bevor die nächste Instanz den Befehl ausgeführt?Ich denke, Sie können verwenden Sie Stoff für Ihre Anforderungen. Prüfen Sie einfach die Stoff-wrapper einmal . Sie können den Befehl ausführen auf dem remote-server-shell durch Gewebe-Bibliothek.
Es ist sehr einfach zu bedienen und Sie zu integrieren, können beide boto und Stoff . Gemeinsam arbeiten Sie genial.
Plus der gleiche Befehl kann ausgeführt werden, um n die Anzahl der Knoten. Die ich glauben konnte, der Ihre Anforderungen
Nur check it out.
Ja, können Sie dies mit der AWS-Systems manager. AWS-Systems-Manager den Befehl Ausführen ermöglicht Ihnen die Fernsteuerung und sicher ausgeführt werden Befehle, die auf EC2 als auch on-premise-server. Unten sind high-level-Schritte, dies zu erreichen.
Befestigen Instanz IAM-Rolle:
Die ec2-Instanz muss über IAM-Rolle mit Politik AmazonSSMFullAccess. Mit dieser Rolle können Sie die Instanz für die Kommunikation mit dem Anlagen-Manager-API.
Installieren SSM-Agent:
Die EC2-Instanz muss über SSM-agent installiert ist. Der SSM-Agent-Prozess den Befehl "ausführen" Anforderungen & konfigurieren Sie die Instanz als pro Befehl.
Befehl ausführen :
Beispiel zur Nutzung über AWS CLI:
Führen Sie den folgenden Befehl zum abrufen der Dienste, die auf die Instanz. Ersetzen Sie die Instanz-ID mit ec2-instance-id.
Nähere Informationen: https://www.justdocloud.com/2018/04/01/run-commands-remotely-ec2-instances/