Eine Lebenszyklus-Aktion abschließen - 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.

Eine Lebenszyklus-Aktion abschließen

Reagiert eine Auto-Scaling-Gruppe auf ein Lebenszyklus-Ereignis, versetzt sie die Instance in einen Wartestatus und sendet eine Ereignisbenachrichtigung. Sie können eine benutzerdefinierte Aktion ausführen, während sich die Instance in einem Wartestatus befindet.

Das Abschließen der Lebenszyklus-Aktion mit dem Ergebnis von CONTINUE ist hilfreich, wenn Sie den Vorgang vor Ablauf des Timeouts beenden. Wenn Sie die Lebenszyklus-Aktion nicht abschließen, nimmt der Lebenszyklus-Hook nach Ablauf des Timeout-Zeitraums den Status an, den Sie als Standardergebnis angegeben haben.

Eine Lebenszyklus-Aktion abschließen (manuell)

Das folgende Verfahren gilt für die Befehlszeilenschnittstelle und wird in der Konsole nicht unterstützt. Die zu ersetzenden Informationen wie die Instance-ID oder der Name einer Auto-Scaling-Gruppe werden kursiv dargestellt.

So führen Sie eine Lebenszyklus-Aktion aus (AWS CLI)
  1. Falls Sie mehr Zeit für die benutzerdefinierte Aktion benötigen, verwenden Sie den Befehl record-Lebenszyklus-action-heartbeat, um die Zeit für die Zeitüberschreitung zurückzusetzen und die Instance im Wartestatus zu belassen. Beträgt der Zeitüberschreitungszeitraum z. B. eine Stunde und Sie rufen diesen Befehl nach 30 Minuten auf, verbleibt die Instance für eine zusätzliche Stunde bzw. insgesamt 90 Minuten in einem Wartestatus.

    Sie können das Token der Lebenszyklusaktion das Sie mit der Benachrichtigung erhalten haben, wie im folgenden Befehl gezeigt angeben.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    Alternativ können Sie auch die ID der Instance angeben, die Sie mit der Benachrichtigung erhalten haben, wie im folgenden Befehl gezeigt.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --instance-id i-1a2b3c4d
  2. Wenn Sie die benutzerdefinierte Aktion abschließen, bevor die Zeit für die Zeitüberschreitung erreicht wurde, verwenden Sie den Befehl complete-lifecycle-action, damit die Auto-Scaling-Gruppe den Start bzw. die Beendigung der Instance fortführen kann. Sie können das Token für die Lebenszyklusaktion wie im folgenden Befehl angeben:

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --lifecycle-hook-name my-launch-hook --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    Alternativ können Sie die ID der Instance wie im folgenden Befehl angeben:

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --instance-id i-1a2b3c4d --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg

Eine Lebenszyklus-Aktion abschließen (automatisch)

Wenn Sie ein Skript mit Benutzerdaten haben, das Ihre Instances nach dem Start konfiguriert, müssen Sie die Lebenszyklusaktionen nicht manuell durchführen. Sie können dem Skript den Befehl complete-lifecycle-action hinzufügen. Das Skript kann die Instance-ID aus den Instance-Metadaten abrufen und Amazon EC2 Auto Scaling signalisieren, wenn die Bootstrap-Skripte erfolgreich abgeschlossen wurden.

Wenn Sie nicht bereits dabei sind, aktualisieren Sie das Skript, sodass es die Instance-ID der Instance aus den Instance-Metadaten abruft. Weitere Informationen finden Sie unter Instance-Metadaten abrufen im Amazon EC2 EC2-Benutzerhandbuch.

Wenn Sie Lambda verwenden, können Sie auch einen Rückruf im Code Ihrer Funktion einrichten, damit der Lebenszyklus der Instance fortgesetzt werden kann, wenn die benutzerdefinierte Aktion erfolgreich ist. Weitere Informationen finden Sie unter Tutorial: Konfigurieren eines Lebenszyklus-Hook, der eine Lambda-Funktion aufruft.