Steuern welche Auto-Scaling-Instances beim Abskalieren beendet werden - Amazon EC2 Auto Scaling

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 eines Instance Scale-In-Schutzes können Sie auch verhindern, dass Ihre Auto Scaling Scaling-Gruppe Instances beendet, die noch nicht zum Beenden bereit sind.

Wenn Amazon EC2 Auto Scaling Kündigungsrichtlinien verwendet

In den folgenden Abschnitten werden die Szenarien beschrieben, in denen Amazon EC2 Auto Scaling Beendigungsrichtlinien verwendet.

Scale-In Ereignisse

Ein Skale-in-Ereignis tritt auf, wenn ein neuer Wert für die gewünschte Kapazität einer Auto-Scaling-Gruppe vorhanden ist, der niedriger ist als die aktuelle Kapazität der Gruppe.

Scale-in-Ereignisse treten 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 Beendigungsrichtlinien funktionieren, wenn ein Scale-In-Ereignis vorliegt.

  1. 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.

    
                                Eine einfache Auto Scaling Scaling-Gruppe mit zwei Instances.
  2. Wenn die Auto-Scaling-Gruppe skaliert wird, 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.

    
                                Eine Auto Scaling Scaling-Gruppe nach der Skalierung um eine Instanz.
  3. Wenn die Auto-Scaling-Gruppe skaliert wird, beendet Amazon EC2 Auto Scaling eine der Instances.

  4. Wenn Sie der Gruppe keine bestimmte Beendigungsrichtlinie zugewiesen haben, verwendet Amazon EC2 Auto Scaling die Standardbeendigungsrichtlinie. Sie 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.

    
                                Eine Auto Scaling Scaling-Gruppe nach der Skalierung um eine Instanz.

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 Ersetzungen 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 gleicht Ihre Kapazität gleichmäßig über die Availability Zones aus, die für Ihre Auto-Scaling-Gruppe aktiviert sind. Dies trägt dazu bei, die Auswirkungen eines Ausfalls der Availability Zone zu reduzieren. Wenn die Verteilung der Kapazität über Availability Zones nicht ausgeglichen ist, gleicht Amazon EC2 Auto Scaling die Auto-Scaling-Gruppe neu aus, indem Instances in den aktivierten Availability Zones mit den wenigsten Instances gestartet und Instances an anderer Stelle beendet werden. 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. Wenn dies auftritt, kann Amazon EC2 Auto Scaling dies kompensieren und das Gleichgewicht der Availability Zones wiederherstellen.

Verwenden anderer Availability Zones als ursprünglich angegeben

Wenn Sie Ihre Auto-Scaling-Gruppe erweitern, um zusätzliche Availability Zones einzuschließen oder Sie ändern, welche Availability Zones verwendet werden, startet Amazon EC2 Auto Scaling Instances in den neuen Availability Zones, und Instances in den anderen Zonen werden beendet, um sicherzustellen, dass sich Ihre Auto-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 auszugleichen, und durch den Neuausgleich können 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 fehlschlägt, startet Amazon EC2 Auto Scaling automatisch eine neue Instance in der fehlerfreien Availability Zone, um die Instance in der instabilen Availability Zone zu ersetzen. Wenn dann die instabile Availability Zone 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 Wiederherstellen des Gleichgewichts startet Amazon EC2 Auto Scaling vor dem Beenden der alten Instances neue, damit Leistung und Verfügbarkeit Ihrer Anwendung nicht beeinträchtigt werden.

Da Amazon EC2 Auto Scaling vor dem Beenden der alten Instances versucht, neue zu starten, kann das Wiederherstellen des Gleichgewichts beeinträchtigt und sogar gänzlich unterbrochen werden, falls die angegebene maximale Kapazität nahezu oder gänzlich erreicht ist. 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.