無限ノック › DVA 練習問題一覧 › 問題
DVAトラブルシューティングと最適化

開発者がAWS Elastic Beanstalkにアプリケーションの新バージョンをデプロイしました。デプロイ自体は成功しましたが、数分後に環境ヘルスが「Degraded」に変わりました。アプリケーションログには明確なエラーが見当たりません。根本原因を特定するための最も効果的なアプローチはどれですか?

A
AWS CloudTrailでデプロイ中のAPI呼び出し履歴を参照し、失敗したAWSサービス操作を調査する
CloudTrailはAWSサービスへのAPI呼び出し(CreateEnvironment等)を記録しますが、アプリケーション内部のエラーやWebサーバーのHTTPステータスコードは記録されないため、Degraded状態の原因特定には不十分です。
B
Elastic Beanstalkコンソールのイベントタブと`eb logs`コマンドでWebサーバーログ・アプリログ・eb-engine.logを取得して確認する
✓ 正解
eb logsコマンドはElastic Beanstalk全インスタンスのWebサーバーログ・アプリログ・eb-engine.log(デプロイフック実行結果)を一括取得できます。Degradedの原因であるアプリ起動失敗・ヘルスチェックエラー・依存サービスへの接続失敗などを直接確認できます。
C
AWS X-Rayトレーシングをアプリに組み込み、サービスマップでダウンストリームの障害を可視化して根本原因を特定する
X-Rayはアプリケーションのリクエストトレーシングには有効ですが、組み込みコストがあり、すでに発生しているデプロイ後の問題の初期調査では既存ログを確認する方が迅速かつ適切です。
D
CloudWatchカスタムメトリクスにHTTPレスポンスコードを追加で記録し、Degraded状態の発生パターンを分析する
CloudWatchカスタムメトリクスは将来のモニタリング設計には役立ちますが、新たにメトリクス収集コードを追加する必要があり、現在発生中の問題の根本原因を既存ログなしで特定することはできません。

解説

Elastic Beanstalkの`eb logs`コマンドは全インスタンスから以下のログを一括取得できます。 ・Webサーバーログ(/var/log/nginx/ または /var/log/httpd/) ・アプリケーションサーバーログ ・eb-engine.log(デプロイフックの実行結果) ヘルスが「Degraded」になる原因には、デプロイ後のアプリ起動失敗・ヘルスチェックエラー・依存サービスへの接続失敗などがあり、これらはWebサーバーまたはアプリのログに記録されます。Elastic Beanstalkコンソールのイベントタブと組み合わせることで、どのデプロイステップで問題が発生したかを素早く特定できます。 選択肢AのAWS CloudTrailはAWSサービスへのAPI呼び出し(CreateEnvironment等)を記録しますが、アプリケーション内部のエラーやWebサーバーのHTTPステータスコードは記録されません。 選択肢CのAWS X-Rayはリクエストトレーシングに有効ですが、組み込みコストがあり、既存ログの確認より効率的ではありません。 選択肢DのCloudWatchカスタムメトリクスは将来のモニタリングには役立ちますが、新たにコードを追加する必要があり、現在発生中の問題の根本原因を特定するには不十分です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る