Direkt zum Inhalt

Wie behebe ich Fehler beim Systems Manager Run Command?

Lesedauer: 3 Minute
0

Wenn ich AWS Systems Manager Run Command verwende, um Befehle auf meiner verwalteten Amazon Elastic Compute Cloud (Amazon EC2)-Instance auszuführen, schlägt der Vorgang fehl.

Lösung

Voraussetzungen

Bevor du Run Command zur Verwaltung von EC2-Instances verwenden kannst, musst du eine AWS Identity and Access Management (IAM)-Benutzerrichtlinie konfigurieren. Die Benutzerrichtlinie ist für alle Benutzer erforderlich, die Befehle ausführen. Gehe wie folgt vor, um dein Setup zu überprüfen:

  1. Stelle sicher, dass eine IAM-Instance-Profilrolle für Systems Manager an deine EC2-Instances angehängt ist. Weitere Informationen findest du unter Instance-Berechtigungen für Systems Manager konfigurieren.
  2. Überprüfe die für die Rolle oder den Benutzer erstellte IAM-Richtlinie. Die Richtlinie muss Berechtigungen für ec2messages-API-Aufrufe enthalten, da der Endpunkt zum Senden und Empfangen von Befehlen benötigt wird.

Hinweis: Der Systems Manager verwaltet EC2-Instances automatisch ohne ein IAM-Instance-Profil, wenn du die Standard-Hostverwaltungskonfiguration konfigurierst. Alle zugehörigen EC2-Instances müssen Instance Metadata Service Version 2 (IMDSv2) verwenden. Die Standard-Host-Management-Konfiguration ist in AWS Systems Manager Agent (SSM)-Agent-Version 3.2.582.0 oder höher verfügbar. Richte Berechtigungen für ec2messages-API-Aufrufe in der Richtlinie ein, die der IAM-Rolle zugeordnet ist, da du einen Endpunkt zum Senden und Empfangen von Befehlen benötigst. Konfiguriere AWSSystemsManagerDefaultEC2InstanceManagementRole als Standard-IAM-Rolle. Diese Rolle enthält die Mindestanzahl an Berechtigungen, die für die Verwaltung von EC2-Instances mit Systems Manager erforderlich sind.

Problembehandlung bei Run Command-Fehlern

Im Systems Manager müssen unter Fleet Manager die EC2-Instances unter Verwaltete Knoten aufgeführt sein und der Ping-Status des SSM-Agents muss Online lauten. Wenn Run Command fehlschlägt, probiere die folgenden Optionen zur Problembehandlung aus:

Run Command-Statusdetails überprüfen

  1. Überprüfe die Run Command-Statusdetails.
  2. Öffne die Systems Manager-Konsole und wähle dann im Navigationsbereich Run Command aus.
  3. Wähle die mit einem Hyperlink versehene Command ID (Befehls-ID) aus, um die Seite Command status (Befehlsstatus) zu öffnen.
  4. Wähle im Abschnitt Targets and outputs (Ziele und Ausgaben) die mit einem Hyperlink versehene Instance ID (Instance-ID) aus, und überprüfe dann die Ausgabe.

Wenn die Ausgabe gekürzt ist, stelle über SSH eine Verbindung zur EC2-Instance her. Navigiere dann zu den folgenden Verzeichnissen, um die vollständigen Fehlerdetails einzusehen. Notiere dir die Beendigungsstatuscodes und finde 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 findest du in den Protokollen des SSM-Agenten.

Für Linux und macOS findest du 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 findest du 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 du zur Behebung des Fehlers benötigst, lass zu, dass die Debug-Protokollierung das Problem reproduziert.

Ähnliche Informationen

AWS-Systems-Manager-Dokumente

AWS Systems Manager einrichten