【正解】C
【0からの解説】
EC2 上の CodeDeploy デプロイが失敗した場合、根本原因を突き止める最も直接的な情報源は CodeDeploy エージェントのログとデプロイログです。CodeDeploy エージェントは EC2 インスタンス上で動作し、各デプロイの実行履歴・各ライフサイクルフック(BeforeInstall、AfterInstall、ApplicationStart など)のスクリプト出力やエラーを、デフォルトで /opt/codedeploy-agent/deployment-root/ 配下に書き出します(エージェントログ本体は /var/log/aws/codedeploy-agent/codedeploy-agent.log)。ここを見ればどのフックで失敗したか、スクリプトの終了コードやエラーメッセージが分かります。
さらに CloudWatch Logs にアプリケーションログを集約しておけばアプリ側の挙動を確認でき、X-Ray を使えばリクエストのトレースで遅延・エラー箇所を特定できます。これらを組み合わせた選択肢 C が、デプロイ失敗のトラブルシューティングに直接役立つ情報を提供します。
【誤りの選択肢】
A:VPC フローログはネットワークトラフィックの記録、Amazon Inspector は脆弱性評価、Amazon Detective はセキュリティ調査向けで、いずれも CodeDeploy のデプロイ失敗原因(フックスクリプトの失敗など)を直接示すものではありません。
B:Run Command で任意スクリプトを流せても、CodeDeploy のデプロイ失敗ログそのものを見るわけではありません。また CloudTrail は API 呼び出しの監査ログであり、フック実行の詳細なエラー内容は記録しません。
D:Trusted Advisor はベストプラクティスチェック、AWS Health はサービス側の障害情報を扱うもので、個別のデプロイ失敗の根本原因分析には適しません。
【参考】
View CodeDeploy logs (EC2/on-premises)CodeDeploy agent operations