Steuern Sie die Aufbewahrung von Instances mit Richtlinien für den Instance-Lebenszyklus - 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 Sie die Aufbewahrung von Instances mit Richtlinien für den Instance-Lebenszyklus

Richtlinien für den Instance-Lebenszyklus bieten Schutz vor der Kündigung von Amazon EC2 Auto Scaling, wenn eine Aktion zum Beenden des Lebenszyklus abgebrochen wird. Im Gegensatz zu Lifecycle-Hooks allein sollen Richtlinien für den Instance-Lebenszyklus sicherstellen, dass Instances in einen beibehaltenen Zustand übergehen, wenn das ordnungsgemäße Herunterfahren nicht erfolgreich abgeschlossen werden kann.

Wann sollten Instance-Lifecycle-Richtlinien verwendet werden

Verwenden Sie Richtlinien für den Instanzlebenszyklus, wenn ein ordnungsgemäßes Herunterfahren Ihrer Anwendung nicht optional, sondern obligatorisch ist und ein fehlgeschlagenes Herunterfahren ein manuelles Eingreifen erfordert. Häufige Anwendungsfälle umfassen:

  • Stateful-Anwendungen, die vor der Kündigung die Datenpersistenz abschließen müssen.

  • Anwendungen, die längere Entladezeiten erfordern, die das maximale Lifecycle-Hook-Timeout von 48 Stunden überschreiten können.

  • Workloads, die sensible Daten verarbeiten und bei denen die Bereinigung fehlschlägt oder unvollständig ist, können zu Datenverlust oder -beschädigung führen.

  • Geschäftskritische Dienste, bei denen ein abruptes Herunterfahren die Verfügbarkeit beeinträchtigt.

Weitere Informationen zur ordnungsgemäßen Handhabung der Instanzbeendigung finden Sie unter. Gestalten Sie Ihre Anwendungen so, dass sie die Instance-Kündigung ordnungsgemäß handhaben

So funktionieren Instance-Lebenszyklus-Richtlinien mit Terminierungs-Lifecycle-Hooks

Richtlinien für den Instanzlebenszyklus funktionieren in Kombination mit Terminierungs-Lifecycle-Hooks, nicht als Ersatz. Der Prozess besteht aus mehreren Phasen:

  1. Die Aktionen im Lebenszyklus der Kündigung werden ausgeführt. Wenn Amazon EC2 Auto Scaling eine Instance zur Kündigung auswählt, werden Ihre Terminierungs-Lifecycle-Hooks aufgerufen und die Instance wechselt in den Terminating:Wait Status, in dem sie mit der Ausführung der Terminierungslebenszyklus-Aktionen beginnen kann.

  2. Der Versuch, das System ordnungsgemäß herunterzufahren, beginnt. Ihre Anwendung, die entweder auf der Instance oder über eine Steuerungsebene ausgeführt wird, erhält die Benachrichtigung über die Aktion zum Beenden des Lebenszyklus und beginnt mit Verfahren zum ordnungsgemäßen Herunterfahren, wie z. B. das Löschen von Verbindungen, das Abschließen laufender Arbeiten oder das Übertragen von Daten.

  3. Die Aktionen im Lebenszyklus der Kündigung sind abgeschlossen. Eine Aktion im Lebenszyklus einer Kündigung kann mit CONTINUE oder mit einem ABANDON Ergebnis abgeschlossen werden.

  4. Die Richtlinie für den Instanzlebenszyklus bewertet die Situation. Wenn keine Instance-Lebenszyklus-Richtlinie konfiguriert ist, wird die Instance sofort beendet, auch wenn die Aktion zum Beenden des Lebenszyklus erfolgreich abgeschlossen wurdeABANDON. Wenn eine Instance-Lebenszyklus-Richtlinie so konfiguriert ist, dass Instances aktiviert bleibenTerminateHookAbandon, wechselt die Instance in den Status Beibehalten, wenn die Aktion zum Beenden des Lebenszyklus erfolgreich abgeschlossen ABANDON wurde.

  5. Beibehaltene Instances warten auf manuelle Maßnahmen. Für Instances in den beibehaltenen Staaten fallen weiterhin die Standardgebühren von Amazon EC2 an. Diese Instances werden nicht auf die gewünschte Kapazität Ihrer Auto Scaling-Gruppe angerechnet, sodass Auto Scaling Ersatz-Instances startet, um die gewünschte Größe beizubehalten. Auto Scaling Scaling-Funktionen wie Instanzaktualisierung und maximale Instanzlebensdauer ignorieren ebenfalls beibehaltene Instances. Auf diese Weise können Sie Bereinigungsvorgänge manuell abschließen, Daten wiederherstellen oder untersuchen, warum das automatische Herunterfahren fehlgeschlagen ist, bevor Sie die Instance manuell beenden.

  6. Es erfolgt eine manuelle Kündigung. Nachdem Sie die erforderlichen Aktionen für die beibehaltene Instance abgeschlossen haben, müssen Sie die TerminateInstanceInAutoScalingGroup API aufrufen, um die Instance zu beenden.