無限ノック › DOP 練習問題一覧 › 問題
DOP弾力性に優れたクラウドソリューション

本番の Auto Scaling グループ(ASG)内の EC2 インスタンスが繰り返し EC2 ステータスチェックに失敗し、ASG によって自動終了されています。インスタンスが終了される前に AWS Systems Manager(SSM)Run Command で診断スクリプトを実行して結果を S3 に保存し、その後でインスタンスを終了させる自動化パイプラインを実装したいと考えています。処理の順序と完了を確実に保証できる最も適切なアーキテクチャはどれですか?

A
CloudWatch エージェントでステータスチェック失敗ログを収集し、CloudWatch Logs サブスクリプションフィルターで Lambda を起動する。Lambda が SSM Run Command を実行してログ収集後、EC2 TerminateInstances API を呼び出す
SSM Run Command の非同期完了と EC2 終了の順序が保証されません。
B
ASG に `EC2_INSTANCE_TERMINATING` ライフサイクルフック(Lifecycle Hook)を設定する。EventBridge ルールでライフサイクルイベントを検知して Step Functions ステートマシンを起動し、SSM Run Command 実行→S3 保存確認→`complete-lifecycle-action` を順次実行する
✓ 正解
ASG ライフサイクルフック(Lifecycle Hook)は、インスタンスが実際に終了される前に処理を割り込ませる AWS 公式の仕組みです。`EC2_INSTANCE_TERMINATING` フックによりインスタンスは `Terminating:Wait` 状態で保持され、Step Functions が SSM Run Command の完了を待機後に `complete-lifecycle-action` を呼び出すことで処理の順序と完了を保証します。
C
EventBridge ルールで EC2 インスタンス状態変化通知(stopping)を検知し、Lambda が SSM Run Command を非同期実行する。Lambda は完了後 EventBridge Scheduler で 10 分後に EC2 TerminateInstances を呼び出す
固定待機時間はスクリプト完了の保証にならず、不確実な制御になります。
D
SSM Automation ドキュメントを CloudWatch アラームのアクションとして設定し、ステータスチェック失敗時に診断スクリプトを実行した後、ASG の `TerminateInstanceInAutoScalingGroup` API を呼び出す
SSM Automation から ASG API 呼び出しはライフサイクル管理外となり競合状態のリスクがあります。

解説

ASG ライフサイクルフック(Lifecycle Hook)は、インスタンスが実際に終了される前に処理を割り込ませる AWS 公式の仕組みです。`EC2_INSTANCE_TERMINATING` フックによりインスタンスは `Terminating:Wait` 状態で保持され、Step Functions が SSM Run Command の完了を待機後に `complete-lifecycle-action` を呼び出すことで処理の順序と完了を保証します。 選択肢A は SSM Run Command の非同期完了と EC2 終了の順序が保証されません。 選択肢C の固定待機時間はスクリプト完了の保証にならず、不確実な制御になります。 選択肢D の SSM Automation から ASG API 呼び出しはライフサイクル管理外となり競合状態のリスクがあります。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る