AWS認定資格 WEB問題集&徹底解説

DevOpsエンジニア-プロフェッショナル

正解 A,D問題
分野5:インシデントとイベントへの対応 タスクステートメント5.2:イベントに応じた構成変更の実装
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある製造業の基幹システムはWindows Server上のAmazon EC2インスタンス群で構成され、Auto Scalingグループ(最小3台・最大12台)で運用されています。スケールインが発生すると、インスタンスは事前通知なく終了し、Active Directoryドメインから離脱しないまま削除されてしまいます。運用チームは、スケールインで選ばれたインスタンスについて、終了前にドメインから自動的に離脱させ、そのインスタンスのAMIを作成してから終了させたいと考えています。

この要件を実装するために選ぶべき手順の組み合わせはどれですか。(2つ選択してください)
  • ライフサイクルフックを追加してインスタンスをTerminating:Wait状態にし、Amazon EventBridgeルールでそのTerminating:Wait状態を監視する。
  • ライフサイクルフックを追加してインスタンスをTerminating:Pending状態にし、Amazon EventBridgeルールでそのTerminating:Pending状態を監視する。
  • Amazon EventBridgeルールのターゲットとしてAmazon SNSトピックを設定し、運用担当者への通知を受けてSystems Manager Session Managerで手動でドメイン離脱スクリプトを実行しAMIを作成する。
  • Amazon EventBridgeルールのターゲットとしてAWS Systems Managerのオートメーションドキュメントを設定する。このドキュメントはWindows PowerShellスクリプトを実行してドメインから離脱させ、EC2インスタンスのAMIを作成する。
  • AWS Systems Manager Patch ManagerをEventBridgeルールのターゲットとして設定する。パッチベースラインの適用アクションとしてドメイン離脱スクリプトを実行しAMIを作成する。
解説 頻出度★★★★
この問題は、「スケールインで選ばれたインスタンス × 終了前にドメイン離脱と AMI 作成 × 人手を介さない」の要件で、ライフサイクルフックで Terminating:Wait に留め、そのイベントを EventBridge で拾って Systems Manager Automation に処理させるという定型パターンを選べるかがポイント
正解

A. ライフサイクルフックを追加してインスタンスをTerminating:Wait状態にし、Amazon EventBridgeルールでそのTerminating:Wait状態を監視する。

正解。Auto Scaling グループに終了時のライフサイクルフックを追加すると、スケールインで選ばれたインスタンスはすぐには終了せず、Terminating:Wait 状態で待機します(既定のハートビートタイムアウトは 3600 秒、最大 48 時間まで延長可能)。
この遷移は EC2 Instance-terminate Lifecycle Action イベントとして Amazon EventBridge に配信されるため、ルールで捕捉して後続の自動処理を起動できます。
「終了前に処理を差し込む」ための唯一の正攻法であり、本問の土台になる設定です。

B. ライフサイクルフックを追加してインスタンスをTerminating:Pending状態にし、Amazon EventBridgeルールでそのTerminating:Pending状態を監視する。

Auto Scaling のライフサイクル状態に Terminating:Pending という状態は存在しません。実際に存在するのは Pending / Pending:Wait / Pending:Proceed / InService / Terminating / Terminating:Wait / Terminating:Proceed / Terminated です。
Pending 系はインスタンスの起動時のフックで使う状態であり、終了時の待機とは無関係です。
存在しない状態を監視する EventBridge ルールは作れないため、実装そのものが成立しません。

C. Amazon EventBridgeルールのターゲットとしてAmazon SNSトピックを設定し、運用担当者への通知を受けてSystems Manager Session Managerで手動でドメイン離脱スクリプトを実行しAMIを作成する。

SNS で運用担当者に通知し、Session Manager から手動でスクリプトを実行する案は、「自動的に離脱させたい」という要件に真っ向から反します
スケールインは需要の変動に応じて夜間・休日にも発生するため、担当者の対応が間に合わなければハートビートタイムアウトで既定のアクションが実行され、離脱も AMI 作成もされないまま終了します。
手作業が残る時点で、運用オーバーヘッドの観点でも選べません。

正解

D. Amazon EventBridgeルールのターゲットとしてAWS Systems Managerのオートメーションドキュメントを設定する。このドキュメントはWindows PowerShellスクリプトを実行してドメインから離脱させ、EC2インスタンスのAMIを作成する。

正解。EventBridge ルールのターゲットに AWS Systems Manager Automation のドキュメントを指定すれば、対象インスタンス ID を引数に渡して自動実行できます。
ドキュメント内で PowerShell スクリプトを実行して Active Directory ドメインから離脱させ、続けて AMI を作成する、という一連の処理を宣言的に定義できます。
最後に CompleteLifecycleAction を呼んで CONTINUE を通知すれば、インスタンスは Terminating:Proceed へ進んで終了します。人手を介さず要件を満たす構成です。

E. AWS Systems Manager Patch ManagerをEventBridgeルールのターゲットとして設定する。パッチベースラインの適用アクションとしてドメイン離脱スクリプトを実行しAMIを作成する。

AWS Systems Manager Patch Manager は、マネージドノードへの OS パッチ適用を計画・実行するための機能であり、任意のスクリプトを実行する汎用の実行基盤ではありません。
パッチベースラインは「どのパッチを承認するか」を定義するものなので、ドメイン離脱や AMI 作成といったアクションを記述する場所もありません。
EventBridge のターゲットとして直接指定して処理を走らせる使い方も想定されていません。

構成図

Auto Scaling グループ(スケールイン)
   │ ライフサイクルフック
   ▼
Terminating:Wait(終了を保留)
   │ EC2 Instance-terminate Lifecycle Action イベント
   ▼
Amazon EventBridge ルール ──ターゲット──▶ SSM Automation
                              (ドメイン離脱 → AMI 作成)
   │ CompleteLifecycleAction
   ▼
Terminating:Proceed → インスタンス終了
これだけ覚える(記憶フック)
終了前に一手間なら Terminating:Wait。フックのイベントを EventBridge で拾い、SSM Automation に実行させる。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
スケールインしたインスタンスが事前通知なく終了してしまう 終了前に処理を差し込む唯一の手段が終了時のライフサイクルフック(Terminating:Wait)
→選択肢(A)が正解
監視すべきライフサイクル状態はどれか Terminating:Pending という状態は存在しない。Pending 系は起動時のフックの状態
→選択肢(B)を消す
ドメイン離脱と AMI 作成を自動で実行したい EventBridge のターゲットに SSM Automation ドキュメントを置き、PowerShell 実行と AMI 作成を定義する
→選択肢(D)が正解
運用担当者の手を煩わせない 通知を受けて手動対応する案は、夜間・休日のハートビートタイムアウトで処理されずに終了する
→選択肢(C)を消す
任意のスクリプトを実行する仕組みの選定 Patch Manager はパッチ適用専用で、任意処理の実行基盤でも EventBridge の処理ターゲットでもない
→選択肢(E)を消す
ひっかけポイント
  • Terminating:Wait と Terminating:Pending の対比が本問の中心。実在するのは Wait/Proceed であり、Pending が付くのは起動側(Pending:Wait / Pending:Proceed)。状態名の 1 語だけを入れ替えた選択肢に注意
  • 選択肢 C は「SNS 通知」という自動化っぽい部品を含むが、最後に人が操作する時点で要件を満たさない。DevOps の設問では「担当者が実行する」と書かれた選択肢はまず疑う
  • ライフサイクルフックは処理が終わったら CompleteLifecycleAction で完了を通知する必要がある。忘れるとタイムアウトまでインスタンスが待機し続け、スケールインが遅延する
  • 「Systems Manager」という同じ名前でも、Automation(任意の運用処理)・Run Command(コマンド実行)・Patch Manager(パッチ適用)は役割が別。名前の一致だけで選ばない
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
起動直後にドメイン参加やアプリ配置を済ませてから InService にしたい」 Pending:Wait の起動時ライフサイクルフックが正解軸に。
「終了前の処理が既定のタイムアウトより長くかかる RecordLifecycleActionHeartbeat による延長、またはハートビートタイムアウト値の引き上げが論点に。
「終了前にログファイルだけを退避したい」 同じフック構成のまま、処理を Run Command での S3 アップロードに置き換える形が正解軸に。
「終了イベントを通知するだけでよい」 ライフサイクルフックの通知ターゲット(SNS / SQS)を直接指定する構成で足りる。
「対象が Linux インスタンスで、シェルスクリプトを実行したい」 構成は同じで、Automation 内のステップを aws:runShellScript に変えるだけで成立する。
関連サービスの解説 Amazon EC2 Auto Scaling
Amazon EventBridge
AWS Systems Manager
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.4 解説
ある製造業の基幹システムはWindows Server上のAmazon EC2インスタンス群で構成され、Auto Scalingグループ(最小3台・最大12台)で運用されています。スケールインが発生すると、インスタンスは事前通知なく終了し、Active Directoryドメインから離脱しないまま削除されてしまいます。運用チームは、スケールインで選ばれたインスタンスについて、終了前にドメインから自動的に離脱させ、そのインスタンスのAMIを作成してから終了させたいと考えています。

この要件を実装するために選ぶべき手順の組み合わせはどれですか。(2つ選択してください)
  • ライフサイクルフックを追加してインスタンスをTerminating:Wait状態にし、Amazon EventBridgeルールでそのTerminating:Wait状態を監視する。
  • ライフサイクルフックを追加してインスタンスをTerminating:Pending状態にし、Amazon EventBridgeルールでそのTerminating:Pending状態を監視する。
  • Amazon EventBridgeルールのターゲットとしてAmazon SNSトピックを設定し、運用担当者への通知を受けてSystems Manager Session Managerで手動でドメイン離脱スクリプトを実行しAMIを作成する。
  • Amazon EventBridgeルールのターゲットとしてAWS Systems Managerのオートメーションドキュメントを設定する。このドキュメントはWindows PowerShellスクリプトを実行してドメインから離脱させ、EC2インスタンスのAMIを作成する。
  • AWS Systems Manager Patch ManagerをEventBridgeルールのターゲットとして設定する。パッチベースラインの適用アクションとしてドメイン離脱スクリプトを実行しAMIを作成する。

(会員限定)当問題の評価をお願いします。改善に活用します。