Q95 — AWS DOP-C02 第2章

第 95/100 問 | ← 第2章

ある開発者が50台のAmazon EC2 Linuxサーバーを管理しています。これらのサーバーはAmazon EC2 Auto Scalingグループの一部であり、ELB(Elastic Load Balancing)を使用して負荷分散を実現しています。 時折、一部のアプリケーションサーバーがELBのHTTPヘルスチェックに失敗した後に終了します。開発者は根本原因分析を行いたいのですが、サーバーが終了する前にアプリケーションログにアクセスできません。 ログ収集を自動化するにはどうすればよいですか?

正解: D. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2インスタンスのAmazon EventBridgeルール「終了ライフサイクル操作」を作成し、AWS Lambda関数をトリガーします。このLambda関数はSSM Run Commandスクリプトを呼び出してログを収集し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。

解説

Auto Scalingライフサイクルフックは、インスタンスの状態をTerminating:Waitで一時停止させ、ログ収集のための時間的ウィンドウを提供します。関連ドキュメントによると、EventBridgeを使用してライフサイクル操作イベントをキャプチャし、LambdaをトリガーしてSSMコマンドを実行することが可能です。選択肢Dは、EventBridgeルールでEC2インスタンス終了イベントを監視し、Lambda関数を介してSSMエージェントを呼び出してログ転送を実行するという正しい手法を採用しています。他の選択肢は、誤ったサービス(CloudWatchサブスクリプションフィルター、AWS Config)や不適切なメカニズム(CloudWatchアラームのトリガー条件)を含んでおり、AWSのアーキテクチャベストプラクティスでは、ライフサイクルフックとイベント駆動型アーキテクチャを組み合わせてインスタンス終了前の処理を行うことが推奨されています。