Änderungen mit einem Rollback rückgängig machen - 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.

Änderungen mit einem Rollback rückgängig machen

Sie können eine Instance-Aktualisierung, die noch ausgeführt wird, rückgängig machen. Sie können den Vorgang nicht mehr rückgängig machen, nachdem er beendet ist. Sie können Ihre Auto-Scaling-Gruppe jedoch erneut aktualisieren, indem Sie eine neue Instance-Aktualisierung starten.

Beim Rollback ersetzt Amazon EC2 Auto Scaling die Instances, die bisher bereitgestellt wurden. Die neuen Instances entsprechen der letzten Konfiguration, die Sie in der Auto-Scaling-Gruppe gespeichert haben, bevor Sie mit der Instance-Aktualisierung begonnen haben.

Amazon EC2 Auto Scaling bietet die folgenden Möglichkeiten ein Rollback durchzuführen:

  • Manuelles Rollback: Sie starten ein Rollback manuell, um das, was bis zum Rollback-Punkt bereitgestellt wurde, rückgängig zu machen.

  • Automatisches Rollback: Amazon EC2 Auto Scaling macht automatisch rückgängig, was bereitgestellt wurde, wenn die Instance-Aktualisierung aus irgendeinem Grund fehlschlägt oder wenn von Ihnen angegebene CloudWatch Alarme in den Status wechseln. ALARM

Überlegungen

Die folgenden Überlegungen gelten für die Verwendung eines Rollbacks:

  • Die Rollback-Option ist nur verfügbar, wenn Sie beim Starten einer Instance-Aktualisierung eine gewünschte Konfiguration angeben.

  • Sie können nur dann zu einer früheren Version einer Startvorlage zurückkehren, wenn es sich bei der Version um eine bestimmte nummerierte Version handelt. Die Rollback-Option ist nicht verfügbar, wenn die Auto-Scaling-Gruppe so konfiguriert ist, dass sie die Startvorlagenversion $Latest oder $Default verwendet.

  • Sie können auch nicht zu einer Startvorlage zurückkehren, die für die Verwendung eines AMI-Alias aus dem AWS Systems Manager Parameterspeicher konfiguriert ist.

  • Die Konfiguration, die Sie zuletzt in der Auto-Scaling-Gruppe gespeichert haben, muss sich in einem stabilen Zustand befinden. Wenn er sich nicht in einem stabilen Zustand befindet, wird der Rollback-Workflow trotzdem ausgeführt, aber er wird letztendlich fehlschlagen. Bis Sie das Problem behoben haben, befindet sich die Auto-Scaling-Gruppe möglicherweise in einem fehlerhaften Status, in dem Instances nicht mehr erfolgreich gestartet werden können. Dies kann die Verfügbarkeit des Services oder der Anwendung beeinträchtigen.

Manuelles Starten eines Rollbacks

Console
So starten Sie manuell ein Rollback einer Instance-Aktualisierung (Konsole)
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.

  2. Aktivieren Sie das Kontrollkästchen neben der Auto-Scaling-Gruppe.

  3. Wählen Sie auf der Registerkarte Instance-Aktualisierung unter Aktive Instance-Aktualisierung die Optionen Aktionen und dann Rollback starten.

  4. Wenn Sie zur Bestätigung aufgefordert werden, wählen Sie Confirm (Bestätigen).

AWS CLI
So starten Sie manuell ein Rollback einer Instance-Aktualisierung (AWS CLI)

Verwenden Sie den Befehl rollback-instance-refresh von der AWS CLI und geben Sie den Namen der Auto-Scaling-Gruppe an.

aws autoscaling rollback-instance-refresh --auto-scaling-group-name my-asg

Beispielausgabe:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Tipp

Wenn dieser Befehl einen Fehler auslöst, stellen Sie sicher, dass Sie den Befehl AWS CLI lokal auf die neueste Version aktualisiert haben.

Starten einer Instance-Aktualisierung mit automatischem Rollback

Mithilfe der auto Rollback-Funktion können Sie die Instance-Aktualisierung automatisch rückgängig machen, wenn sie fehlschlägt, z. B. wenn Fehler auftreten oder ein bestimmter CloudWatch Amazon-Alarm in den ALARM Status wechselt.

Wenn Sie das automatische Rollback aktivieren und beim Ersetzen von Instances Fehler auftreten, versucht die Instance-Aktualisierung eine Stunde lang, alle Ersetzungen abzuschließen, bevor sie fehlschlägt und ein Rollback erfolgt. Diese Fehler werden in der Regel dadurch verursacht, dass EC2-Startfehler, falsch konfigurierte Integritätsprüfungen oder das Nichtignorieren oder Beenden von Instances, die sich im Status Standby befinden oder vor dem Abskalieren geschützt sind, nicht ignoriert oder zugelassen werden.

Die Angabe von CloudWatch Alarmen ist optional. Um einen Alarm anzugeben, müssen Sie ihn zunächst erstellen. Sie können Metrikalarme und zusammengesetzte Alarme angeben. Informationen zum Erstellen des Alarms finden Sie im CloudWatch Amazon-Benutzerhandbuch. Wenn Sie beispielsweise Elastic Load Balancing-Metriken verwenden und einen Application Load Balancer verwenden, könnten Sie die Metriken HTTPCode_ELB_5XX_Count und HTTPCode_ELB_4XX_Count verwenden.

Überlegungen
  • Wenn Sie einen CloudWatch Alarm angeben, aber kein auto Rollback aktivieren und der Alarmstatus auf wechseltALARM, schlägt die Instanzaktualisierung ohne Rollback fehl.

  • Sie können maximal 10 Alarme auswählen, wenn Sie eine Instance-Aktualisierung starten.

  • Bei der Auswahl eines CloudWatch Alarms muss sich der Alarm in einem kompatiblen Zustand befinden. Wenn der Alarmstatus INSUFFICIENT_DATA oder ALARM ist, erhalten Sie eine Fehlermeldung, wenn Sie versuchen, die Instance-Aktualisierung zu starten.

  • Wenn Sie einen Alarm für Amazon EC2 Auto Scaling erstellen, sollte der Alarm beinhalten, wie mit fehlenden Datenpunkten umzugehen ist. Wenn bei einer Metrik planmäßig häufig Datenpunkte fehlen, ist der Status des Alarms während dieser Zeiträume INSUFFICIENT_DATA. In diesem Fall kann Amazon EC2 Auto Scaling keine Instances ersetzen, bis neue Datenpunkte gefunden werden. Um den Alarm zu zwingen, den vorherigen Zustand ALARM oder OK beizubehalten, können Sie stattdessen fehlende Daten ignorieren. Weitere Informationen finden Sie unter Konfiguration der Behandlung fehlender Daten durch Alarme im CloudWatch Amazon-Benutzerhandbuch.

Console
So starten Sie eine Instance-Aktualisierung mit automatischem Rollback (Konsole)
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.

  2. Aktivieren Sie das Kontrollkästchen neben der Auto-Scaling-Gruppe.

  3. Wählen Sie auf der Registerkarte Instance refresh (Instance-Aktualisierung) unter Active instance refresh (Aktive Instance-Aktualisierung) die Option Start instance refresh (Instance-Aktualisierung starten) aus.

  4. Befolgen Sie das Starten einer Instance-Aktualisierung (Konsole)-Verfahren und konfigurieren Sie die Einstellungen Ihrer Instance-Aktualisierungen nach Bedarf.

  5. (Optional) Wählen Sie unter Einstellungen aktualisieren für CloudWatch Alarm die Option CloudWatch Alarme aktivieren und wählen Sie dann einen oder mehrere Alarme aus, um Probleme zu identifizieren und den Vorgang fehlschlagen zu lassen, wenn ein Alarm in den ALARM Status wechselt.

  6. Wählen Sie unter Rollback-Einstellungen die Option Automatisches Rollback aus, um eine fehlgeschlagene Instance-Aktualisierung automatisch auf die Konfiguration zurückzusetzen, die Sie zuletzt in der Auto-Scaling-Gruppe gespeichert haben, bevor Sie mit der Instance-Aktualisierung begonnen haben.

  7. Überprüfen Sie Ihre Auswahl und wählen Sie dann Instance-Aktualisierung starten.

AWS CLI
So starten Sie eine Instance-Aktualisierung mit automatischem Rollback (AWS CLI)

Verwenden Sie den Befehl start-instance-refresh und geben Sie true für die Option AutoRollback in Preferences an.

Das folgende Beispiel zeigt, wie eine Instance-Aktualisierung gestartet wird, die automatisch zurückgesetzt wird, wenn etwas fehlschlägt. Ersetzen Sie die italicized Parameterwerte durch eigene.

aws autoscaling start-instance-refresh --cli-input-json file://config.json

Inhalt von config.json.

{ "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1" } }, "Preferences": { "AutoRollback": true } }

Sie können auch ein automatisches Rollback durchführen, wenn die Instanzaktualisierung fehlschlägt oder wenn sich ein bestimmter CloudWatch Alarm im ALARM Status befindet, indem Sie die AlarmSpecification Option in der angeben Preferences und den Namen des Alarms angeben, wie im folgenden Beispiel. Ersetzen Sie die italicized Parameterwerte durch eigene.

{ "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1" } }, "Preferences": { "AutoRollback": true, "AlarmSpecification": { "Alarms": [ "my-alarm" ] } } }

Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Tipp

Wenn dieser Befehl einen Fehler auslöst, stellen Sie sicher, dass Sie die AWS CLI lokale Version auf die neueste Version aktualisiert haben.