Q95 — AWS DOP-C02 第1章
第 95/100 問 | ← 第1章
ある会社がAmazon EC2インスタンス上で実行されるアプリケーションを保有しています。このアプリケーションは頻繁に再起動する必要があります。再起動時に、アプリケーションログにエラーメッセージが出力されます。 アプリケーションログはAmazon CloudWatch Logsのロググループに送信されます。 ログに再起動に関連するエラーメッセージが出力された場合、Amazon CloudWatchアラームがAmazon Simple Notification Service(Amazon SNS)トピックを介してアプリケーションエンジニアに通知します。アプリケーションエンジニアがSNSトピックから通知を受け取った後、手動でインスタンス上でアプリケーションを再起動します。 DevOpsエンジニアは、インスタンス自体を再起動することなく、インスタンス上のアプリケーションを自動的に再起動するソリューションを実装する必要があります。 これらの要件を最も効率的に満たすソリューションはどれでしょうか?
- A. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。SNSトピックをランブックの呼び出し元として設定します。
- B. インスタンス上でアプリケーションを再起動するAWS Lambda関数を作成します。Lambda関数をSNSトピックのイベント宛先として設定します。
- C. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。ランブックを呼び出すAWS Lambda関数を作成します。Lambda関数をSNSトピックのイベント宛先として設定します。
- D. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。CloudWatchアラームがアラート状態になったときに反応するAmazon EventBridgeルールを設定します。ルールのターゲットとしてランブックを指定します。 ✓
正解: D. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。CloudWatchアラームがアラート状態になったときに反応するAmazon EventBridgeルールを設定します。ルールのターゲットとしてランブックを指定します。
解説
Amazon EventBridgeルールはCloudWatchアラームの状態変化を監視し、アラームがトリガーされた際に直接AWS Systems Manager Automationランブックを呼び出すことができます。この方法は、SNSトピックやLambda関数を経由する余分なステップを回避し、複雑さを低減します。Systems Manager Automationは、事前に定義されたスクリプトをターゲットEC2インスタンス上で直接実行でき、アプリケーションの再起動を実現しつつ、インスタンス全体の再起動は不要です。選択肢Dのフローはより簡潔であり、問題文で求められる「最も効率的」なソリューションに合致します。他の選択肢は余分なサービス呼び出しや中間処理層を含むため、遅延および潜在的な障害点が増加します。