View a markdown version of this page

Verwalte die zurückgehaltenen Instanzen - 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.

Verwalte die zurückgehaltenen Instanzen

Überwachen und steuern Sie Amazon EC2-Instances, die in den Status „Beibehalten“ versetzt wurden. Verwenden Sie CloudWatch Metriken, um die zurückgehaltenen Instances zu verfolgen, und beenden Sie die zurückgehaltenen Instances dann manuell, nachdem Sie Ihre benutzerdefinierten Aktionen abgeschlossen haben.

Beibehaltene Instances werden nicht auf die gewünschte Kapazität Ihrer Amazon EC2 Auto Scaling-Gruppe angerechnet. Wenn eine Instance in den Status „Beibehalten“ wechselt, startet Auto Scaling eine Ersatz-Instance, um die gewünschte Kapazität aufrechtzuerhalten. Nehmen wir zum Beispiel an, Ihre Auto Scaling-Gruppe hat eine gewünschte Kapazität von 10. Wenn eine Instance in den Terminating:Retained Status wechselt, startet Auto Scaling eine Ersatz-Instance, um die gewünschte Kapazität von 10 aufrechtzuerhalten. Sie haben jetzt insgesamt 11 laufende Instances: 10 in Ihrer aktiven Gruppe plus 1 behaltene Instance. Die Amazon EC2-Standardgebühren für alle 11 Instances fallen an, bis Sie die zurückgehaltene Instance manuell beenden.

Status des Instance-Lebenszyklus beibehaltener Instances

Erfahren Sie, wie Instances bei Verwendung von Richtlinien für den Instanzlebenszyklus einen Lebenszyklusstatus durchlaufen. Instances folgen einem bestimmten Pfad von der normalen Kündigung über die Aufbewahrung bis hin zur endgültigen Kündigung.

Wenn die Aufbewahrung ausgelöst wird, durchlaufen die Instanzen die folgenden Zustände:

  1. Terminating— Die normale Kündigung beginnt

  2. Terminating:Wait- Der Lifecycle-Hook wird ausgeführt

  3. Terminating:Proceed- Lifecycle-Aktionen werden abgeschlossen (unabhängig davon, ob sie erfolgreich waren oder fehlgeschlagen sind)

  4. Terminating:Retained- Der Hook schlägt fehl, die Instanz wird für manuelle Eingriffe beibehalten

Warm-Pool-Instances nehmen je nach Szenario unterschiedliche Lebenszykluszustandspfade ein:

Instanzen, die wieder in den Warm-Pool skalieren:

  1. Warmed:Pending- Der normale Übergang zum warmen Pool beginnt

  2. Warmed:Pending:Wait- Der Lifecycle-Hook wird ausgeführt

  3. Warmed:Pending:Proceed- Lifecycle-Aktionen werden abgeschlossen (unabhängig davon, ob sie erfolgreich waren oder fehlgeschlagen sind)

  4. Warmed:Pending:Retained- Der Hook schlägt fehl, die Instanz wird für manuelle Eingriffe beibehalten

Instanzen, die vom Warm-Pool aus beendet werden:

  1. Warmed:Terminating- Die normale Kündigung beginnt

  2. Warmed:Terminating:Wait- Der Lifecycle-Hook wird ausgeführt

  3. Warmed:Terminating:Proceed- Lifecycle-Aktionen werden abgeschlossen (unabhängig davon, ob sie erfolgreich waren oder fehlgeschlagen sind)

  4. Warmed:Terminating:Retained- Der Hook schlägt fehl, die Instanz wird für manuelle Eingriffe beibehalten

Überwachen Sie die gespeicherten Instanzen

Da bei zurückgehaltenen Amazon EC2-Instances Kosten anfallen und manuelle Eingriffe erforderlich sind, ist deren Überwachung unerlässlich. Amazon EC2 Auto Scaling bietet mehrere CloudWatch Metriken zur Nachverfolgung beibehaltener Instances.

Aktivieren Sie Gruppenmetriken, um zurückgehaltene Instances zu verfolgen:

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupTerminatingRetainedInstances

Die verfügbaren Metriken sind:

  • GroupTerminatingRetainedInstanceszeigt die Anzahl der Instanzen im Terminating:Retained Bundesstaat an.

  • GroupTerminatingRetainedCapacityzeigt die Kapazitätseinheiten an, die durch Instanzen im Terminating:Retained Bundesstaat dargestellt werden.

  • WarmPoolTerminatingRetainedCapacityverfolgt die zurückgehaltenen Instanzen, die aus dem warmen Pool enden.

  • WarmPoolPendingRetainedCapacityverfolgt zurückgehaltene Instanzen, die in den warmen Pool zurückkehren.

Sie können auch die Skalierungsaktivitäten Ihrer Amazon EC2 Auto Scaling-Gruppe überprüfen, um zu verstehen, warum Instances beibehalten wurden. Halten Sie Ausschau nach Terminierungsaktivitäten mit Meldungen StatusCode: Cancelled und Statusgründen, die auf Fehler beim Lifecycle-Hook hinweisen:

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg

Wir empfehlen, CloudWatch Alarme für diese Metriken zu erstellen, um Sie zu warnen, wenn Instances in den Status „Beibehalten“ übergehen. Auf diese Weise können Sie die Auswirkungen auf die Kosten verfolgen und sicherstellen, dass Sie nicht vergessen, Instanzen zu bereinigen, bei denen ein manuelles Eingreifen erforderlich ist.

Beenden Sie zurückgehaltene Instanzen

Nachdem Sie Ihre benutzerdefinierten Aktionen abgeschlossen haben, beenden Sie Ihre zurückgehaltenen Instances, indem Sie die TerminateInstanceInAutoScalingGroup API aufrufen:

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-1234567890abcdef0 \ --no-should-decrement-desired-capacity