Q76 — AWS DOP-C02 第1章
第 76/100 問 | ← 第1章
開発者は、50台のAmazon EC2 Linuxサーバーから構成されるクラスターを管理しています。これらのサーバーはAmazon EC2 Auto Scalingグループの一部であり、Elastic Load Balancing(ELB)で負荷分散されています。 最近、いくつかのアプリケーションサーバーがELBのHTTPヘルスチェックに失敗した後に終了しています。開発者はこの問題の根本原因を分析したいと考えていますが、サーバーが終了する前にアプリケーションログにアクセスできません。 ログ収集を自動化するにはどうすればよいでしょうか?
- A. Auto Scalingライフサイクルフックを使用してインスタンスをPending:Wait状態にします。EC2 Instance Terminate Successfulに対してAmazon CloudWatchアラームを作成し、AWS Lambda関数をトリガーしてSSM Run Commandスクリプトを呼び出してログを収集し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
- B. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2インスタンス終了ライフサイクル操作に対してAWS Configルールを作成し、Step Functionsをトリガーしてログ収集スクリプトを呼び出し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
- C. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2 Instance Terminate Successfulに対してAmazon CloudWatchサブスクリプションフィルターを作成し、CloudWatch Agentをトリガーしてログ収集スクリプトを呼び出し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
- D. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2インスタンス終了ライフサイクル操作に対してAmazon EventBridgeルールを作成し、AWS Lambda関数をトリガーしてSSM Run Commandスクリプトを呼び出してログを収集し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。 ✓
正解: D. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2インスタンス終了ライフサイクル操作に対してAmazon EventBridgeルールを作成し、AWS Lambda関数をトリガーしてSSM Run Commandスクリプトを呼び出してログを収集し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
解説
正解はDです。このシナリオでは、Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にすることで、サーバーが終了する前に操作を一時停止できます。EC2インスタンス終了ライフサイクル操作を監視するためのAmazon EventBridgeルールを作成すると、終了イベントの発生を効果的に検知できます。AWS Lambda関数をトリガーしてSSM Run Commandスクリプトを呼び出すことで、ログの収集およびAmazon S3へのプッシュが実行され、その後ライフサイクル操作を完了できます。これにより、ログ収集の自動化が実現します。他の選択肢と比較して、Dのフローおよび手法は問題解決に最も完全かつ合理的です。