ライフサイクルアクションを完了する - Amazon EC2 Auto Scaling

ライフサイクルアクションを完了する

Auto Scaling グループがライフサイクルイベントに応答する際、Auto Scaling グループはインスタンスを待機状態にしてイベント通知を送信します。インスタンスが待機状態にあるときに、カスタムアクションを実行できます。

ライフサイクルアクションを完了する (手動)

次の手順はコマンドライン インターフェイスに関するもので、コンソールではサポートされていません。インスタンス ID や Auto Scaling グループの名前など、置き換える必要がある情報は、斜体で表示されます。

ライフサイクルアクションを完了するには (AWS CLI)

  1. カスタムアクション完了までにさらに時間が必要な場合は、record-lifecycle-action-heartbeat コマンドを使用してタイムアウト時間を再開し、インスタンスを待機状態に維持します。例えば、タイムアウト期間が 1 時間に設定されており、30 分後にこのコマンドを呼び出す場合、インスタンスはさらに 1 時間 (合計で 90 分) 待機状態のままになります。

    以下のコマンドに示すように、通知と共に受信したライフサイクルアクショントークンを指定できます。

    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

    または、以下のコマンドに示すように、通知とともに受信したインスタンスの ID を指定できます。

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --instance-id i-1a2b3c4d
  2. [complete-lifecycle-action] コマンドを使用してタイムアウト期間が終了する前にカスタムアクションを終了すると、Auto Scaling グループは起動を継続するか、インスタンスを終了することができます。以下のコマンドに示すように、ライフサイクルアクショントークンを指定できます。

    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

    または、以下のコマンドに示すように、インスタンスの ID を指定できます。

    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

ライフサイクルアクションを完了する (自動)

起動後にインスタンスを設定するユーザーデータスクリプトがある場合は、ライフサイクルアクションを手動で完了する必要はありません。complete-lifecycle-action コマンドをスクリプトに追加します。スクリプトは、インスタンスのメタデータからインスタンス ID を取得し、ブートストラップスクリプトが正常に完了したときに Amazon EC2 Auto Scaling に通知します。

まだそうしていない場合は、インスタンスメタデータからインスタンスのインスタンス ID を取得するためのスクリプトを更新します。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「インスタンスメタデータを取得する」を参照してください。

Lambda を使用する場合は、カスタムアクションが成功した際にインスタンスのライフサイクルを続行できるように、関数のコードにコールバックを設定することもできます。詳細については、「チュートリアル:Lambda 関数を呼び出すライフサイクルフックの設定」を参照してください。