Warum startet meine AWS-OpsWorks-Stacks-Instance nicht und bleibt im Status „start_failed“ hängen?

Lesedauer: 6 Minute
0

Eine meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instances, die von AWS OpsWorks Stacks verwaltet wird, steckt im Status „start_failed“ fest. Warum wechselt meine OpsWorks-Stacks-Instance nicht in den Status „Online“ und wie behebe ich das Problem?

Kurzbeschreibung

Eine OpsWorks-Stacks-Instance kann aus verschiedenen Gründen in den Status start_failed wechseln und nicht während eines Setup-Lebenszyklusereignisses gestartet werden. Das Problem ist jedoch normalerweise auf ein Netzwerkproblem zurückzuführen.

Um das Problem zu beheben, überprüfen Sie zunächst, ob Ihre EC2-Instance eine Verbindung zum OpsWorks-Stacks-Service herstellen kann. Wenn keine Verbindung besteht, lesen Sie den Abschnitt Wenn Ihre EC2-Instance keine Verbindung zum OpsWorks-Stacks-Service herstellen kann in diesem Artikel. Wenn eine Verbindung besteht, lesen Sie den Abschnitt Wenn Ihre EC2-Instance eine Verbindung zum OpsWorks-Stacks-Service herstellen kann in diesem Artikel.

Hinweis: Für Instances, die im Status setup_failed stecken, siehe Warum startet meine AWS-OpsWorks-Stacks-Instance nicht und bleibt im Status „setup_failed“ hängen?

Auflösung

Prüfen Sie, ob Ihre EC2-Instance eine Verbindung zum OpsWorks-Stacks-Service herstellen kann.

1.    Melden Sie sich bei Ihrer Amazon-EC2-Instance an.

2.    Senden Sie eine Testanforderung an den zugehörigen OpsWorks-Endpunkt der Instance, indem Sie den folgenden netcat (nc)-Befehl mit der Linux-Befehlszeilenschnittstelle (CLI) ausführen:

Wichtig: Ersetzen Sie opsworks.us-east-1.amazonaws.com durch den OpsWorks-Stacks-Endpunkt, den Sie verwenden.

nc -vz opsworks.us-east-1.amazonaws.com 443

Wenn Ihre EC2-Instance eine Verbindung zum OpsWorks-Stacks-Service herstellen kann, sieht die Befehlsausgabe etwa wie folgt aus:

Ncat: Connected to <ipaddress>

Hinweis: Wenn netcat nicht auf Ihrer EC2-Instance installiert ist, installieren Sie das netcat-Paket manuell auf der Instance, indem Sie den folgenden Befehl ausführen:

sudo yum install -y nc

Wenn Ihre EC2-Instance keine Verbindung zum OpsWorks-Stacks-Service herstellen kann

Wenn ein NAT-Gateway Internetzugriff auf Ihre EC2-Instance bietet

Befolgen Sie die Anweisungen unter Warum können meine EC2-Instances nicht mit einem NAT-Gateway auf das Internet zugreifen?

Wenn ein Internet-Gateway Internetzugriff auf Ihre EC2-Instance bietet

Befolgen Sie die Anweisungen unter Warum kann meine EC2-Instance nicht über ein Internet-Gateway eine Verbindung zum Internet herstellen?

Wenn eine NAT-Instance Internetzugriff auf Ihre EC2-Instance bereitstellt

Öffnen Sie die EC2-Konsole und überprüfen Sie Folgendes:

  • Die NAT-Instance befindet sich im Status wird ausgeführt.
    Hinweis: Wenn sich die NAT-Instance nicht im Status Wird ausgeführt befindet, ändern Sie den Status in wird ausgeführt.
  • Die NAT-Instance besteht Zustandsprüfungen.
    Hinweis: Wenn die NAT-Instance keine Integritätsprüfungen besteht, gehen Sie wie folgt vor: Erstellen Sie eine neue NAT-Instance. Ordnen Sie dann die neue NAT-Instance in der Routing-Tabelle der NAT-Instance Ihrer EC2-Instance zu.
  • Die EC2-Instance befindet sich in einer standardmäßigen Amazon Virtual Private Cloud (Amazon VPC).
    Hinweis: Eine von OpsWorks Stacks verwaltete EC2-Instance wechselt immer in den Status start_failed, wenn sie außerhalb einer standardmäßigen Amazon VPC gestartet wird.

Weitere Informationen finden Sie unter Statusprüfungen anzeigen.

Wenn ein VPC-Endpunkt Internetzugriff auf Ihre EC2-Instance bietet

  • Gehen Sie wie folgt vor, um sicherzustellen, dass Ihre VPC-Endpunkte korrekt und innerhalb der von Ihnen verwendeten Amazon VPC erreichbar sind:
    Öffnen Sie die Amazon-VPC-Konsole.
    Wählen Sie im Navigationsbereich unter Virtual Private Cloud Endpunkte aus.
    Überprüfen Sie anschließend Ihre mit Ihrer EC2-Instance verknüpften VPC-Endpunkte, um sicherzustellen, dass sie korrekt und erreichbar sind.
  • Stellen Sie sicher, dass Ihre VPC-Endpunkte die erforderlichen Aktionen von Amazon Simple Storage Service (Amazon S3) ausführen können.

Wenn Ihre EC2-Instance eine Verbindung zum OpsWorks-Stacks-Service herstellen kann

Prüfen Sie die IAM-Berechtigungen der EC2-Instance

Stellen Sie sicher, dass eine AWS Identity and Access Management (IAM)-Rolle für das Instance-Profil vorhanden ist und alle erforderlichen Berechtigungen enthält.

Wenn es keine IAM-Rolle für das Instance-Profil gibt, gehen Sie wie folgt vor:

1.    Stoppen Sie die Instance.

2.    Trennen Sie die Instance-Profilrolle wie folgt von der EC2-Instance:
Wählen Sie in der EC2-Konsole Instances aus. Wählen Sie dann Ihre EC2-Instance aus.
Wählen Sie die Registerkarte Aktionen, wählen Sie Sicherheit und dann IAM-Rolle ändern aus.
Wählen Sie Keine IAM-Rolle. Wählen Sie dann Speichern.

3.    Ersetzen Sie das Instance-Profil mithilfe der vorhandenen EC2-Instance.
-oder-
Ersetzen Sie die EC2-Instance in OpsWorks Stacks.

Hinweis: Weitere Informationen zum Ersetzen einer EC2-Instance in OpsWorks Stacks finden Sie unter Hinzufügen einer Instance zu einer Ebene.

Stellen Sie für EC2-Instances, die vom Amazon Elastic Block Store (Amazon EBS) unterstützt werden, sicher, dass der Root-Geräte-Datenträger der Instance nicht voll ist

Eine Anleitung finden Sie entweder unter Anzeigen von freiem Festplattenspeicher für Linux oder Anzeigen von freiem Festplattenspeicher für Windows.

Stellen Sie sicher, dass die EC2-Instance IMDSv1 verwendet

Um zu überprüfen, welchen Metadatenservice Ihre Instance verwendet und um die Instance bei Bedarf neu zu konfigurieren, lesen Sie Konfigurieren der Instance-Metadatenoptionen.

Hinweis: OpsWorks Stacks unterstützt nur Instance-Metadatenservice Version 1 (IMDSv1), nicht IMDSv2.

Stellen Sie für EC2-Instances, die von einem benutzerdefinierten AMI unterstützt werden, sicher, dass das AMI richtig konfiguriert ist

Weitere Informationen finden Sie unter Erstellen eines benutzerdefinierten Linux-Amazon-Machine-Image (AMI) aus einer AWS-OpsWorks-Stacks-Instance.

Stellen Sie sicher, dass der auf der EC2-Instance installierte OpsWorks-Stacks-Agent ausgeführt wird

1.    Melden Sie sich bei Ihrer Amazon-EC2-Instance an.

2.    Stellen Sie sicher, dass der auf Ihrer EC2-Instance installierte OpsWorks-Stacks-Agent ausgeführt wird, indem Sie den folgenden Befehl auf der Linux-CLI ausführen:

sudo service opsworks-agent status

Wenn der OpsWorks-Stacks-Agent ausgeführt wird, sieht die Befehlsausgabe etwa wie folgt aus:

Active: active (running)

Wenn der OpsWorks-Stacks-Agent nicht ausgeführt wird, sieht die Befehlsausgabe etwa wie folgt aus:

Active: inactive (dead)

Wenn der OpsWorks-Stacks-Agent nicht ausgeführt wird, starten Sie den Agenten, indem Sie den folgenden Befehl ausführen:

sudo service opsworks-agent start

Überprüfen Sie die CloudTrail-Protokolle Ihrer EC2-Instance auf „Client.unauthorizedOperation“-Fehler

Überprüfen Sie die in AWS CloudTrail protokollierten API-Aufrufe Ihrer OpsWorks-Stacks-Instance. Suchen Sie nach EC2-RunInstances-Ereignissen, die die folgende Fehlermeldung zurückgegeben haben: Client.UnAuthorizedOperation.

Wenn die Fehlermeldung im CloudTrail Ihrer Instance angezeigt wird, lesen Sie den folgenden Artikel: Wie behebe ich die Meldung eines Fehlers bei der verschlüsselten Autorisierung, wenn ich versuche, eine Amazon-EC2-Instance mithilfe von AWS Backup wiederherzustellen?

Wenn Ihre EC2-Instance mehr als einer Ebene zugewiesen ist, stellen Sie sicher, dass jede Ebene über dieselben Netzwerkeinstellungen verfügt.

Weitere Informationen finden Sie unter Hinzufügen einer Instance zu einer Ebene.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren