EC2 Auto Scalingグループ(ALBと統合)で、新しくスケールアウトされたインスタンスの起動時にSSM Run Commandで初期化スクリプト(所要時間:約5分)を実行する必要があります。スクリプトが完了していないインスタンスにトラフィックが転送されないよう保証するための最も確実な方法はどれですか?
ライフサイクルフックを設定するとインスタンスはPending:Wait状態で一時停止し、complete-lifecycle-actionが呼ばれるまでInServiceに遷移しません。InServiceになるまでALBのターゲットとして登録されないため、未初期化インスタンスへのトラフィック送信を確実に防げます。 選択肢A(ヘルスチェックグレースピリオド)は、ヘルスチェック失敗による「終了」を抑制するだけでトラフィック転送は防げません。 選択肢C(ユーザーデータ)は、Apache起動とスクリプト完了のタイミング制御が困難です。 選択肢D(EventBridge + Lambda)は、Auto ScalingのヘルスステータスをHealthyに変更してもALBターゲットグループへの登録タイミングを制御できず、インスタンスがInServiceになった直後にトラフィックが転送される可能性を排除できません。