Direkt zum Inhalt

Warum hat Amazon EC2 Auto Scaling eine Instance beendet?

Lesedauer: 9 Minute
0

Ich möchte wissen, warum meine Auto-Scaling-Gruppe von Amazon EC2 meine Amazon Elastic Compute Cloud (Amazon EC2)-Instance beendet hat.

Kurzbeschreibung

Amazon EC2 Auto Scaling überwacht den Zustandsstatus der Instance mit Amazon-EC2-Zustandsprüfungen, Elastic Load Balancing (ELB)-Zustandsprüfungen und Volume-Prüfungen. Wenn die Instance eine Prüfung nicht besteht, beendet und ersetzt Amazon EC2 Auto Scaling die Instance.

Überprüfe im Amazon-EC2-Dashboard in der AWS-Managementkonsole, warum Amazon EC2 Auto Scaling die Instance beendet hat. Behebe dann das Problem, das du gefunden hast.

Lösung

Überprüfe, warum die Instance die Zustandsprüfung nicht bestanden hat und behebe das Problem dann anhand des Grundes, aus dem die Zustandsprüfung fehlgeschlagen ist.

Problembehandlung bei Instances, die Amazon EC2 Auto Scaling beendet oder angehalten hat

Amazon EC2 Auto Scaling beendet angehaltene und neu gestartete Instances. Die folgende Meldung weist darauf hin, dass Amazon EC2 Auto Scaling eine Instance angehalten, neu gestartet oder beendet hat:

„An instance was taken out of service in response to an EC2 health check indicating it has been terminated or stopped“

Anweisungen zur Behebung dieses Problems findest du unter An instance was taken out of service in response to an EC2 health check that indicated it had been terminated or stopped (Eine Instance wurde als Reaktion auf eine EC2-Zustandsprüfung außer Betrieb genommen, bei der angegeben wurde, dass sie beendet oder angehalten wurde).

Problembehandlung bei Instances, die Amazon-EC2-Zustandsprüfungen nicht bestehen

Die folgende Meldung weist darauf hin, dass die Instance eine Amazon-EC2-Statusüberprüfung nicht bestanden hat:

„An instance was taken out of service in response to an EC2 instance status checks failure“

Anweisungen zur Behebung dieses Problems findest du unter An instance was taken out of service in response to an Amazon EC2 instance status check failure (Eine Instance wurde als Reaktion auf einen Fehler bei der Amazon-EC2-Instance-Statusüberprüfung außer Betrieb genommen).

Problembehandlung bei Instances, die ELB-Zustandsprüfungen nicht bestehen

Wenn du ELB-Zustandsprüfungen für deine Gruppe aktiviert hast, führt Amazon EC2 Auto Scaling sowohl ELB- als auch Amazon-EC2-Zustandsprüfungen durch. Amazon EC2 Auto Scaling beendet Instances, die eine der Zustandsprüfungen nicht bestehen.

Wenn an deine Gruppe mehrere Zielgruppen oder Load Balancer angefügt sind, müssen alle Zielgruppen und Load Balancer die Zustandsprüfungen bestehen. Wenn eine Zielgruppe oder ein Load Balancer in der Gruppe eine Zustandsprüfung nicht besteht, beendet Amazon EC2 Auto Scaling die Instance.

Die folgende Meldung weist darauf hin, dass die Instance eine ELB-Zustandsprüfung nicht bestanden hat:

„An instance was taken out of service in response to a ELB system health check failure“

Anweisungen zur Behebung dieses Problems findest du unter Eine Instance wurde als Reaktion auf einen Fehler bei der ELB-System-Zustandsprüfung außer Betrieb genommen.

Problembehandlung bei beendeten EC2-Spot-Instances

Amazon EC2 Auto Scaling beendet EC2-Spot-Instances, wenn die Kapazität nicht verfügbar ist oder der Spot-Preis den Höchstpreis übersteigt, den du für deine Instances angegeben hast.

Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass Amazon EC2 Auto Scaling die Instance beendet hat:

„An instance was taken out of service in response to an EC2 Spot Instance interruption notice.“

Um zu verhindern, dass dieses Problem erneut auftritt, führe eine der folgenden Maßnahmen durch, um die Kapazität der Instance zu erhöhen:

  • Ändere die Zuweisungsstrategie auf kapazitätsoptimiert.
  • Erhöhe den Höchstpreis, den du für die Instance angibst.
  • Erwäge den Umstieg auf On-Demand-Instances, wenn deine Workload keine Unterbrechungen erfordert. Wenn du dies tust, ändere die Gruppenkonfiguration, um On-Demand-Instances zu starten.
  • Verwende das Advisor-Tool am unteren Rand von Amazon-EC2-Spot-Instances, um Instance-Typen zu identifizieren, die eine geringere Spot-Unterbrechungsrate aufweisen. Ändere dann die Gruppe, um diese Instance-Typen zu verwenden.
    Hinweis: Wenn du Spot Instances starten musst, nachdem du die Startvorlage für die Verwendung von Spot Instances konfiguriert hast, erstelle eine neue Version der Startvorlage. Aktualisiere anschließend die Gruppe, sodass sie die neue Startvorlage verwenden kann.
    Wenn du Spot Instances mit einer gemischten Instance-Gruppe starten musst, aktualisiere die gemischte Instance-Gruppe, um die neuen Instance-Typen zu verwenden.

Problembehandlung bei Instances, die Benutzer beenden

Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass ein(e) Benutzer:in oder ein Service die Instance mit dem API-Vorgang TerminateInstanceInAutoScalingGroup beendet:

„An instance was taken out of service in response to a user request“

Gehe wie folgt vor, um zu verhindern, dass dieses Problem erneut auftritt:

  1. Öffne die AWS-CloudTrail-Konsole.
  2. Wähle im Navigationsbereich die Option Event history (Ereignisverlauf) aus.
  3. Überprüfe den Verlauf der TerminateInstanceInAutoScalingGroup-API-Aufrufe.
  4. Überprüfe die API-Vorgänge für den/die Benutzer:in oder Service, der/die den Aufruf getätigt hat, und untersuche dann, warum der/die Benutzer:in oder der Service die Instance beendet hat.

Behebung von Fehlermeldungen „A user request update of AutoScalingGroup constraints“

Wenn du die Einschränkung der Gruppe manuell aktualisierst, beendet Auto Scaling möglicherweise Instances in dieser Gruppe, sodass sie den aktualisierten Einstellungen entsprechen.

Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass Amazon EC2 Auto Scaling die Instance beendet hat, weil du die Einschränkung einer Gruppe aktualisiert hast:

„A user request update of AutoScalingGroup constraints to min: 0, max: 2, desired: 1 changing the desired capacity from 2 to 1“

Gehe wie folgt vor, um zu verhindern, dass dieses Problem erneut auftritt:

  1. Öffne die CloudTrail-Konsole.
  2. Wähle im Navigationsbereich die Option Event history (Ereignisverlauf) aus.
  3. Prüfe den Verlauf der API-Aufrufe UpdateAutoScalingGroup und SetDesiredCapacity und untersuche dann, warum der/die Benutzer:in den Aufruf getätigt hat, der die Einschränkung einer Gruppe aktualisiert hat.

Problembehandlung bei Instances, die Amazon EC2 Auto Scaling beendet, um Instances mit anderen Zonen auszugleichen

Standardmäßig verteilt Amazon EC2 Auto Scaling Instances gleichmäßig auf alle Availability Zones. Wenn du einer Gruppe eine neue Availability Zone hinzufügst, startet Amazon EC2 Auto Scaling eine neue Instance in dieser Zone. Wenn Amazon EC2 Auto Scaling die Instances neu ausgleicht, werden möglicherweise Instances in anderen Zonen beendet. Amazon EC2 Auto Scaling verteilt Instances auch zwischen Availability Zones erneut gleichmäßig, wenn es eine Instance in einer von dir angegebenen Availability Zone nicht starten kann.

Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass Amazon EC2 Auto Scaling die Instance beendet hat, um die Instances über Availability Zones hinweg erneut gleichmäßig zu verteilen:

„Instances were launched to balance instances in zones us-east-1a with other zones“

Um zu verhindern, dass dieser Fehler erneut auftritt, setze den Availability-Zone-Rebalance-Prozess für die Gruppe aus, die Amazon EC2Auto Scaling beendet hat.

Wichtig: Es hat sich bewährt, den AZ-Rebalance-Prozess nicht auszusetzen. Wenn du den Vorgang aussetzt, hat eine Availability Zone möglicherweise mehr Kapazität als eine andere. Infolgedessen sinkt die Verfügbarkeit dieser Availability Zone.

Wenn du den Vorgang aussetzen musst, gehe wie folgt vor:

  1. Öffne die AWS-Managementkonsole.
  2. Wähle im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.
  3. Aktiviere das Kontrollkästchen neben der Gruppe, die Amazon EC2 Auto Scaling beendet hat. Wenn du dies tust, wird unten auf der Seite ein geteilter Bereich geöffnet.
  4. Wähle auf der Registerkarte Details die Option Advanced configurations (Erweiterte Konfigurationen) und dann Edit (Bearbeiten) aus.
  5. Wähle für Suspended processes (Ausgesetzte Prozesse) AZ Rebalance aus.
  6. Wähle Update (Aktualisieren) aus.

Problembehandlung bei Instances, die Amazon EC2 Auto Scaling beendet, wenn du die Kaufoptionen aktualisierst

Wenn du eine aktualisierte Verteilung der Kaufoptionen anforderst, gleicht Amazon EC2 Auto Scaling die Gruppe neu aus.

Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass Amazon EC2 Auto Scaling On-Demand-Instances oder Spot Instances entsprechend der aktualisierten Kaufoption beendet hat:

„An instance was taken out of service to balance the distribution of On-Demand and Spot capacities.“

Wichtig: Es empfiehlt sich, die Konfiguration der neuen Kaufoptionsverteilung zu überprüfen und sie zu ändern, um zu verhindern, dass dieses Problem erneut auftritt.

Problembehandlung bei Überwachungsalarmen, die richtlinienbasierte Abskalierungsereignisse auslösen

Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass Amazon EC2 Auto Scaling die Instance als Reaktion auf einen von dir konfigurierten Amazon-CloudWatch-Alarm beendet hat:

„A monitor alarm triggered a policy scaledown changing the desired capacity“

Um zu verhindern, dass dieser Fehler erneut auftritt, ändere die Richtlinie für automatische Skalierung und/oder den CloudWatch-Alarm, der sie aktiviert hat.

Gehe wie folgt vor, um die Gruppenrichtlinie zu ändern, die die Kapazität der Gruppe geändert hat

  1. Öffne die AWS-Managementkonsole.
  2. Wähle im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.
  3. Das Kontrollkästchen neben der Gruppe aktivieren
  4. Um Richtlinien anzuzeigen und zu bearbeiten, wähle Automatic Scaling (Automatische Skalierung).
  5. Ändere die Richtlinie, die der CloudWatch-Alarm aktiviert hat.

Gehe wie folgt vor, um den CloudWatch-Alarm zu ändern:

  1. Öffne die CloudWatch-Konsole.
  2. Wähle im Navigationsbereich Alarms (Alarme) aus.
  3. Wähle den Alarm und anschließend die Registerkarte History (Verlauf) aus.
  4. Überprüfe deinen Verlauf auf Statusänderungen an deinem Alarm oder auf Änderungen an der Konfiguration deines Alarms.
  5. Wenn sich der Alarmstatus geändert hat, überprüfe den Verlauf der Metrik zum Zeitpunkt der Statusänderung. Überprüfe, ob sich ein Metrikwert in einen Wert über oder unter einem Schwellenwert geändert hat, den du in diesem Zeitraum angegeben hast. Wenn sich eine Metrik geändert hat, untersuche, was den Metrikwert geändert hat.

Behebe Fehler bei Instances, die benutzerdefinierte Prüfungen nicht bestehen.

Wenn eine Instance eine benutzerdefinierte Zustandsprüfung nicht besteht, ruft Amazon EC2 Auto Scaling den API-Vorgang SetInstanceHealth auf und setzt dann den Status der Instance auf Unhealthy (Ungesund). Amazon EC2 Auto Scaling beendet die fehlerhafte Instance bei ihrer nächsten Ausführung.

Die Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass Amazon EC2 Auto Scaling die Instance beendet hat, weil sie eine benutzerdefinierte Zustandsprüfung nicht bestanden hat:

„An instance was taken out of service in response to a user health-check“

Um den/die Benutzer:in zu identifizieren, der/die die benutzerdefinierte Zustandsprüfung erstellt hat, die die Instance beendet hat, überprüfe den Ereignisverlauf auf SetInstanceHealth-API-Aufrufe. Suche nach dem/der Benutzer:in, der/die den SetInstanceHealth-API-Vorgang vor der Zustandsprüfung ausgeführt hat, bei der die Instance fehlgeschlagen ist.

Problembehandlung bei geplanten Aktionsaktualisierungen, die die Einschränkungen deiner Gruppe ändern

Wenn eine geplante Aktion die Kapazität deiner Gruppe verringert, beendet Amazon EC2 Auto Scaling eine oder mehrere Instances, um der aktualisierten Kapazität zu entsprechen.

Die Meldungen, die dem folgenden Beispiel ähneln, weisen darauf hin, dass eine geplante Aktion die Einschränkungen der Gruppe verringert hat:

„A scheduled action update of AutoScalingGroup constraints changed the desired capacity“

Um zu verhindern, dass dieses Problem erneut auftritt, setze den Prozess Scheduled Actions (Geplante Aktionen), der die Einschränkungen der Gruppe verringert hat, aus. Wenn du dies tust, überprüfe deine geplanten Aktionen auf wiederkehrende Aktionen, die die Instances beenden, und lösche sie entweder oder lege einen neuen Zeitplan für sie fest. Nachdem du die geplanten Aktionen geändert hast, stelle sicher, dass du den Prozess Scheduled Actions (Geplante Aktionen) erneut aktivierst.

Ähnliche Informationen

Why did my Auto Scaling group scale in? (Warum wurde meine Auto-Scaling-Gruppe abskaliert?)

Why didn't Amazon EC2 Auto Scaling stop an unhealthy instance? (Warum hat Amazon EC2 Auto Scaling eine fehlerhafte Instance nicht angehalten?)

AWS OFFICIALAktualisiert vor 7 Monaten