Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

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

Lesedauer: 5 Minute
0

Meine Amazon Elastic Compute Cloud (Amazon EC2) Auto-Scaling-Gruppe skaliert nicht richtig.

Lösung

Führen Sie auf der Grundlage Ihrer Skalierungsprobleme die folgenden Überprüfungen Ihrer Amazon EC2 Auto Scaling-Konfigurationen durch.

Meine EC2 Auto-Scaling-Gruppe folgt nicht der Skalierungsrichtlinie

Überprüfen Sie Ihre Skalierungsrichtlinien, um festzustellen, ob ein Ereignis mehr als eine Richtlinie aufruft. Wenn zwei Richtlinien gleichzeitig skaliert werden, folgt EC2 Auto Scaling der Richtlinie mit der größeren Wirkung.

Nehmen wir beispielsweise an, Sie haben eine Richtlinie zum Hinzufügen von zwei Instances und eine weitere Richtlinie zum Hinzufügen von vier Instances. In diesem Fall fügt EC2 Auto Scaling vier Instances hinzu, wenn beide Richtlinien gleichzeitig skaliert werden.

Wenn Sie mehrere Ziel-Tracking-Skalierungsrichtlinien haben, führt nur eine dieser Richtlinien eine Aufskalierung durch. Allerdings müssen alle Ziel-Tracking-Skalierungsrichtlinien gleichzeitig skalierbar sein, damit eine Abskalierungs-Aktion ausgeführt werden kann.

Meine Amazon EC2 Auto-Scaling-Gruppe skaliert auf statt ab

Stellen Sie sicher, dass die Aufskalierungs-Richtlinie und die Abskalierungs-Richtlinie gleichzeitig skaliert werden. Wenn beide Richtlinien gleichzeitig skaliert werden, folgt EC2 Auto Scaling der Aufskalierungs-Richtlinie, um die Verfügbarkeit zu bestätigen.

Um zu überprüfen, ob Aufskalierungs- und Abskalierungs-Richtlinien gleichzeitig skaliert werden, führen Sie die folgenden Prüfungen durch:

  • Überprüfen Sie Ihren Alarmverlauf von der Amazon CloudWatch-Konsole, um zu überprüfen, ob die beiden zugehörigen Alarme gleichzeitig aufgerufen wurden.
  • Überprüfen Sie den Aktivitätsverlauf Ihrer Auto-Scaling-Gruppe von der Amazon EC2-Konsole aus, um zu überprüfen, ob die zugehörigen geplanten Aktionen gleichzeitig ausgeführt wurden.

Meine Amazon EC2 Auto-Scaling-Gruppe reagiert nicht auf einen CloudWatch-Alarm oder einen Ersatz für eine Zustandsprüfung

  • Prüfen Sie, ob Ihre Auto-Scaling-Gruppe ihre Mindest- oder Höchstanzahl an Instances bereits erreicht hat. Um die angegebene Mindest- oder Höchstkapazität zu ermitteln, überprüfen Sie die Details Ihrer Amazon EC2 Auto-Scaling-Gruppe mithilfe der Amazon EC2-Konsole. EC2 Auto Scaling zeigt im Aktivitätsverlauf der Gruppe keine Fehlermeldung an, wenn die Skalierung aufgrund der Mindest- oder Maximalkapazität blockiert ist.
  • Überprüfen Sie die unterbrochenen Prozesse für Ihre Auto-Scaling-Gruppe. EC2 Auto Scaling kann eine CloudWatch-Skalierungsrichtlinie für unterbrochene Prozesse zum Beenden, Starten oder für Alarmmeldungen nicht auswerten. EC2 Auto Scaling kann keinen Ersatz für eine Zustandsprüfung für unterbrochene ReplaceUnhealthy- oder HealthCheck-Prozesse evaluieren.
  • Prüfen Sie, ob der Abskalierungsschutz in einer Ihrer Instances in Ihrer Auto-Scaling-Gruppe aktiviert ist. Wenn Sie den Abskalierungsschutz für eine Instance aktivieren, wird die Instance nicht verwendet, um die Gruppe herunterzuskalieren. Die Auto-Scaling-Gruppe wird erst herunterskaliert, wenn der Abskalierungsschutz auf einer oder mehreren Instances deaktiviert wird.
  • Wenn Sie eine einfache Skalierungsrichtlinie einrichten, überprüfen Sie, ob sich Ihre Instances in einer Ruhephase befinden. Einfache Skalierungsrichtlinien bleiben bis nach Ablauf der Ruhephase ausgesetzt.
  • Wenn Ihre Ziel-Tracking-Skalierungsrichtlinie Ihre Auto-Scaling-Gruppe nicht herunterskaliert, überprüfen Sie in der Richtlinie, ob der Abskalierungsteil deaktiviert ist.
  • Sind irgendwelche der Skalierungsrichtlinien deaktiviert? Wenn eine Skalierungsrichtlinie deaktiviert ist, ändert sie die Auto-Scaling-Gruppe nicht.
  • Gibt es eine gültige Stufenanpassung für Ihre Richtlinie zur schrittweisen Skalierung? Prüfen Sie, ob die Schrittanpassungen so konfiguriert sind, dass sie auf die Größe der Alarmverletzung reagieren.
  • Wenn Sie eine Richtlinie zur schrittweisen Skalierung oder Ziel-Tracking-Skalierung einrichten, achten Sie darauf, ob eine Instance gerade aufgewärmt wird. Wenn Sie eine Aufwärmzeit angegeben haben, zählt die Auto-Scaling-Gruppe Instances erst nach dem Aufwärmen zu den Gruppen-Metriken.
  • Überprüfen Sie Ihren CloudWatch-Alarm, um sicherzustellen, dass er die Skalierungsaktivität korrekt auslöst. Weitere Informationen finden Sie unter Wie kann ich sicher sein, dass CloudWatch-Alarme Aktionen aktivieren?
  • Prüfen Sie, ob für Ihre EC2 Auto-Scaling-Gruppe ein Lebenszyklus-Hook konfiguriert ist. Wenn ein Lebenszyklus-Hook vorhanden ist, müssen Sie möglicherweise entweder den Lebenszyklus-Hook abschließen oder warten, bis der Timeout-Zeitraum abgelaufen ist.

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

Wenn Sie einen Lebenszyklus-Hook für Ihre EC2 Auto-Scaling-Gruppe konfiguriert haben, wird eine Instance möglicherweise im Status Pending:Wait oder Terminating:Wait angehalten. Mit Ausnahme von Richtlinien zur schrittweisen Skalierung werden andere Skalierungsaktivitäten ausgesetzt, bis die Instance den Status Pending:Wait oder Terminating:Wait verlässt.

Führen Sie den folgenden Befehl der AWS Command Line Interface (AWS CLI) aus, um festzustellen, ob Sie einen Lebenszyklus-Hook konfiguriert haben:

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

**Hinweis:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Troubleshoot AWS CLI errors. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.

Um den Skalierungsprozess fortzusetzen, warten Sie, bis der Timeout-Zeitraum abgelaufen ist, oder schließen Sie den Lebenszyklus-Hook ab.

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

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

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

  • Überprüfen Sie die Zeitzone, die Sie für die geplante Aktion konfiguriert haben. Standardmäßig werden geplante Aktionen in koordinierter Weltzeit (UTC) festgelegt, wenn keine Zeitzone festgelegt ist. Wenn eine Zeitzone für die geplante Aktion festgelegt ist, überprüfen Sie, ob die Aktion basierend auf der Zeit in dieser Zeitzone ausgeführt wird.
  • Überprüfen Sie den Aktivitätsverlauf Ihrer EC2 Auto-Scaling-Gruppe von der Amazon EC2-Konsole aus. Stellen Sie fest, ob es Skalierungsaktivitäten gibt, die mit Ihrer geplanten Aktion in Konflikt stehen.
  • Wenn Sie Aufskalierungs- und Abskalierungs-Aktionen planen, überprüfen Sie, ob Sie eine Aktion für die Aufskalierung und eine weitere Aktion für die Abskalierung geplant haben. Sie können nicht dieselbe geplante Aktion sowohl für die Abskalierung als auch für die Aufskalierung verwenden.

Ich habe mein EC2-Instance-Kontingent erreicht

Wenn Ihre Amazon EC2 Auto-Scaling-Gruppe aufgrund Ihres EC2-Instance-Kontingents nicht skaliert, erhalten Sie eine Meldung ähnlich der folgenden:

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.

Um das Kontingent zu erhöhen, wenden Sie sich an den AWS Support. Weitere Informationen zu Kontingenten finden Sie unter AWS Service Quotas.

Ähnliche Informationen

Lebenszyklus einer Amazon EC2 Auto Scaling-Instance

Problembehandlung bei Amazon EC2 Auto Scaling

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr