Q49 — AWS DOP-C02 第1章
第 49/100 問 | ← 第1章
ある会社が、Application Load Balancer の後ろで実行される Amazon EC2 インスタンス上にマルチテナントアプリケーションをホストしています。これらのインスタンスは Windows Server を実行しており、Auto Scaling グループに配置されています。アプリケーションはインスタンス上でライセンスファイルを使用し、このファイルはユーザーへの中断なしにインスタンス上で更新可能です。新しい顧客がアプリケーションへのアクセス許可を購入すると、同社のライセンスチームが新しいライセンスキーを Amazon S3 バケット内のファイルに追加します。ライセンスファイルが更新された後、運用チームが手動で EC2 インスタンスを更新しています。 DevOps エンジニアは、EC2 インスタンス上のファイル更新プロセスを自動化する必要があります。この自動化プロセスは、EC2 インスタンスが更新されたライセンスファイルを取得するまでの遅延を最小限に抑え、更新プロセスの成功または失敗を運用チームに通知する必要があります。 DevOps エンジニアは AWS リソースグループ内でリソースグループを作成しました。このリソースグループは、EC2 インスタンスに付与されたタグに基づいてアプリケーションを自動的に選択します。 DevOps エンジニアは次に、要件を最も経済的かつ効率的に満たすために何を行うべきですか?
- A. S3 バケット内のライセンスファイルが更新されたときに AWS Lambda 関数を呼び出すように、S3 イベント通知を作成します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunRemoteScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知に対して Amazon Simple Email Service (Amazon SES) の通知を設定し、運用チームに電子メール通知を送信します。
- B. S3 バケット内のライセンスファイルが更新されたときに AWS Lambda 関数を呼び出すように、S3 イベント通知を作成します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunPowerShellScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知を送信するための Amazon Simple Notification Service (Amazon SNS) トピックを設定します。運用チームのメンバーの電子メールアドレスを SNS トピックにサブスクライブします。 ✓
- C. 1 時間ごとに実行される Amazon EventBridge のスケジュールルールを作成し、AWS Lambda 関数を呼び出します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunPowerShellScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知を送信するための Amazon Simple Notification Service (Amazon SNS) トピックを設定します。運用チームのメンバーの電子メールアドレスを SNS トピックにサブスクライブします。
- D. 1 時間ごとに実行される Amazon EventBridge のスケジュールルールを作成し、AWS Lambda 関数を呼び出します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunRemoteScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知に対して Amazon Simple Email Service (Amazon SES) の通知を設定し、運用チームに電子メール通知を送信します。
正解: B. S3 バケット内のライセンスファイルが更新されたときに AWS Lambda 関数を呼び出すように、S3 イベント通知を作成します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunPowerShellScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知を送信するための Amazon Simple Notification Service (Amazon SNS) トピックを設定します。運用チームのメンバーの電子メールアドレスを SNS トピックにサブスクライブします。
解説
正解は B です。まず、S3 イベント通知は S3 バケット内のライセンスファイルが更新されたときにトリガーされ、変更に即座に応答できるため、1 時間ごとに実行される EventBridge スケジュールルールよりもリアルタイム性と効率性に優れています。次に、AWS Lambda 関数が AWS Systems Manager Run Command を呼び出して AWS-RunPowerShellScript ドキュメントを実行することで、ライセンスファイルの自動ダウンロードが実現されます。リソースグループ上で 50% の並列度でコマンドを実行することにより、処理効率が向上します。さらに、SUCCESS および FAILED イベント通知を送信するための Amazon SNS トピックを設定し、運用チームのメンバーの電子メールアドレスをそのトピックにサブスクライブすることで、迅速な通知が可能になります。また、このシナリオでは Amazon SES と比較して、SNS トピックの方が経済的かつ実用的です。以上より、選択肢 B が要件を最も経済的かつ効率的に満たします。