So funktioniert eine Instanzaktualisierung in einer Auto Scaling Scaling-Gruppe - 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.

So funktioniert eine Instanzaktualisierung in einer Auto Scaling Scaling-Gruppe

In diesem Thema wird beschrieben, wie eine Instanzaktualisierung funktioniert, und es werden die wichtigsten Konzepte vorgestellt, die Sie verstehen müssen, um sie effektiv nutzen zu können.

Funktionsweise

Um Instances in einer Auto Scaling Scaling-Gruppe zu aktualisieren, können Sie eine neue Konfiguration definieren, die die neueste Version Ihrer Anwendung und alle anderen Updates, die Sie vornehmen möchten, enthält. Starten Sie dann eine Instanzaktualisierung, um bestehende Instances auf der Grundlage dieser Konfiguration durch neue zu ersetzen.

So führen Sie eine Instanzaktualisierung durch:

  1. Erstellen Sie eine neue Startvorlage oder aktualisieren Sie die bestehende Vorlage mit den gewünschten Konfigurationsänderungen, z. B. einem neuen Amazon Machine Image (AMI). Weitere Informationen finden Sie unter Erstellen einer Startvorlage für eine Auto-Scaling-Gruppe.

  2. Starten Sie die Instance-Aktualisierung mit der Amazon EC2 Auto Scaling Scaling-Konsole oder dem SDK: AWS CLI

    • Geben Sie die neue Startvorlage oder die Version der Startvorlage an, die Sie erstellt haben. Dies wird verwendet, um neue Instances zu starten.

    • Legen Sie den bevorzugten Mindest- und Höchstwert für gesunde Werte fest. Dadurch wird gesteuert, wie viele Instances gleichzeitig ersetzt werden und ob neue Instances gestartet werden, bevor alte beendet werden.

    • Konfigurieren Sie alle optionalen Einstellungen, wie z. B.:

      • Checkpoints — Unterbrechen Sie die Aktualisierung der Instanz nach einem bestimmten Prozentsatz an Ersetzungen, um den Fortschritt zu überprüfen.

      • Zuordnung überspringen — Vergleichen Sie alte Instances mit der neuen Konfiguration und ersetzen Sie nur diejenigen, die nicht übereinstimmen. Wenn Sie eine Instanzaktualisierung von der Konsole aus starten, ist „Abgleich überspringen“ standardmäßig aktiviert.

      • Mehrere Instanztypen — Wenden Sie eine neue oder aktualisierte Richtlinie für gemischte Instanzen als Teil der gewünschten Konfiguration an.

Wenn die Instance-Aktualisierung gestartet wurde, wird Amazon EC2 Auto Scaling:

  • Ersetzt Instances stapelweise auf der Grundlage der minimalen und maximalen fehlerfreien Werte.

  • Starten Sie zuerst die neuen Instances, bevor Sie die alten beenden, wenn der Mindestprozentsatz für fehlerfreie Instances auf 100 Prozent festgelegt ist. Dadurch wird sichergestellt, dass Ihre gewünschte Kapazität jederzeit beibehalten wird.

  • Überprüfen Sie den Integritätsstatus der Instances und geben Sie ihnen Zeit, sich aufzuwärmen, bevor weitere Instanzen ersetzt werden.

  • Beenden und ersetzen Sie Instances, die sich als fehlerhaft erwiesen haben.

  • Aktualisieren Sie die Auto Scaling Scaling-Gruppeneinstellungen automatisch mit den neuen Konfigurationsänderungen, nachdem die Instanzaktualisierung erfolgreich war.

  • Ersetzen Sie InService Instanzen vor Instanzen, die sich in einem warmen Pool befinden.

Das folgende Flussdiagramm veranschaulicht das Verhalten beim Starten vor dem Beenden, wenn Sie den fehlerfreien Mindestwert auf 100 Prozent festlegen.

Ein Diagramm, das zeigt, wie eine Instanzaktualisierung funktioniert, wenn der Mindestfehlergrad auf 100 Prozent festgelegt ist.
Anmerkung

Die Mindest- und Höchstwerte für einen fehlerfreien Zustand bei einer Instanzaktualisierung müssen nur angegeben werden, wenn Sie keine Instanzwartungsrichtlinie festgelegt haben oder wenn Sie die bestehende Richtlinie überschreiben müssen. Weitere Informationen finden Sie unter Wartungsrichtlinien für Instances.

Ebenso müssen Sie den Instanz-Aufwärmzeitraum für eine Instanzaktualisierung nur angeben, wenn Sie den Standard-Warmup nicht aktiviert haben oder wenn Sie den Standard überschreiben müssen. Weitere Informationen finden Sie unter Legen Sie die standardmäßige Instance-Vorbereitung für eine Auto-Scaling-Gruppe fest.

Schlüsselkonzepte

Bevor Sie beginnen, sollten Sie sich mit folgenden zentralen Konzepten der Instance-Aktualisierungen vertraut machen:

Minimaler fehlerfreier Prozentsatz

Der minimale fehlerfreie Prozentsatz ist der Prozentsatz der gewünschten Kapazität, die während einer Instanzaktualisierung in Betrieb, fehlerfrei und einsatzbereit bleiben soll, sodass die Aktualisierung fortgesetzt werden kann. Wenn der minimale fehlerfreie Prozentsatz beispielsweise 90 Prozent beträgt, und der maximale fehlerfreie Prozentsatz 100 Prozent beträgt, dann werden jeweils 10 Prozent der Kapazität ersetzt. Wenn die neuen Instances ihre Zustandsprüfungen nicht bestehen, beendet Amazon EC2 Auto Scaling sie und ersetzt diese. Wenn die Instance-Aktualisierung keine fehlerfreien Instances starten kann, wird sie schließlich fehlschlagen, und die anderen 90 Prozent der Gruppe bleiben unberührt. Wenn die neuen Instances fehlerfrei bleiben und ihre Aufwärmphase abgeschlossen haben, kann Amazon EC2 Auto Scaling weiterhin andere Instances ersetzen.

Eine Instance-Aktualisierung kann eine einzelne Instance, mehrere Instances auf einmal oder alle auf einmal ersetzen. Um jeweils nur eine Instance zu ersetzen, legen Sie einen fehlerfreien minimalen und maximalen Prozentsatz von 100 Prozent fest. Dadurch wird das Verhalten einer Instance-Aktualisierung dahingehend geändert, dass sie vor der Beendigung gestartet wird, wodurch verhindert wird, dass die Kapazität der Gruppe unter 100 Prozent der gewünschten Kapazität fällt. Um alle Instances auf einmal zu ersetzen, legen Sie einen fehlerfreien Mindestprozentsatz von 0 Prozent fest.

Maximaler fehlerfreier Prozentsatz

Der maximale fehlerfreie Prozentsatz ist der Prozentsatz der gewünschten Kapazität, auf den Ihre Auto-Scaling-Gruppe beim Austausch von Instances erhöhen kann. Die Differenz zwischen Minimum und Maximum darf 100 nicht überschreiten. Ein größerer Bereich erhöht die Anzahl der Instances, die gleichzeitig ausgetauscht werden können.

Instance-Aufwärmphase

Der Instance-Warmup ist die Zeitspanne zwischen dem Zeitpunkt, an dem sich der Zustand einer neuen Instance zu InService ändert, und dem Zeitpunkt, an dem davon ausgegangen wird, dass sie ihre Initialisierung abgeschlossen hat. Wenn die Instances während einer Instance-Aktualisierung ihre Zustandsprüfungen bestehen, fährt Amazon EC2 Auto Scaling nicht sofort mit dem Ersetzen der nächsten Instance fort, nachdem festgestellt wurde, dass eine neu gestartete Instance fehlerfrei ist. Es wartet die Aufwärmphase ab, bevor es mit dem Ersetzen der nächsten Instance fortfährt. Dies kann hilfreich sein, wenn Ihre Anwendung noch eine gewisse Initialisierungszeit benötigt, bevor sie auf Anfragen reagiert.

Die Aufwärmphase der Instance funktioniert genauso wie die standardmäßige Aufwärmphase der Instance. Daher gelten dieselben Überlegungen zur Skalierung. Weitere Informationen finden Sie unter Legen Sie die standardmäßige Instance-Vorbereitung für eine Auto-Scaling-Gruppe fest.

Gewünschte Konfiguration

Die gewünschte Konfiguration ist die neue Konfiguration, die Amazon EC2 Auto Scaling in Ihrer Auto-Scaling-Gruppe bereitstellen soll. Sie können beispielsweise eine neue Startvorlage und neue Instance-Typen für Ihre Instances angeben. Während einer Instance-Aktualisierung aktualisiert Amazon EC2 Auto Scaling die Auto-Scaling-Gruppe auf die gewünschte Konfiguration. Wenn während einer Instance-Aktualisierung ein Scale-Out-Ereignis auftritt, startet Amazon EC2 Auto Scaling neue Instances mit der gewünschten Konfiguration anstelle der aktuellen Einstellungen der Gruppe. Nach erfolgreicher Instance-Aktualisierung aktualisiert Amazon EC2 Auto Scaling die Auto-Scaling-Gruppeneinstellungen, um die neue gewünschte Konfiguration wiederzugeben, die Sie als Teil der Instance-Aktualisierung angegeben haben.

Überspringen

Das Überspringen des Abgleichs weist Amazon EC2 Auto Scaling an, Instances zu ignorieren, die bereits über Ihre neuesten Aktualisierungen verfügen. Auf diese Weise ersetzen Sie nicht mehr Instances als Sie benötigen. Dies ist hilfreich, wenn Sie sicherstellen möchten, dass Ihre Auto-Scaling-Gruppe eine bestimmte Version Ihrer Startvorlage verwendet und nur die Instances ersetzt, die eine andere Version verwenden.

Prüfpunkte

Ein Checkpoint ist ein Zeitpunkt, an dem die Instance-Aktualisierung für eine bestimmte Zeit angehalten wird. Eine Instance-Aktualisierung kann mehrere Checkpoints enthalten. Amazon EC2 Auto Scaling gibt Ereignisse für jeden Checkpoint aus. Daher können Sie eine EventBridge Regel hinzufügen, um die Ereignisse an ein Ziel wie Amazon SNS zu senden, um benachrichtigt zu werden, wenn ein Checkpoint erreicht wird. Nachdem ein Prüfpunkt erreicht wurde, haben Sie die Möglichkeit, Ihre Bereitstellung zu überprüfen. Wenn Probleme festgestellt werden, können Sie die Instance -Aktualisierung abbrechen oder zurücksetzen. Die Möglichkeit, Updates in Phasen bereitzustellen, ist ein wesentlicher Vorteil von Checkpoints. Wenn Sie keine Checkpoints verwenden, werden fortlaufend rollende Ersetzungen durchgeführt.

Weitere Informationen zu allen Standardeinstellungen, die Sie beim Starten einer Instance-Aktualisierung konfigurieren können, finden Sie unterDie Standardwerte für eine Instance-Aktualisierung verstehen.

Frist der Zustandsprüfung

Amazon EC2 Auto Scaling bestimmt anhand des Status der von Ihrer Auto-Scaling-Gruppe verwendeten Zustandsprüfungen, ob eine Instance fehlerfrei ist. Weitere Informationen finden Sie unter Zustandsprüfungen für Instances in einer Auto-Scaling-Gruppe.

Um sicherzustellen, dass diese Zustandsprüfungen so schnell wie möglich beginnen, sollten Sie die Karenzzeit für die Zustandsprüfung der Gruppe nicht zu hoch ansetzen, nur hoch genug, damit Ihre Elastic Load Balancing-Zustandsprüfungen feststellen können, ob ein Ziel zur Bearbeitung von Anfragen verfügbar ist. Weitere Informationen finden Sie unter Legen Sie die Wartefrist für die Zustandsprüfung einer Auto-Scaling-Gruppe fest.

Kompatibilität von Instance-Typen

Bevor Sie Ihren Instance-Typ ändern, sollten Sie überprüfen, ob er mit Ihrer Startvorlage kompatibel ist. Dadurch wird die Kompatibilität mit dem von Ihnen angegebenen AMI bestätigt. Angenommen, Sie haben Ihre ursprünglichen Instances von einem paravirtuellen (PV) AMI gestartet, möchten aber zu einem Instance-Typ der aktuellen Generation wechseln, der nur von einem Hardware Virtual Machine (HVM) AMI unterstützt wird. In diesem Fall müssen Sie in Ihrer Startvorlage ein HVM-AMI verwenden.

Um die Kompatibilität des Instance-Typs zu bestätigen, ohne Instances zu starten, verwenden Sie den Befehl run-instances mit der Option --dry-run, wie im folgenden Beispiel gezeigt.

aws ec2 run-instances --launch-template LaunchTemplateName=my-template,Version='1' --dry-run

Informationen darüber, wie die Kompatibilität bestimmt wird, finden Sie unter Kompatibilität bei der Änderung des Instance-Typs im Amazon EC2 EC2-Benutzerhandbuch.

Einschränkungen

  • Gesamtdauer: Die maximale Zeitspanne, die eine Instance-Aktualisierung aktiv Instances ersetzen kann, beträgt 14 Tage.

  • Unterschied im Verhalten gewichteter Gruppen: Wenn eine gemischte Instances-Gruppe mit einer Instance-Gewichtung konfiguriert ist, die größer oder gleich der gewünschten Kapazität der Gruppe ist, ersetzt Amazon EC2 Auto Scaling möglicherweise alle InService-Instances auf einmal. Um diese Situation zu vermeiden, folgen Sie der Empfehlung im Konfigurieren Sie eine Auto Scaling Scaling-Gruppe für die Verwendung von Instanzgewichten-Thema. Geben Sie eine gewünschte Kapazität an, die größer ist als Ihre größte Gewichtung, wenn Sie Gewichtungen mit Ihrer Auto-Scaling-Gruppe verwenden.

  • Zeitüberschreitung nach einer Stunde: Wenn eine Instance-Aktualisierung keine weiteren Ersetzungen vornehmen kann, weil sie darauf wartet, Instances im Standby-Modus oder vor Abskalierung geschützte Instances zu ersetzen, oder weil die neuen Instances ihre Zustandsprüfungen nicht bestehen, wiederholt Amazon EC2 Auto Scaling den Versuch eine Stunde lang. Es wird auch eine Statusmeldung angezeigt, mit der Sie das Problem beheben können. Wenn das Problem nach einer Stunde weiterhin besteht, schlägt der Vorgang fehl. Die Absicht besteht darin, ihm im Falle eines vorübergehenden Problems Zeit zur Wiederherstellung zu geben.

  • Code mithilfe von Benutzerdaten bereitstellen: Bei Skip Matching wird nicht nach Codeänderungen gesucht, die über ein Benutzerdatenskript bereitgestellt werden. Wenn Sie Benutzerdaten verwenden, um neuen Code abzurufen und diese Updates auf neuen Instances zu installieren, empfehlen wir Ihnen, den Skip-Abgleich zu deaktivieren, um sicherzustellen, dass alle Instanzen Ihren neuesten Code erhalten, auch ohne ein Versionsupdate für die Startvorlage.

  • Aktualisierungseinschränkung: Wenn Sie versuchen, die Startvorlage, die Startkonfiguration oder die Richtlinie für gemischte Instanzen einer Auto Scaling Scaling-Gruppe zu aktualisieren, während eine Instance-Aktualisierung mit der gewünschten Konfiguration aktiv ist, schlägt die Anfrage mit dem folgenden Validierungsfehler fehl: An active instance refresh with a desired configuration exists. All configuration options derived from the desired configuration are not available for update while the instance refresh is active.