New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Warum zeigt Systems Manager meine Amazon EC2-Instance nicht als verwaltete Instance an?
Ich habe eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance, aber sie wird nicht als verwaltete Instance in AWS Systems Manager angezeigt.
Kurzbeschreibung
Um festzustellen, warum AWS Systems Manager deine Instance nicht als verwaltet anzeigt, kannst du das Runbook AWSSupport-TroubleshootManagedInstance verwenden. Weitere Informationen findest du unter Ausführen einer automatisierten Operation, die von Systems Manager Automation unterstützt wird und Einrichten der Automatisierung.
Du kannst auch manuell Fehler in deiner Amazon EC2-Instance beheben.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Das Systems Manager-Automatisierungs-Runbook ausführen
Voraussetzungen: Installiere den AWS Systems Manager Agent (SSM Agent) und führe ihn auf der Instance aus. Bevor du die Automatisierung ausführst, stelle sicher, dass dein AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Benutzer oder deine IAM-Rolle über die erforderlichen Berechtigungen verfügt. Weitere Informationen findest du im Abschnitt Erforderliche IAM-Berechtigungen auf AWSSupport-TroubleshootManagedInstance.
Gehe wie folgt vor, um das Runbook auszuführen:
- Öffne die Systems Manager-Konsole.
- Wähle im Navigationsbereich Dokumente aus.
- Gib in der Suchleiste AWSSupport-TroubleshootManagedInstance ein (Eigentümer: Amazon).
- Wähle das Dokument AWSSupport-TroubleshootManagedInstance aus.
- Wähle Automatisierung ausführen aus.
- Gib für die Eingabeparameter die folgenden Informationen ein:
Gib als InstanceId die ID der betroffenen Instance ein. Du kannst die Instance-ID manuell eingeben oder die interaktive Instance-Auswahl verwenden. Wenn du die Instance-Auswahl verwendest, ändere den Filter von Show managed instance only (Nur verwaltete Instance anzeigen) in Show all instances (Alle Instances anzeigen).
(Optional) Gib für die AutomationAssumeRole den ARN der IAM-Rolle ein, die es der Systems Manager Automation ermöglicht, Aktionen in deinem Namen auszuführen. Wenn du keine IAM-Rolle angibst, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der das Dokument ausführt. - Wähle Ausführen.
Nach Abschluss der Automatisierung findest du im Abschnitt Ausgaben die folgenden detaillierten Ergebnisse:
- Der Abschnitt InstanceisOnline.output zeigt, ob Systems Manager die Instance verwaltet.
- Der Abschnitt FinalOutput.output zeigt, ob eine Prüfung erfolgreich war oder nicht, und enthält Informationen zur Behebung eines Fehlers.
Manuelles Beheben von Fehlern in der Amazon EC2-Instance
Wichtig: Wähle während der Schritte zur Fehlerbehebung die AWS-Region aus, in der sich deine Instance befindet.
Sicherstellen, dass SSM Agent auf der Instance installiert ist und ausgeführt wird
Nachdem du dich vergewissert hast, dass dein Betriebssystem (OS) Systems Manager unterstützt, stelle sicher, dass SSM Agent auf der Instance installiert ist und ausgeführt wird.
SSM Agent ist auf einigen Linux-, macOS- und Windows-Amazon Machine Images (AMIs) vorinstalliert.
Informationen zur manuellen Installation von SSM Agent, wenn der Agent nicht vorinstalliert ist, findest du in der folgenden AWS-Dokumentation:
- Manuelles Installieren und Deinstallieren von SSM Agent auf EC2-Instances für Linux
- Manuelles Installieren und Deinstallieren von SSM Agent auf EC2-Instances für macOS
- Manuelles Installieren und Deinstallieren von SSM Agent auf EC2-Instances für Windows Server
Um zu überprüfen, ob SSM Agent ausgeführt wird, führe den für das Betriebssystem spezifischen Befehl aus, um den Agent-Status zu überprüfen.
Nachdem du dich vergewissert hast, dass SSM Agent ausgeführt wird, führe den Befehl ssm-cli aus, um das Problem mit der Verfügbarkeit verwalteter Instances zu beheben.
Überprüfen der Konnektivität zu Systems Manager-Endpunkten auf Port 443
Die Überprüfung der Konnektivität zu Systems Manager-Endpunkten auf Port 443 ist spezifisch für das Betriebssystem und die Subnetzeinstellungen. Eine Liste der Systems Manager-Endpunkte nach Regionen findest du unter Service-Endpunkte.
Hinweis: In den folgenden Beispielen ist der ssmmessages-Endpunkt für Session Manager erforderlich, eine Funktion von AWS Systems Manager.
EC2 Linux-Instances
Verwende entweder Telnet- oder Netcat-Befehle, um die Konnektivität zu Endpunkten auf Port 443 für EC2-Linux-Instances zu überprüfen. Netcat ist auf EC2-Instances nicht vorinstalliert. Informationen zur manuellen Installation von Netcat findest du unter Ncat auf der Nmap-Website.
Hinweis: Ersetze in den folgenden Befehlen RegionID durch die Region-ID deiner Instance.
Telnet-Befehle:
telnet ssm.RegionID.amazonaws.com 443 telnet ec2messages.RegionID.amazonaws.com 443 telnet ssmmessages.RegionID.amazonaws.com 443
Beispiel für eine Telnet-Verbindung:
root@111800186:~# telnet ssm.us-east-1.amazonaws.com 443 Trying 52.46.141.158... Connected to ssm.us-east-1.amazonaws.com. Escape character is '^]'.
Um Telnet zu verlassen, drücke die Tasten Strg und ]. Gib quit (verlassen) ein, und drücke dann die Eingabetaste.
Netcat-Befehle:
nc -vz ssm.RegionID.amazonaws.com 443 nc -vz ec2messages.RegionID.amazonaws.com 443 nc -vz ssmmessages.RegionID.amazonaws.com 443
EC2-Windows-Instances
Führe die folgenden Windows PowerShell-Befehle aus, um die Konnektivität zu Endpunkten auf Port 443 für EC2-Windows-Instances zu überprüfen:
`Test-NetConnection ssm.RegionID.amazonaws.com -port 443 Test-N`etConnection ec2messages.RegionID.amazonaws.com -port 443 Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443
Öffentliche Subnetze
Systems Manager-Endpunkte sind öffentlich. Um Verbindungsprobleme mit Instances in einem öffentlichen Subnetz zu lösen, muss die Routing-Tabelle der Instance den Internet-Datenverkehr an ein Internet-Gateway weiterleiten. Außerdem müssen deine Amazon Virtual Private Cloud (Amazon VPC)-Sicherheitsgruppen und Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs) ausgehende Verbindungen auf Port 443 zulassen.
Private Subnetze
Verwende private IP-Adressen, um privat auf Amazon EC2- und Systems Manager-APIs zuzugreifen. Um Verbindungsprobleme mit einer Instance in einem privaten Subnetz zu lösen, muss die Routing-Tabelle der Instance den Internet-Datenverkehr an ein NAT-Gateway weiterleiten. Oder du musst den VPC-Endpunkt so konfigurieren, dass er Systems Manager-Endpunkte erreicht.
Weitere Informationen findest du unter Wie erstelle ich VPC-Endpunkte, sodass ich den Systems Manager verwenden kann, um private EC2-Instances ohne Internetzugang zu verwalten?
Hinweis: Jeder Schnittstellenendpunkt erstellt eine elastische Netzwerkschnittstelle im bereitgestellten Subnetz.
Überprüfe als bewährte Sicherheitsmethode für private Subnetze die folgenden Einstellungen:
- Die Sicherheitsgruppe, die an die Netzwerkschnittstelle des VPC-Endpunkts angefügt ist, ermöglicht eingehenden Datenverkehr über TCP-Port 443 von der Sicherheitsgruppe, die an deine Instance angefügt ist.
- Die an die Instance angefügte Sicherheitsgruppe ermöglicht ausgehenden Datenverkehr über TCP-Port 443 an die private IP-Adresse für die Netzwerkschnittstelle des VPC-Endpunkts.
Das Setup für die Standard-Host-Management-Konfiguration überprüfen
**Hinweis:**Wenn du die Standard-Host-Management-Konfiguration nicht aktiviert hast, fahre mit dem Abschnitt Sich vergewissern, dass die richtige IAM-Rolle an die Instance angefügt ist fort.
Wenn die von der Standard-Host-Management-Konfiguration erstellte IAM-Rolle nicht über ausreichende Berechtigungen für deinen Anwendungsfall verfügt, kannst du Richtlinien hinzufügen.
Alle zugehörigen Instances müssen Instance Metadata Service Version 2 (IMDSv2) verwenden. Um die IMDSv2-Konfiguration zu überprüfen, verwende die Amazon CloudWatch-Metrik MetadataNoToken, um zu ermitteln, wenn keine IMDSv1-Nutzung erfolgt. Prüfe dann, ob die Instances auf IMDSv2 umgestellt wurden.
Die Standard-Host-Management-Konfiguration ist in SSM Agent Version 3.2.582.0 oder höher verfügbar. Informationen zur Überprüfung der SSM-Agent-Version findest du unter Überprüfen der SSM-Agent-Versionsnummer.
Verwende entweder die Systems Manager-Konsole oder die AWS CLI, um das Setup für die Standard-Host-Management-Konfiguration zu überprüfen.
Systems Manager-Konsole
Führe die folgenden Schritte aus:
- Öffne die Systems Manager-Konsole.
- Wähle im Navigationsbereich Flottenmanager aus.
- Wähle im Dropdown-MenüKontoverwaltung die Option Standard-Host-Management-Konfiguration aus.
- Vergewissere dich, dass die Einstellung Standard-Host-Management-Konfiguration aktivieren aktiviert ist.
AWS CLI
Führe den AWS-CLI-Befehl get-service-setting aus, um das Setup für die Standard-Host-Management-Konfiguration zu überprüfen:
aws ssm get-service-setting \ --setting-id arn:aws:ssm:RegionID:AccountID:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
Hinweis: Ersetze AccountID durch die AWS-Konto-ID.
Nachdem du die Standard-Host-Management-Konfiguration aktiviert hast, erhältst du eine Ausgabe, die der folgenden ähnelt:
{ "ServiceSetting": { "SettingId": "/ssm/managed-instance/default-ec2-instance-management-role", "SettingValue": "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "LastModifiedDate": 1679492424.738, "LastModifiedUser": "arn:aws:sts::012345678910:assumed-role/role/role-name", "ARN": "arn:aws:ssm:ap-southeast-1:012345678910:servicesetting/ssm/managed-instance/default-ec2-instance-management-role", "Status": "Customized" } }
Hinweis: Wenn der Wert für SettingValue $None ist, ist die Standard-Hostverwaltungskonfiguration nicht konfiguriert.
Sicherstellen, dass die Standard-Host-Management-Konfiguration eine entsprechende IAM-Rolle verwendet
Es hat sich bewährt, AWSSystemsManagerDefaultEC2InstanceManagementRole-IAM zu verwenden, wenn du die Standard-Host-Management-Konfiguration einrichtest. Um eine andere Rolle zu verwenden, stelle sicher, dass du die IAM-Richtlinie AmazonSSMManagedEC2InstanceDefaultPolicy an die Rolle anfügst.
Wenn du Instance-Profile an deine Instances angefügt hast, entferne alle Berechtigungen, die die Operation ssm:UpdateInstanceInformation zulassen. SSM Agent versucht, Instance-Profilberechtigungen zu verwenden, bevor er die Berechtigungen der Standard-Host-Management-Konfiguration verwendet. Wenn du die Operation ssm:UpdateInstanceInformation in den Instance-Profilen zulässt, verwendet die Instance nicht die Berechtigungen der Standard-Host-Management-Konfiguration.
Sicherstellen, dass die richtige IAM-Rolle an die Instance angefügt ist
Hinweis: Wenn du die Standard-Host-Management-Konfiguration aktiviert hast, fahre mit dem Abschnitt Konnektivität zum IMDS überprüfen fort.
Um API-Aufrufe an einen Systems Manager-Endpunkt zu tätigen, musst du die AmazonSSMManagedInstanceCore-Richtlinie an die IAM-Rolle anfügen, die deiner Instance zugeordnet ist. Wenn du eine benutzerdefinierte IAM-Richtlinie verwendest, stelle sicher, dass die benutzerdefinierte Richtlinie die Berechtigungen in AmazonSSMManagedInstanceCore verwendet. Stelle außerdem sicher, dass die Vertrauensrichtlinie für die IAM-Rolle ec2.amazonaws.com erlaubt, diese Rolle zu übernehmen. Weitere Informationen findest du unter Alternative Konfiguration für EC2-Instance-Berechtigungen.
Überprüfung der Konnektivität zu IMDS
SSM Agent muss mit IMDS kommunizieren, um Informationen über die Instance zu erhalten. Führe den folgenden Netcat-Befehl aus, um die Verbindung zu testen:
nc -vz 169.254.169.254 80
Verwende entweder die Amazon EC2-Konsole oder die AWS CLI, um zu überprüfen, ob IMDS für die bestehende Instance eingerichtet ist.
Amazon-EC2-Konsole
Führe die folgenden Schritte aus:
- Öffne die Amazon-EC2-Konsole.
- Wähle im Navigationsbereich Instances und dann deine Instance aus.
- Wähle Aktionen und dann Instance-Einstellungen aus.
- Wähle Instance-Metadatenoptionen ändern aus.
- Stelle im Dialogfeld sicher, dass der Instance-Metadatenservice Aktiviert ist.
AWS CLI
Führe den AWS CLI-Befehl describe-instances aus, um zu überprüfen, ob IMDS für die bestehende Instance eingerichtet ist:
aws ec2 describe-instances --query "Reservations[*].Instances[*].MetadataOptions" --instance-ids i-012345678910
Beispielausgabe:
[ [ { "State": "applied", "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "disabled" } ] ]
Hinweis: Wenn in der Ausgabe "HttpTokens": "optional" angezeigt wird, werden sowohl IMDSv1 als auch IMDSv2 unterstützt. Wenn in der Ausgabe "HttpTokens": "required" angezeigt wird, wird nur IMDSv2 unterstützt. Wenn in der Ausgabe "HttpEndpoint": "enabled" angezeigt wird, ist IMDS aktiviert.
Wenn du auf der Instance einen Proxy verwendest, blockiert der Proxy möglicherweise die Konnektivität zur Metadaten-URL. Um die Blockierung zu verhindern, konfiguriere SSM Agent so, dass er mit einem Proxy arbeitet, und stelle no_proxy für die Metadaten-URL ein.
Informationen zur Konfiguration von SSM Agent für die Verwendung eines Proxys findest du in der folgenden AWS-Dokumentation:
- SSM Agent für die Verwendung eines Proxys auf Linux-Knoten konfigurieren
- SSM Agent so konfigurieren, dass er einen Proxy für Windows Server-Instance verwendet
Zusätzliche Problembehandlung
Wenn die Instance immer noch nicht als verwalteter Knoten angezeigt wird oder eine unterbrochene Verbindung im Systems Manager angezeigt wird, überprüfe die SSM-Agent-Protokolle, um mit der Problembehandlung fortzufahren. Für Linux und macOS befinden sich die Protokolle in /var/log/amazon/ssm. Für Windows befinden sich die Protokolle in %PROGRAMDATA%\Amazon\SSM\Logs.
Wenn die Instance nicht an SSM Agent berichtet, verwende das Remote Desktop Protocol (RDP) für Windows oder SSH für Linux, um die Protokolle zu sammeln. Wenn du die Protokolle nicht sammeln kannst, beende die Instance und trenne das Stamm-Volume. Füge dann das Stamm-Volume als sekundäres Volume an eine andere Instance in derselben Availability Zone an, um die Protokolle abzurufen.
Ähnliche Informationen
Referenz zum Systems Manager Automation-Runbook
Ein Amazon Elastic Block Store (Amazon EBS)-Volume an eine Amazon EC2-Instance anfügen
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 5 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren