Warum hat Amazon EC2 Auto Scaling eine Instance beendet?

Lesedauer: 7 Minute
0

Meine Amazon Elastic Compute Cloud (Amazon EC2) Auto-Scaling-Gruppe hat eine Instance beendet. Ich sehe jedoch keinen Grund für die Beendigung in der Amazon EC2-Konsole.

Kurzbeschreibung

Amazon EC2 Auto Scaling stützt sich auf Amazon EC2- oder Elastic Load Balancing (ELB)-Zustandsprüfungen, um den Zustand einer Instance zu ermitteln. Alle Skalierungsaktionen einer Auto-Scaling-Gruppe, einschließlich Zustandsprüfungs-Wechseln, sind in der Ansicht Aktivitätsverlauf der Amazon EC2-Konsole sichtbar.

Behebung

Verwenden Sie die Beschreibung der Instance in der Ansicht „Aktivitätsverlauf“, um Ihre Schritte zur Fehlerbehebung zu ermitteln.

Bevor Sie fortfahren, suchen Sie nach der Beschreibung und dem Grund für die Beendigung der Instance:

  1. Öffnen Sie die Amazon EC2-Konsole.
  2. Wählen Sie im Navigationsbereich unter Auto Scaling die Option Auto-Scaling-Gruppen aus. Wählen Sie dann die Gruppe Ihrer Instance aus.
  3. Wählen Sie die Ansicht Aktivität und suchen Sie dann im Aktivitätsverlauf.nach dem Ereignis zur Kündigung der Instance.
  4. Notieren Sie sich die Beschreibung und die Ursache für das Ereignis zur Beendigung der Instance.

Informationen zur Behebung des Grundes für die Kündigung Ihrer Instance finden Sie in den folgenden Beschreibungsbeispielen.

„Eine Instance wurde als Reaktion auf eine EC2-Zustandsprüfung außer Betrieb genommen, die besagt, dass sie beendet oder gestoppt wurde“

Amazon EC2 Auto Scaling beendet gestoppte und neu gestartete Instances. Überprüfen Sie den AWS CloudTrail-Verlauf, um festzustellen, ob ein Benutzer die Instance manuell beendet oder neu gestartet hat:

  1. Öffnen Sie die AWS CloudTrail-Konsole.
  2. Wählen Sie im Navigationsbereich die Option Aktivitätsverlauf aus.
  3. Suchen Sie im Verlauf nach API-Aufrufen von TerminateInstances, StopInstances oder RebootInstances.

„Eine Instance wurde als Reaktion auf eine fehlgeschlagene EC2-Instance-Statusprüfung außer Betrieb genommen“

Finden Sie Fehler bei der Instance- oder Systemprüfung mithilfe von Amazon CloudWatch-Metriken:

  1. Öffnen Sie die Amazon-CloudWatch-Konsole.
  2. Wählen Sie im Navigationsbereich Metriken und anschließend die Ansicht Alle Metriken aus.
  3. Wählen Sie im Metriken-Bereich EC2 und anschließend Metriken je Instance aus.
  4. Geben Sie die Instance-ID ein und wählen Sie dann StatusCheckFailed_Instance, StatusCheckFailed_System, oder StatusCheckFailed aus um Metrikdiagramme anzuzeigen.

„Eine Instance wurde als Reaktion auf einen Fehler bei der ELB-System-Zustandsprüfung außer Betrieb genommen“

Wenn Sie Elastic Load Balancing-Zustandsprüfungen für Ihre Auto Scaling-Gruppe aktiviert haben, führt Amazon EC2 Auto Scaling sowohl Elastic Load Balancing- als auch EC2-Zustandsprüfungen durch. Anschließend beendet der Dienst Instances, die eine der beiden Zustandsprüfungen nicht bestehen. Stellen Sie sicher, dass in Ihrer Auto Scaling-Gruppe Elastic Load Balancing-Zustandsprüfungen aktiviert sind:

  1. Öffnen Sie die Amazon EC2-Konsole.
  2. Wählen Sie im Navigationsbereich unter Auto Scaling die Option Auto-Scaling-Gruppen und dann die Gruppe der Instance aus.
  3. Wählen Sie die Detailansicht aus und notieren Sie sich dann den Typ der Zustandsprüfung.
  4. Wenn der Integritätsprüfungstyp „EC2, ELB“ ist, hat die Auto-Scaling-Gruppe Elastic Load Balancing-Zustandsprüfungen aktiviert.

Weitere Informationen finden Sie unter Eine Instance wurde als Reaktion auf einen Fehler bei der ELB-System-Zustandsprüfung außer Betrieb genommen.

In einigen Fällen hat eine Auto-Scaling-Gruppe mehrere zugeordnete Zielgruppen oder Load Balancer. In diesem Fall müssen alle Zielgruppen und Load Balancer eine Instance als fehlerfrei melden, damit Amazon EC2 Auto Scaling sie als fehlerfrei einstuft.

  1. Wählen Sie im Navigationsbereich unter Auto Scaling die Option Auto-Scaling-Gruppen aus.
  2. Wählen Sie die Gruppe der Instance und dann die Detailansicht aus.
  3. Beachten Sie, ob unter Load Balancers oder Zielgruppe mehr als ein Load Balancer angefügt ist.
  4. Wählen Sie die Zielgruppe oder den Load Balancer aus.
  5. Wählen Sie im Navigationsbereich unter Load Balancing Target Groups aus, wählen Sie Ihre Zielgruppe aus und wählen Sie dann Monitoring aus.
  6. Anhand der Metrikdiagramme Gesunde Hosts“ und „Unhealthy Hosts“ können Sie überprüfen, ob eine Instance die Integritätsprüfungen nicht bestanden hat.

Überprüfen Sie den CloudTrail-Verlauf, um festzustellen, ob ein unterbrochener Prozess die Beendigung einer fehlerhaften Instance verzögert hat, bis der Prozess wieder aufgenommen wurde:

  1. Öffnen Sie die AWS CloudTrail-Konsole.
  2. Wählen Sie im Navigationsbereich die Option Aktivitätsverlauf aus.
  3. Überprüfen Sie den Verlauf der API-Aufrufe SuspendProcesses und ResumeProcesses.

„Eine Instance wurde als Reaktion auf eine Benachrichtigung über eine Unterbrechung der EC2-Spot-Instance außer Betrieb genommen.“

Amazon EC2 Auto Scaling beendet Spot Instances, wenn einer der folgenden Fälle eintritt:

  • Kapazität nicht mehr verfügbar
  • Der Spot-Preis übersteigt den Höchstpreis, den Sie für die Instances angegeben haben,

Der Aktivitätsverlauf zeigt möglicherweise an, dass die Instance aufgrund einer Zustandsprüfung außer Betrieb genommen wurde. Um den Grund für die Beendigung zu überprüfen, sehen Sie sich den Status der Spot-Anfragen an:

  1. Öffnen Sie die Amazon EC2-Konsole.
  2. Wählen Sie im Navigationsbereich unter Instances die Option Spot-Anfragen aus.
  3. Wählen Sie die Spot-Anfrage und anschließend die Ansicht Beschreibung aus und notieren Sie sich dann den Status.

„Eine Instance wurde als Antwort auf eine Benutzeranfrage außer Betrieb genommen“

Überprüfen Sie den CloudTrail-Ereignisverlauf für den Zeitraum, in dem die Instance außer Betrieb genommen wurde, für alle TerminateInstanceInAutoScalingGroup-API-Aufrufe:

  1. Öffnen Sie die AWS CloudTrail-Konsole.
  2. Wählen Sie im Navigationsbereich die Option Aktivitätsverlauf aus.
  3. Überprüfen Sie den Verlauf der API-Aufrufe von TerminateInstanceInAutoScalingGroup.

„Ein Benutzer hat eine Aktualisierung der Auto-Scaling-Gruppe-Einschränkungen auf min: 0, max: 2, gewünscht: 1 angefordert, um die gewünschte Kapazität von 2 auf 1 zu ändern“

Sie können die Einschränkungen einer Auto-Scaling-Gruppe manuell ändern. Sie können beispielsweise die Kapazität reduzieren. Wenn Sie eine Einschränkung ändern, beendet Amazon EC2 Auto Scaling möglicherweise Instances, damit sie den neuen Einstellungen entsprechen.

„Instances wurden gestartet, um Instances in den Zonen us-east-1a mit anderen Zonen auszugleichen“

Standardmäßig verteilt Amazon EC2 Auto Scaling Instances auf alle Availability Zones. Wenn Sie einer Auto-Scaling-Gruppe eine neue Availability Zone hinzufügen, startet Amazon EC2 Auto Scaling eine neue Instance in dieser Zone. Jede Neuverteilung kann Instances in anderen Zonen beenden.

„Eine Instance wurde außer Betrieb genommen, um die Verteilung der On-Demand- und Spot-Kapazitäten auszugleichen.“

Wenn sich die Verteilung einer On-Demand- oder Spot-Instance ändert, wird die zugehörige Auto-Scaling-Gruppe entsprechend Ihrer gewünschten Kaufoptionsverteilung neu gewichten. Daher können On-Demand-Instances oder Spot-Instances beendet werden, sodass die Auto-Scaling-Gruppe sie ersetzen kann, um Ihre gewünschte Kaufoption zu erhalten.

„Um 2018-02-12T13:48:46Z löste ein Überwachungsalarm XXX-High-CPU-Utilization im Zustand ALARM die Richtlinie AAA-scaledown aus, wodurch die gewünschte Kapazität von 2 auf 1 geändert wurde“

Amazon EC2 Auto Scaling kann Instances in einer Gruppe als Reaktion auf einen konfigurierten CloudWatch-Alarm beenden. Überprüfen Sie die Gruppenrichtlinien und den CloudWatch-Alarmverlauf:

So überprüfen Sie die Auto Scaling-Gruppenrichtlinien:

  1. Öffnen Sie die Amazon EC2-Konsole.
  2. Wählen Sie im Navigationsbereich unter Auto Scaling die Option Auto-Scaling-Gruppen aus.
  3. Wählen Sie die Gruppe der Instance aus.
  4. Um Richtlinien anzuzeigen und zu bearbeiten, wählen Sie den Bereich Automatische Skalierung

Um den CloudWatch Alarm-Verlauf einzusehen:

  1. Öffnen Sie die Amazon-CloudWatch-Konsole.
  2. Wählen Sie im Navigationsbereich Alarme aus.
  3. Wählen Sie den Alarm und anschließend die Ansicht Verlauf aus.
  4. Überprüfen Sie den Verlauf auf Statusänderungen des Alarms oder Änderungen an der Alarmkonfiguration.

„Eine Instance wurde als Reaktion auf eine Benutzer-Zustandsprüfung außer Betrieb genommen“

In Amazon EC2 Auto Scaling können Sie benutzerdefinierte Zustandsprüfungen definieren. Wenn eine benutzerdefinierte Integritätsprüfung feststellt, dass eine Instance fehlerhaft ist, wird SetInstanceHealth manuell gestartet. Anschließend wird der Status der Instance auf Unhealthy gesetzt. Amazon EC2 Auto Scaling beendet die fehlerhafte Instance bei ihrer nächsten Ausführung.

„Ein geplantes Aktionsupdate der Auto-Scaling-Gruppe-Einschränkungen auf min: 1, max: 9, gewünscht: 1 angefordert, um die gewünschte Kapazität von 2 auf 1 zu ändern“

Sie können geplante Aktionen konfigurieren, die die minimale, maximale oder gewünschte Kapazität einer Auto-Scaling-Gruppe ändern. Wenn die geplante Aktion die gewünschte Kapazität verringert, beendet Amazon EC2 Auto Scaling eine oder mehrere Instances, um der neuen gewünschten Kapazität zu entsprechen.

Ähnliche Informationen

Warum wurde meine Auto-Scaling-Gruppe herunterskaliert?

Warum hat Amazon EC2 Auto Scaling eine fehlerhafte Instance nicht beendet?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten