

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.

# Fügen Sie Lifecycle-Hooks zu Ihrer Auto Scaling Scaling-Gruppe hinzu
<a name="adding-lifecycle-hooks"></a>

Um Ihre Instances mit automatischer Skalierung in einen Wartezustand zu versetzen und benutzerdefinierte Aktionen für sie durchzuführen, können Sie Ihrer Auto-Scaling-Gruppe Lebenszyklus-Hooks hinzufügen. Benutzerdefinierte Aktionen werden beim Start der Instances oder vor dem Beenden ausgeführt. Die Instances bleiben in einem Wartezustand, bis Sie entweder die Lebenszyklusaktion beenden oder der Timeout-Zeitraum endet.

Nachdem Sie aus der eine Auto Scaling Scaling-Gruppe erstellt haben AWS-Managementkonsole, können Sie ihr einen oder mehrere Lifecycle-Hooks hinzufügen, bis zu insgesamt 50 Lifecycle-Hooks. Sie können auch das AWS CLI, oder ein SDK verwenden CloudFormation, um einer Auto Scaling Scaling-Gruppe Lifecycle-Hooks hinzuzufügen, während Sie sie erstellen.

Wenn Sie einen Lifecycle-Hook in der Konsole hinzufügen, sendet Amazon EC2 Auto Scaling standardmäßig Lebenszyklusereignisbenachrichtigungen an Amazon EventBridge. Die Verwendung EventBridge eines Benutzerdatenskripts ist eine empfohlene bewährte Methode. Um einen Lifecycle-Hook zu erstellen, der Benachrichtigungen direkt an Amazon SNS oder Amazon SQS sendet, können AWS Lambda Sie den [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)Befehl verwenden, wie in den Beispielen in diesem Thema gezeigt.

**Topics**
+ [Lebenszyklus-Hooks hinzufügen (Konsole)](#adding-lifecycle-hooks-console)
+ [Hinzufügen von Lebenszyklus-Hooks (AWS CLI)](#adding-lifecycle-hooks-aws-cli)

## Lebenszyklus-Hooks hinzufügen (Konsole)
<a name="adding-lifecycle-hooks-console"></a>

Gehen Sie folgendermaßen vor, um Ihrer Auto-Scaling-Gruppe einen Lebenszyklus-Hook hinzuzufügen. Um Lebenszyklus-Hooks zum Aufskalieren (Starten von Instances) und Abskalieren (Beenden von Instances oder bei der Rückkehr zu einem warmen Pool) zu erstellen, müssen Sie zwei separate Hooks erstellen. 

Bevor Sie beginnen, vergewissern Sie sich, dass Sie bei Bedarf eine benutzerdefinierte Aktion eingerichtet haben, wie unter [Vorbereiten des Hinzufügens eines Lebenszyklus-Hook zu einer Auto-Scaling-Gruppe](prepare-for-lifecycle-notifications.md) beschrieben.

**So fügen Sie einen Lebenszyklus-Hook für das Aufskalieren hinzu**

1. Öffnen Sie die Amazon EC2 EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)und wählen Sie im Navigationsbereich **Auto Scaling Groups** aus.

1. Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe. Im unteren Teil der Seite wird ein geteilter Bereich geöffnet. 

1. Wählen Sie auf der Registerkarte **Instance management (Instance-Verwaltung)** unter **Lebenszyklus-Hooks** die Option **Create Lebenszyklus hook (Lebenszyklus-Hook erstellen)** aus.

1. Gehen Sie wie folgt vor, um einen Lebenszyklus-Hook zum Aufskalieren (Start von Instances) zu definieren:

   1. Geben Sie bei **Lebenszyklus hook name (Name des Lebenszyklus-Hooks)** einen Namen für den Lebenszyklus-Hook an.

   1. Wählen Sie bei **Lifecycle Transition (Lebenszykluswechsel)** die Option **Instance launch (Instance-Start)** aus.

   1. Geben Sie für **Heartbeat-Zeitüberschreitung** die Zeitspanne in Sekunden an, für die Instances in einem Wartezustand verbleiben sollen, wenn Sie aufskalieren, bevor die Zeitüberschreitung des Hook erreicht ist. Der Bereich liegt zwischen `30` und `7200` Sekunden. Das Festlegen eines langen Timeout-Zeitraums bietet mehr Zeit für den Abschluss der benutzerdefinierten Aktion. Wenn Sie dann vor Ablauf des Timeout-Zeitraums fertig sind, senden Sie den [complete-lifecycle-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/complete-lifecycle-action.html)Befehl, damit die Instance zum nächsten Status übergehen kann. 

   1. Definieren Sie für ein **Default result** (Standardergebnis) die Aktion, die ausgeführt werden soll, wenn für den Lebenszyklus-Hook eine Zeitüberschreitung oder ein unerwarteter Fehler auftritt. Sie können entweder **FORTSETZEN** oder **ABBRUCH** auswählen.
      + Wenn Sie **FORTSETZEN** wählen, kann die Auto-Scaling-Gruppe mit allen anderen Lebenszyklus-Hooks fortfahren und die Instance dann in Betrieb nehmen.
      + Wenn Sie **ABBRUCH** wählen, beendet die Auto-Scaling-Gruppe alle verbleibenden Aktionen und beendet die Instance sofort.

   1. (Optional) Geben Sie bei **Benachrichtigungsmetadaten** die weiteren Informationen an, die Sie hinzufügen möchten, wenn Amazon EC2 Auto Scaling eine Nachricht an das Benachrichtigungsziel sendet. 

1. Wählen Sie **Erstellen** aus.

**So fügen Sie einen Lebenszyklus-Hook für das Abskalieren hinzu**

1. Wählen Sie **Lebenszyklus-Hook erstellen**, um dort weiterzumachen, wo Sie aufgehört haben, nachdem Sie einen Lebenszyklus-Hook für die horizontale Aufskalierung erstellt haben.

1. Gehen Sie wie folgt vor, um einen Lebenszyklus-Hook für die Abskalierung zu definieren (Instances, die beendet werden oder zu einem warmen Pool zurückkehren):

   1. Geben Sie bei **Lebenszyklus hook name (Name des Lebenszyklus-Hooks)** einen Namen für den Lebenszyklus-Hook an.

   1. Wählen Sie bei **Lifecycle Transition (Lebenszykluswechsel)** die Option **Instance Terminate (Instance-Beendigung)** aus. 

   1. Geben Sie für **Heartbeat-Zeitüberschreitung** die Zeitspanne in Sekunden an, für die Instances in einem Wartezustand verbleiben sollen, wenn Sie aufskalieren, bevor die Zeitüberschreitung des Hook erreicht ist. Wir empfehlen ein kurzes Timeout von `30` zwei `120` Sekunden, je nachdem, wie viel Zeit Sie für die Ausführung der letzten Aufgaben benötigen, wie z. B. das Abrufen von EC2-Protokollen. CloudWatch

   1. Geben Sie als **Default Result** (Standardergebnis) die Aktion an, die von der Auto-Scaling-Gruppe ausführt wird, wenn für den Lebenszyklus-Hook ein Timeout oder ein unerwarteter Fehler auftritt. Sowohl **ABANDON** (ABBRUCH) als auch **CONTINUE** (FORTSETZEN) ermöglichen das Beenden der Instance. 
      + Wenn Sie **CONTINUE** (FORTSETZEN) wählen, kann die Auto-Scaling-Gruppe vor der Beendigung alle verbleibenden Aktionen, z. B. andere Lebenszyklus-Hooks, ausführen. 
      + Wenn Sie **ABBRUCH** wählen, beendet die Auto-Scaling-Gruppe die Instance sofort. 

   1. (Optional) Geben Sie bei **Benachrichtigungsmetadaten** die weiteren Informationen an, die Sie hinzufügen möchten, wenn Amazon EC2 Auto Scaling eine Nachricht an das Benachrichtigungsziel sendet.

1. Wählen Sie **Erstellen** aus.

## Hinzufügen von Lebenszyklus-Hooks (AWS CLI)
<a name="adding-lifecycle-hooks-aws-cli"></a>

Erstellen und aktualisieren Sie Lebenszyklus-Hooks über den Befehl [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html) .

Verwenden Sie den folgenden Befehl zum Ausführen einer Aktion bei einer horizontalen Skalierung nach oben:

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-launch-hook  \
  --auto-scaling-group-name my-asg \
  --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING
```

Verwenden Sie hingegen den folgenden Befehl, um bei einer horizontalen Skalierung nach unten eine Aktion durchzuführen:

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook  \
  --auto-scaling-group-name my-asg \
  --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING
```

Um Benachrichtigungen mit Amazon SNS oder Amazon SQS zu empfangen, fügen Sie die Optionen `--notification-target-arn` und `--role-arn` hinzu. Um Benachrichtigungen über zu erhalten AWS Lambda, fügen Sie den hinzu. `--notification-target-arn`

Im folgenden Beispiel wird ein Lebenszyklus-Hook erstellt, der ein SNS-Thema mit dem Namen `my-sns-topic` als Benachrichtigungsziel definiert.

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook  \
  --auto-scaling-group-name my-asg \
  --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING \
  --notification-target-arn arn:aws:sns:region:123456789012:my-sns-topic \
  --role-arn arn:aws:iam::123456789012:role/my-notification-role
```

Das Thema erhält eine Testbenachrichtigung mit dem folgenden Schlüssel-Wert-Paar:

```
"Event": "autoscaling:TEST_NOTIFICATION"
```

Standardmäßig erstellt der [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)Befehl einen Lifecycle-Hook mit einem Heartbeat-Timeout von `3600` Sekunden (eine Stunde). 

Um das Heartbeat-Timeout für einen vorhandenen Lebenszyklus-Hook zu ändern, fügen Sie die Option `--heartbeat-timeout` hinzu, wie im folgenden Beispiel gezeigt.

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook \
  --auto-scaling-group-name my-asg --heartbeat-timeout 120
```

Wenn sich eine Instance bereits im Wartestatus befindet, können Sie verhindern, dass der Lifecycle-Hook das Timeout überschreitet, indem Sie mit dem [record-lifecycle-action-heartbeat](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/record-lifecycle-action-heartbeat.html)CLI-Befehl einen Heartbeat aufzeichnen. Diese erweitert die Zeitüberschreitung um den Zeitüberschreitungswert, den Sie bei der Erstellung des Lebenszyklus-Hooks festgelegt haben. Wenn Sie vor Ablauf des Timeout-Zeitraums fertig sind, können Sie den [complete-lifecycle-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/complete-lifecycle-action.html)CLI-Befehl senden, damit die Instance zum nächsten Status übergehen kann. Weitere Informationen und Beispiele finden Sie unter [Eine Lebenszyklusaktion in einer Auto Scaling Scaling-Gruppe abschließen](completing-lifecycle-hooks.md).