Wie behebe ich Timeout-Probleme beim System Manager Run Command?

Lesedauer: 3 Minute
0

Ich habe den AWS System Manager Run Command verwendet, um ein SSM-Dokument in meiner verwalteten Amazon Elastic Compute Cloud (Amazon EC2)-Instance auszuführen. Der Vorgang ist jedoch mit einem Timeout-Fehler fehlgeschlagen.

Kurzbeschreibung

Zu den Run Command-Statusdetails für das Timeout gehören die folgenden:

  • Ausführungs-Timeout: Die Zeit in Sekunden zum Abschluss eines Befehls, bevor er als fehlgeschlagen betrachtet wird. Die Standardeinstellung ist 3 600 (1 Stunde). Der Höchstwert ist 172 800 (48 Stunden).
  • Übermittlungs-Timeout: Der Befehl wurde nicht vor Ablauf des Gesamt-Timeouts an den verwalteten Knoten übermittelt.
  • Gesamt-Timeout: Der Wert des Übermittlungs-Timeouts plus Ausführungs-Timeout. Wenn das SSM-Dokument das Ausführungs-Timeout nicht vorschreibt, entspricht das Gesamt-Timeout dem Übermittlungs-Timeout plus dem Standard-Ausführungs-Timeout.

Weitere Informationen finden Sie unter Grundlegendes zu Befehlsstatus.

Lösung

Run Command-Statusdetails überprüfen

  1. Öffnen Sie die Systems-Manager-Konsole.
  2. Wählen Sie im Navigationsbereich die Option Run Command (Befehl ausführen) aus.
  3. Wählen Sie die mit einem Hyperlink versehende Command ID (Befehls-ID) aus, um die Seite Command status (Befehlsstatus) zu öffnen.
  4. Wählen Sie im Abschnitt Targets and outputs (Ziele und Ausgaben) die mit einem Hyperlink versehene Instance ID (Instance-ID) aus, und überprüfen Sie dann die Ausgabe.

Wenn die Ausgabe gekürzt ist, stellen Sie über SSH eine Verbindung zur EC2-Instance her. Navigieren Sie dann zu den folgenden Verzeichnissen, um die vollständigen Fehlerdetails einzusehen. Notieren Sie sich die Beendigungsstatuscodes und finden Sie dann unter Fehlerbehebung von Systems Manager Run Command weitere Schritte zur Problembehandlung.

Für Linux und macOS:

/var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stdout
/var/lib/amazon/ssm/<instance-id>/document/orchestration/<command-id>/<Plugin-name>/<Step-name>/stderr

Für Windows:

%ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stdout
%ProgramData%\Amazon\SSM\InstanceData\<ManagedInstance-ID>\document\orchestration\<Command-ID>\<plug-in>\<step_number.plug-in>\stderr

Protokolle des SSM-Agenten überprüfen

Weitere Informationen zu dem Fehler finden Sie in den Protokollen des SSM-Agenten.

Für Linux und macOS finden Sie die Protokolle in den folgenden Verzeichnissen:

/var/log/amazon/ssm/amazon-ssm-agent.log
/var/log/amazon/ssm/errors.log
/var/log/amazon/ssm/audits/amazon-ssm-agent-audit-JJJJ-MM-TT

Für Windows finden Sie die Protokolle in den folgenden Verzeichnissen:

%PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log
%PROGRAMDATA%\Amazon\SSM\Logs\errors.log
%PROGRAMDATA%\Amazon\SSM\Logs\audits\amazon-ssm-agent-audit-JJJJ-MM-TT

Wenn die SSM-Agent-Protokolle nicht die Informationen enthalten, die Sie zur Behebung des Fehlers benötigen, lassen Sie zu, dass die Debug-Protokollierung das Problem reproduziert.

Probleme mit dem Timeout beheben

  • Stellen Sie sicher, dass die Gesamtzeit bis zur Fertigstellung des SSM-Dokuments mit Run Command unter der timeoutSeconds-Eigenschaft liegt. Vergewissern Sie sich, dass die für die Ausführung benötigte Gesamtzeit unter dem timeoutSeconds-Parameter liegt. Der Standardwert der timeoutSeconds-Eigenschaft ist 3 600 Sekunden (1 Stunde). Weitere Informationen zur Angabe des Werts der timeoutSeconds-Eigenschaft finden Sie unter Behandeln von Timeouts in Runbooks.
  • Die EC2-Instance muss als verwalteter Knoten angezeigt werden und der Ping-Status des SSM-Agenten muss Online lauten. Wenn Ihre EC2-Instance nicht als verwalteter Knoten angezeigt wird oder der Ping-Status des SSM-Agenten nicht Online lautet, ist eine zusätzliche Fehlerbehebung erforderlich. Weitere Informationen finden Sie unter Warum wird meine EC2-Instance nicht als verwalteter Knoten angezeigt oder warum erscheint in Systems Manager der Status „Verbindung verloren“?
  • Wenn Ihr Run Command Skripts ausführt, die verwaltete Knoten neu starten, kann die Verbindung zum Knoten unterbrochen werden, was zu Timeout-Problemen führt. Stellen Sie sicher, dass Sie die richtigen Beendigungscodes verwenden. Weitere Informationen finden Sie unter Umgang mit Neustarts beim Ausführen von Befehlen.
  • Wenn Ihre SSM-Agent-Version 2.0.913 oder höher ist, beträgt der maximale Ausführungs-Timeout-Wert 172 800 Sekunden (48 Stunden). Stellen Sie sicher, dass die Instance die neueste Version von SSM-Agent verwendet.
  • Wenn der Maintenance Window Manager oder State Manager den Befehl ausführt, vergewissern Sie sich, dass der Befehl ausgeführt wird. Verwenden Sie zur Bestätigung AWS CloudTrail, um die SendCommand-Antwort zu überprüfen.

Ähnliche Informationen

AWS-Systems-Manager-Dokumente

AWS Systems Manager einrichten

Wie behebe ich Fehler beim Systems Manager Run Command?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten