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 Lebenszyklusaktion in einer Auto Scaling Scaling-Gruppe 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.
Inhalt
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)
-
Wenn Sie mehr Zeit benötigen, um die benutzerdefinierte Aktion abzuschließen, verwenden Sie den record-lifecycle-action-heartbeatBefehl, um den Timeout-Zeitraum neu zu starten 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-namemy-asg
--lifecycle-action-tokenbcd2f1b8-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-namemy-asg
--instance-idi-1a2b3c4d
-
Wenn Sie die benutzerdefinierte Aktion vor Ablauf des Timeout-Zeitraums beenden, verwenden Sie den complete-lifecycle-actionBefehl, damit die Auto Scaling Scaling-Gruppe die Instance weiter starten oder beenden 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-namemy-asg
\ --lifecycle-action-tokenbcd2f1b8-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-namemy-launch-hook
\ --auto-scaling-group-namemy-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 den complete-lifecycle-actionBefehl dem Skript 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.