無限ノック › SOA 練習問題一覧 › 問題
SOAデプロイ、プロビジョニング、および自動化

ある企業はビジネスアワー中(平日9時〜18時)にEC2インスタンスが予期せず停止した場合、自動的に再起動しSNSで担当チームに通知する仕組みを構築したいと考えています。人手を介さず完全自動化されたソリューションが要件です。次の選択肢のうち、最も自動化されており運用負荷が低いアーキテクチャはどれですか?

A
CloudWatchアラームでEC2のStatusCheckFailed_Systemメトリクスを監視し、アラーム状態でSNS通知とEC2 Auto RecoveryアクションをAlarmsに設定する
StatusCheckFailedは停止を検知できないケースがあり、インスタンス停止ではなくシステムエラーの検出に限定されます。
B
EventBridgeルールでEC2インスタンス状態変化イベント(detail.state: stopped)を検知してLambda関数を起動し、Lambda内でEC2 StartInstancesを呼び出した後SNSでチームに通知する
✓ 正解
EventBridge+Lambdaはイベント駆動型の完全自動化アーキテクチャです。EC2の状態変化はEventBridgeにリアルタイムで通知され、Lambdaで再起動処理とSNS通知を自動実行できます。Lambda内で現在時刻を確認することで業務時間(平日9〜18時)外の再起動除外も実装可能です。
C
CloudTrailのStopInstancesAPIイベントをCloudWatch Logsのメトリクスフィルターでカウントしアラームを作成、SNS通知後に担当者が手動で再起動判断する
CloudTrailはCloudWatch Logsメトリクスフィルターでカウント後の手動判断を要求するため、完全自動化ではありません。
D
Systems Manager Automationドキュメント(AWS-RestartEC2Instance)を作成し、CloudWatch Dashboardで停止インスタンスを定期確認して必要に応じて手動トリガーする
Systems Manager Automationはダッシュボードでの定期確認と手動トリガーが必要なため、要件を満たしません。

解説

選択肢AのCloudWatchアラームとEC2 Auto RecoveryはStatusCheckFailed_Systemメトリクスに基づき、AWSハードウェア障害からの自動回復に使われます。しかし「インスタンスが停止した」状態を直接検知するものではなく、手動停止や予期しない停止のケースでは反応しない場合があります。 選択肢BはEventBridgeのイベントパターンマッチングによりEC2の状態変化(stopped)をリアルタイムで検知し、Lambda関数内でStartInstancesの呼び出しとSNS通知を自動実行できます。Lambda内のロジックで現在時刻を確認することで業務時間(平日9〜18時)の条件制御も実装可能です。完全自動化を最小の設定で実現できる最適なアーキテクチャです。 選択肢CはCloudTrailでAPI呼び出し(StopInstances)を記録しCloudWatch Logsメトリクスフィルターでカウントする方法ですが、処理遅延があり、SNS通知後に担当者が手動で再起動判断する必要があるため完全自動化の要件を満たしません。 選択肢DのSystems Manager Automationは強力な自動化基盤ですが、CloudWatch Dashboardでの定期確認と手動トリガーを前提としており、自律的なイベント検知・再起動は行われないため要件を満たしません。

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

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

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