Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Steuern welche Auto-Scaling-Instances beim Abskalieren beendet werden
Amazon EC2 Auto Scaling verwendet Kündigungsrichtlinien, um die Reihenfolge für das Beenden von Instances festzulegen. Sie können eine vordefinierte Richtlinie verwenden oder eine benutzerdefinierte Richtlinie erstellen, um Ihre spezifischen Anforderungen zu erfüllen. Durch die Verwendung einer benutzerdefinierten Richtlinie oder Instanzskalierung als Schutz können Sie auch verhindern, dass Ihre Auto Scaling Scaling-Gruppe Instances beendet, die noch nicht bereit sind, beendet zu werden.
Inhalt
- Wenn Amazon EC2 Auto Scaling Kündigungsrichtlinien verwendet
- Kündigungsrichtlinien für Amazon EC2 Auto Scaling konfigurieren
- Eine benutzerdefinierte Beendigungsrichtlinie mit Lambda erstellen
- Verwenden Sie den Instance Scale-In Protection, um die Instanzbeendigung zu kontrollieren
- Gestalten Sie Ihre Anwendungen so, dass sie das Kündigen von Instances ordnungsgemäß handhaben
Wenn Amazon EC2 Auto Scaling Kündigungsrichtlinien verwendet
In den folgenden Abschnitten werden die Szenarien beschrieben, in denen Amazon EC2 Auto Scaling Kündigungsrichtlinien verwendet.
Ereignisse skalieren
Eine Skalierung tritt ein, wenn es einen neuen Wert für die gewünschte Kapazität einer Auto Scaling Scaling-Gruppe gibt, der niedriger ist als die aktuelle Kapazität der Gruppe.
Eine Zunahme von Ereignissen tritt in den folgenden Szenarien auf:
-
Wenn dynamische Skalierungsrichtlinien verwendet werden, nimmt die Größe der Gruppe aufgrund von Änderungen des Werts einer Metrik ab
-
Bei Verwendung der geplanten Skalierung nimmt die Größe der Gruppe infolge einer geplanten Aktion ab
-
Wenn Sie die Gruppengröße manuel verkleinern
Das folgende Beispiel zeigt, wie Kündigungsrichtlinien funktionieren, wenn ein bestimmtes Ereignis eintritt.
-
Die Auto-Scaling-Gruppe in diesem Beispiel hat einen Instance-Typ, zwei Availability Zones und eine gewünschte Kapazität von zwei Instances. Es verfügt auch über eine dynamische Skalierungsrichtlinie, die Instances hinzufügt und entfernt, wenn die Ressourcenauslastung zunimmt oder abnimmt. Die zwei Instances in dieser Gruppe sind auf die zwei Availability Zones verteilt, wie im folgenden Diagramm dargestellt.
-
Wenn die Auto Scaling-Gruppe skaliert, startet Amazon EC2 Auto Scaling eine neue Instance. Die Auto-Scaling-Gruppe verfügt nun über drei Instances, die auf die beiden Availability Zones verteilt sind, wie im folgenden Diagramm dargestellt.
-
Wenn die Auto Scaling-Gruppe skaliert, beendet Amazon EC2 Auto Scaling eine der Instances.
-
Wenn Sie der Gruppe keine bestimmte Kündigungsrichtlinie zugewiesen haben, verwendet Amazon EC2 Auto Scaling die standardmäßige Kündigungsrichtlinie. Es wählt die Availability Zone mit zwei Instances aus und beendet die Instance, die über eine Startkonfiguration, eine andere Startvorlage oder die älteste Version der aktuellen Startvorlage gestartet wurde. Wenn die Instances mit derselben Startvorlage und Version gestartet wurden, wählt Amazon EC2 Auto Scaling die Instance aus, die der nächsten Abrechnungsstunde am nächsten ist, und beendet sie.
Instance-Aktualisierung
Sie können eine Instance-Aktualisierung starten, um die Instances in Ihrer Auto Scaling Scaling-Gruppe zu aktualisieren. Während einer Instance-Aktualisierung beendet Amazon EC2 Auto Scaling Instances in der Gruppe und startet dann Ersatzinstanzen für die beendeten Instances. Die Beendigungsrichtlinie für die Auto-Scaling-Gruppe steuert, welche Instances zuerst ersetzt werden.
Neuausgleich der Availability Zone
Amazon EC2 Auto Scaling verteilt Ihre Kapazität gleichmäßig auf die Availability Zones, die für Ihre Auto Scaling Scaling-Gruppe aktiviert sind. Dies trägt dazu bei, die Auswirkungen eines Ausfalls der Availability Zone zu reduzieren. Wenn die Kapazitätsverteilung zwischen den Availability Zones aus dem Gleichgewicht gerät, gleicht Amazon EC2 Auto Scaling die Auto Scaling Scaling-Gruppe aus, indem es Instances in den aktivierten Availability Zones mit den wenigsten Instances startet und Instances an anderer Stelle beendet. Die Beendigungsrichtlinie steuert, welche Instances zuerst für die Beendigung priorisiert werden.
Es gibt eine Reihe von Gründen, warum die Verteilung von Instances über Availability Zones aus dem Gleichgewicht geraten kann.
- Entfernen von Instances
-
Wenn Sie Instances von Ihrer Auto-Scaling-Gruppe trennen, setzen Sie Instances in den Standby-Modus oder beenden Instances explizit und verringern die gewünschte Kapazität, wodurch das Starten von Ersatz-Instances verhindert wird. Dadurch kann die Gruppe unausgewogen sein. In diesem Fall gleicht Amazon EC2 Auto Scaling dies aus, indem es die Availability Zones neu verteilt.
- Verwenden anderer Availability Zones als ursprünglich angegeben
-
Wenn Sie Ihre Auto Scaling-Gruppe um zusätzliche Availability Zones erweitern oder ändern, welche Availability Zones verwendet werden, startet Amazon EC2 Auto Scaling Instances in den neuen Availability Zones und beendet Instances in anderen Zonen, um sicherzustellen, dass sich Ihre Auto Scaling Scaling-Gruppe gleichmäßig über Availability Zones erstreckt.
- Ausfall der Verfügbarkeit
-
Verfügbarkeitsausfälle sind selten. Wenn jedoch eine Availability Zone nicht verfügbar ist und später wiederhergestellt wird, kann die Auto-Scaling-Gruppe zwischen Availability Zones unausgewogen sein. Amazon EC2 Auto Scaling versucht, die Gruppe schrittweise neu auszurichten, und eine Neuverteilung kann dazu führen, dass Instances in anderen Zonen beendet werden.
Nehmen wir das Beispiel mit einer Auto-Scaling-Gruppe mit einem Instance-Typ, zwei Availability Zones und einer gewünschten Kapazität von zwei Instances. In einer Situation, in der eine Availability Zone ausfällt, startet Amazon EC2 Auto Scaling automatisch eine neue Instance in der fehlerfreien Availability Zone, um die Instanz in der fehlerhaften Availability Zone zu ersetzen. Wenn die fehlerhafte Availability Zone später wieder in einen fehlerfreien Zustand zurückkehrt, startet Amazon EC2 Auto Scaling automatisch eine neue Instance in dieser Zone, wodurch wiederum eine Instance in der nicht betroffenen Zone beendet wird.
Anmerkung
Beim Rebalancing startet Amazon EC2 Auto Scaling neue Instances, bevor die alten beendet werden, sodass das Rebalancing die Leistung oder Verfügbarkeit Ihrer Anwendung nicht beeinträchtigt.
Da Amazon EC2 Auto Scaling versucht, neue Instances zu starten, bevor die alten beendet werden, könnte eine Annäherung an oder nahe der angegebenen Maximalkapazität die Aktivitäten zur Neuverteilung behindern oder ganz beenden. Um dieses Problem zu vermeiden, kann das System beim Wiederherstellen des Gleichgewichts die angegebene maximale Kapazität einer Gruppe vorübergehend um 10 % (oder um die Marge einer Instance, je nachdem, welcher Wert größer ist) überschreiten. Dieser Wert kann nur erhöht werden, wenn die Gruppe die maximale Kapazität erreicht hat oder kurz davor ist und das Wiederherstellen des Gleichgewichts aufgrund einer vom Benutzer angeforderten Neuverteilung der Availability Zones oder zum Kompensieren von Verfügbarkeitsproblemen der Availability Zones erforderlich ist. Die Kapazität wird nur für die Dauer der Wiederherstellung des Gleichgewichts in der Gruppe erhöht.