

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
<a name="instance-lifecycle-policy"></a>

 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
<a name="when-to-use-instance-lifecycle-policies"></a>

 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](gracefully-handle-instance-termination.md) 

## So funktionieren Instance-Lebenszyklus-Richtlinien mit Terminierungs-Lifecycle-Hooks
<a name="how-instance-lifecycle-policies-work"></a>

 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. 

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

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

1.  **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 wurde`ABANDON`. Wenn eine Instance-Lebenszyklus-Richtlinie so konfiguriert ist, dass Instances aktiviert bleiben`TerminateHookAbandon`, wechselt die Instance in den Status Beibehalten, wenn die Aktion zum Beenden des Lebenszyklus erfolgreich abgeschlossen `ABANDON` wurde. 

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

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

# Konfigurieren Sie die Aufbewahrung von Instanzen
<a name="configure-instance-retention"></a>

Richten Sie Ihre Amazon EC2 Auto Scaling Scaling-Gruppe so ein, dass Instances beibehalten werden, wenn die Aktionen im Terminierungszyklus fehlschlagen.

 Um Instance-Lifecycle-Richtlinien in Ihrer Auto Scaling Scaling-Gruppe zu verwenden, müssen Sie auch einen Termination-Lifecycle-Hook konfigurieren. Wenn Sie eine Instance-Lebenszyklus-Richtlinie konfigurieren, aber keine Terminierungs-Lifecycle-Hooks haben, hat die Richtlinie keine Wirkung. Richtlinien für den Instanzlebenszyklus gelten nur, wenn Aktionen zum Kündigungszyklus abgebrochen werden, nicht, wenn sie erfolgreich mit dem `CONTINUE` Ergebnis abgeschlossen wurden. 

 Richtlinien für den Instanzlebenszyklus verwenden Aufbewahrungsauslöser, um zu bestimmen, wann eine Instance aufbewahrt werden soll. Der `TerminateHookAbandon` Auslöser führt in mehreren Szenarien zur Aufbewahrung: 
+  Wenn Sie die [ CompleteLifecycleAction](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html)API explizit mit dem `ABANDON` Ergebnis aufrufen. 
+  Wenn bei einer Aktion im Terminierungszyklus mit Standardergebnis das `ABANDON` Timeout überschritten wird, weil das Heartbeat-Timeout erreicht wird, ohne dass ein Heartbeat empfangen wurde. 
+  Wenn das globale Timeout für eine Aktion im Lebenszyklus einer Kündigung mit einem Standardergebnis erreicht wird`ABANDON`, das 48 Stunden oder das 100-fache des Heartbeat-Timeouts beträgt, je nachdem, welcher Wert kleiner ist 

------
#### [ Console ]

**Um die Aufbewahrung von Instanzen zu konfigurieren**

1. Öffnen Sie die Amazon EC2 Auto Scaling Scaling-Konsole

1. Erstellen Sie Ihre Auto Scaling Scaling-Gruppe (die Instance-Lebenszyklus-Richtlinie ist standardmäßig auf Terminate eingestellt)

1. Gehen Sie zu Ihrer Auto Scaling Scaling-Gruppendetailseite und wählen Sie den Tab **Instance Management**.

1. Wählen Sie unter **Instance-Lebenszyklus-Richtlinie für Lifecycle-Hooks** die Option **Retain**

1. Erstellen Sie Ihre Termination-Lifecycle-Hooks mit:
   + Der Lebenszyklusübergang ist auf „**Instanz beenden**“ gesetzt
   + Das Standardergebnis ist auf **Abandon** eingestellt

------
#### [ AWS CLI ]

**Um die Aufbewahrung von Instanzen zu konfigurieren**  
 Verwenden Sie den [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)Befehl mit einer Instanzlebenszyklus-Richtlinie: 

```
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name my-asg \
--launch-template LaunchTemplateName=my-template,Version='$Latest' \
--min-size 1 \
--max-size 3 \
--desired-capacity 2 \
--vpc-zone-identifier subnet-12345678 \
--instance-lifecycle-policy file://lifecycle-policy.json
```

Inhalt von lifecycle ycle-policy.json:

```
{
    "RetentionTriggers": {
        "TerminateHookAbandon": "retain"
    }
}
```

**So fügen Sie einen Termination-Lebenszyklus-Hook hinzu**  
Verwenden Sie den [-Befehl:put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)

```
aws autoscaling put-lifecycle-hook \
--lifecycle-hook-name my-termination-hook \
--auto-scaling-group-name my-asg \
--lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING \
--default-result ABANDON \
--heartbeat-timeout 300
```

------

# Beibehaltene Instanzen verwalten
<a name="manage-retained-instances"></a>

 Überwachen und kontrollieren Sie Amazon EC2 EC2-Instances, die in einen beibehaltenen Zustand versetzt wurden. Verwenden Sie CloudWatch Metriken, um zurückbehaltene Instances nachzuverfolgen, 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 Scaling-Gruppe angerechnet. Wenn eine Instance in den Status „Beibehalten“ übergeht, startet Auto Scaling eine Ersatz-Instance, um die gewünschte Kapazität aufrechtzuerhalten. Nehmen wir zum Beispiel an, Ihre Auto Scaling 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 beibehaltene Instance. Die Amazon EC2 EC2-Standardgebühren für alle 11 Instances fallen an, bis Sie die beibehaltene Instance manuell kündigen. 

## Status des Instance-Lebenszyklus der beibehaltenen Instances
<a name="instance-lifecyle-states-of-retained-instances"></a>

 Verschaffen Sie sich einen Überblick darüber, wie Instanzen den jeweiligen Lebenszyklusstatus durchlaufen, wenn Richtlinien für den Instanzlebenszyklus verwendet werden. 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 Instances den folgenden Status:*

1. `Terminating`- Die normale Kündigung beginnt

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

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

1. `Terminating:Retained`- Der Hook schlägt fehl, die Instanz wird für manuelles Eingreifen beibehalten

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

*Instanzen, die zurück in den Warmpool skalieren:*

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

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

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

1. `Warmed:Pending:Retained`- Der Hook schlägt fehl, die Instanz wird für manuelles Eingreifen beibehalten

*Instanzen, die vom warmen Pool aus beendet werden:*

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

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

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

1. `Warmed:Terminating:Retained`- Der Hook schlägt fehl, die Instanz wird für manuelles Eingreifen beibehalten

## Überwachen Sie die gespeicherten Instanzen
<a name="monitor-retained-instances"></a>

 Da für die Aufbewahrung von Amazon EC2 EC2-Instances Kosten anfallen und manuelles Eingreifen erforderlich sind, ist deren Überwachung unerlässlich. Amazon EC2 Auto Scaling bietet mehrere CloudWatch Metriken zur Nachverfolgung von gespeicherten Instances. 

Aktivieren Sie Gruppenmetriken, um beibehaltene Instances nachzuverfolgen:

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

Die verfügbaren Metriken sind:
+  `GroupTerminatingRetainedInstances`zeigt die Anzahl der Instanzen im `Terminating:Retained` Bundesstaat an. 
+  `GroupTerminatingRetainedCapacity`zeigt die Kapazitätseinheiten an, die durch Instances im `Terminating:Retained` Bundesstaat repräsentiert werden. 
+  `WarmPoolTerminatingRetainedCapacity`verfolgt beibehaltene Instances, die im warmen Pool enden. 
+  `WarmPoolPendingRetainedCapacity`verfolgt die zurückgehaltenen 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. Suchen Sie nach Kündigungsaktivitäten mit `StatusCode: Cancelled` Meldungen zur Begründung des Status, 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 benachrichtigen, wenn Instances in den Status „Beibehalten“ wechseln. Auf diese Weise können Sie die Auswirkungen auf die Kosten verfolgen und sicherstellen, dass Sie nicht vergessen, Instanzen zu bereinigen, die manuelles Eingreifen erfordern. 

## Beibehaltene Instanzen beenden
<a name="terminate-retained-instances"></a>

Nachdem Sie Ihre benutzerdefinierten Aktionen abgeschlossen haben, beenden Sie Ihre gespeicherten Instances, indem Sie die [ TerminateInstanceInAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html)API aufrufen: 

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