Direkt zum Inhalt

Wie behebe ich Skalierungsprobleme mit meiner Amazon EC2 Auto-Scaling-Gruppe?

Lesedauer: 5 Minute
0

Meine Amazon EC2 Auto-Scaling-Gruppe wird nicht richtig skaliert.

Behebung

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.

Deine Amazon EC2 Auto-Scaling-Gruppe befolgt nicht die Skalierungsrichtlinie

Überprüfe die Skalierungsrichtlinien, um festzustellen, ob ein Ereignis mehr als eine Richtlinie aufruft. Wenn zwei Richtlinien gleichzeitig skaliert werden, befolgt Amazon EC2 Auto Scaling die Richtlinie mit der größeren Wirkung. Du hast beispielsweise eine Richtlinie zum Hinzufügen von zwei Amazon Elastic Compute Cloud (Amazon EC2)-Instances und eine weitere Richtlinie zum Hinzufügen von vier Instances. Wenn beide Richtlinien gleichzeitig skaliert werden, fügt EC2 Auto Scaling vier Instances hinzu.

Wenn du mehrere Zielverfolgungs-Skalierungsrichtlinien hast, wird nur eine der Richtlinien aufskaliert. Alle Zielverfolgungs-Skalierungsrichtlinien müssen jedoch gleichzeitig skalierbar sein, damit Amazon EC2 Auto Scaling abskalieren kann.

Meine Amazon EC2 Auto Scaling-Gruppe wird aufskaliert statt abskaliert

Prüfe, ob die Aufskalierungs-Richtlinie und die Abskalierungs-Richtlinie gleichzeitig skaliert werden. Wenn beide Richtlinien gleichzeitig skaliert werden, befolgt Amazon EC2 Auto Scaling die Aufskalierungs-Richtlinie, um die Verfügbarkeit zu bestätigen.

Gehe wie folgt vor, um zu überprüfen, ob Aufskalierungs- oder Abskalierungs-Richtlinien gleichzeitig skaliert werden:

  • Überprüfe den Alarmverlauf auf der Amazon CloudWatch-Konsole, um zu überprüfen, ob Amazon CloudWatch die zugeordneten Alarme gleichzeitig aufruft.
  • Überprüfe den Aktivitätsverlauf deiner Gruppe auf der Amazon EC2-Konsole, um zu überprüfen, ob die zugeordneten geplanten Aktionen gleichzeitig ausgeführt werden.

Die Amazon EC2 Auto-Scaling-Gruppe reagiert nicht auf den CloudWatch-Alarm oder den Ersatz für die Zustandsprüfung

Gehe wie folgt vor, um festzustellen, warum die Gruppe nicht auf den CloudWatch-Alarm oder den Ersatz für die Zustandsprüfung reagiert:

  • Überprüfe, ob deine Gruppe ihre Mindest- oder Höchstanzahl an Instances bereits erreicht hat. Um die Instance-Kapazität zu ermitteln, überprüfe die Details der Gruppe auf der Amazon EC2-Konsole. Wenn die Gruppe die Kapazität erreicht, zeigt Amazon EC2 Auto Scaling keine Fehlermeldung im Aktivitätsverlauf der Gruppe an.
  • Überprüfe die unterbrochenen Prozesse für die Gruppe. Amazon EC2 Auto Scaling wertet eine CloudWatch-Skalierungsrichtlinie für die unterbrochenen Prozesse Terminate,Launch oder AlarmNotification nicht aus. Amazon EC2 Auto Scaling wertet auch keinen Ersatz für eine Zustandsprüfung für die unterbrochenen Prozesse ReplaceUnhealthy oder HealthCheck aus.
  • Prüfe, ob du den Abskalierschutz in einer der Instances in der Gruppe aktiviert hast. Wenn du den Abskalierschutz für eine Instance aktivierst, verwendet Amazon EC2 Auto Scaling die Instance nicht, um die Gruppe herunterzuskalieren. Du musst den Abskalierschutz deaktivieren, damit die Gruppe herunterskaliert werden kann.
  • Wenn du eine einfache Skalierungsrichtlinie einrichtest, überprüfe, ob sich die Instances in einer Ruhephase befinden. Einfache Skalierungsrichtlinien initiieren Aktivitäten erst nach Ablauf der Ruhephase.
  • Wenn die Zielverfolgungs-Skalierungsrichtlinie die Gruppe nicht herunterskaliert, überprüfe, ob der Abskalierungsanteil in der Richtlinie deaktiviert ist.
  • Prüfe, ob du die Skalierungsrichtlinie deaktiviert hast. Wenn du eine Skalierungsrichtlinie deaktivierst, ändert sich die Gruppe nicht.
  • Prüfe, ob du die Schrittanpassung für die Richtlinie zur schrittweisen Skalierung so konfiguriert hast, dass sie auf das Ausmaß der Alarmverletzung reagiert.
  • Wenn du eine Richtlinie zur schrittweisen Skalierung oder Zielverfolgungs-Skalierung einrichtest, achte darauf, ob gerade ein Instance-Aufwärmen erfolgt. Amazon EC2 Auto Scaling zählt Instances erst nach Ablauf der Aufwärmphase zu den Gruppenmetriken.
  • Vergewissere dich, dass der CloudWatch-Alarm die Skalierungsaktivität korrekt auslöst.
  • Wenn du einen Lebenszyklus-Hook konfiguriert hast, schließe entweder den Lebenszyklus-Hook ab oder warte, bis der Timeout-Zeitraum abgelaufen ist.

Die Instance bleibt während der Skalierungsaktivität im Status „Pending:Wait“ oder „Terminating:Wait“ hängen

Wenn du einen Lebenszyklus-Hook für die Gruppe konfiguriert hast, befindet sich eine Instance möglicherweise im Status Pending:Wait oder Terminating:Wait. Skalierungsaktivitäten, die aufgrund einfacher Skalierungsrichtlinien beginnen, werden unterbrochen, bis die Instance den Status Pending:Wait oder Terminating:Wait verlässt.

Um festzustellen, ob du einen Lebenszyklus-Hook konfiguriert hast, führe den Befehl describe-lifecycle-hooks aus:

aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name my-asg-name

Warte, bis der Timeout-Zeitraum abgelaufen ist, um den Skalierungsvorgang fortzusetzen. Vervollständige dann den Lebenszyklus-Hook.

Hinweis: Standardmäßig beträgt der Timeout-Zeitraum 1 Stunde.

Informationen zur Verwaltung von Lebenszyklus-Hooks über die Amazon EC2-Konsole findest du unter Amazon EC2 Auto Scaling-Lebenszyklus-Hooks.

Die Amazon EC2 Auto Scaling-Gruppe reagiert nicht auf eine geplante Aktion

Wenn deine Gruppe nicht auf eine geplante Skalierungsaktion reagiert, ergreife die folgenden Maßnahmen:

  • Prüfe, ob du eine Zeitzone für die geplante Aktion konfiguriert hast. Wenn du keine Zeitzone festgelegt hast, erstelle eine geplante Aktion.
    Hinweis: Geplante Aktionen werden standardmäßig in koordinierter Weltzeit (UTC) festgelegt. Wenn du eine Zeitzone festlegst, stelle sicher, dass die Aktion in dieser Zeitzone ausgeführt wird.
  • Überprüfe den Aktivitätsverlauf der Gruppe auf der Amazon EC2-Konsole, um festzustellen, ob die Skalierungsaktivität mit der geplanten Aktion in Konflikt steht.
  • Wenn du Aufskalierungs- und Abskalierungs-Aktionen planst, überprüfe, ob du eine Aktion für die Aufskalierung und eine weitere Aktion für die Abskalierung geplant hast. Du kannst nicht dieselbe geplante Aktion für die Abskalierung und für die Aufskalierung verwenden.

Du hast das EC2-Instance-Kontingent erreicht

Wenn die Gruppe nicht skaliert wird, weil du das EC2-Instance-Kontingent erreicht hast, erhältst du eine Meldung, die der folgenden ähnelt:

„Launching a new EC2 instance. Status Reason: Your quota allows for 0 more running instance(s). You requested at least 1. Launching EC2 instance failed.“

Wende dich an den AWS Support, um das Kontingent zu erhöhen. Informationen zu Kontingenten findest du unter AWS-Service Quotas.

Ähnliche Informationen

Lebenszyklus einer Amazon EC2 Auto Scaling-Instance

Behebung von Problemen in Amazon EC2 Auto Scaling

AWS OFFICIALAktualisiert vor einem Jahr