DVAトラブルシューティングと最適化
開発者が AWS Elastic Beanstalk 環境に新バージョンをデプロイしたところ、デプロイが失敗して以前のバージョンにロールバックされました。Elastic Beanstalk コンソールのイベントログには「Command failed on instance. Return code: 1」とのみ表示されています。アプリケーションソースには `.ebextensions/setup.config` が含まれており、カスタムパッケージをインストールするシェルコマンドが定義されています。具体的な失敗原因を特定するために最初に確認すべき場所はどれですか?
AElastic Beanstalk コンソールの「ログ」セクションからログを取得し、`/var/log/eb-engine.log` の内容を確認する。
✓ 正解
現行のAL2/AL2023プラットフォームでは `eb-engine.log` にデプロイエンジンの活動(`.ebextensions`コマンドの実行ログ・標準エラー出力を含む)が記録されます。コンソールのログ取得や `eb logs` で取得でき、コマンド失敗の具体的なエラーを確認できる最初の確認場所です。
BAWS CloudTrail の「イベント履歴」で Elastic Beanstalk の API 呼び出しログを確認する。
AWS CloudTrailはAWS API呼び出しを記録しますが、EC2インスタンス内での`.ebextensions`スクリプト実行の詳細(標準エラー出力等)は含まれないため、コマンド失敗の原因特定には適しません。
CEC2 コンソールでインスタンスを選択し、「アクション」→「モニタリングとトラブルシューティング」→「システムログの取得」を実行する。
EC2のシステムログ(コンソール出力)はカーネルや起動時のシリアルコンソール出力を含みますが、Elastic Beanstalkのデプロイスクリプト実行ログは含まれないため、原因特定には不十分です。
DElastic Beanstalk コンソールの「アプリケーションバージョン」ページで失敗したバージョンのステータス詳細を確認する。
アプリケーションバージョンページではデプロイの成否ステータスは分かりますが、インスタンス上でのコマンド失敗の具体的な原因(エラーメッセージ)までは確認できません。
解説
現行の Amazon Linux 2 / AL2023 プラットフォームでは `eb-engine.log` に Elastic Beanstalk のデプロイエンジンの活動(`.ebextensions` コマンドの実行ログ・標準エラー出力を含む)の詳細が記録されます(旧 Amazon Linux AMI では eb-activity.log でしたが現在は退役済み)。コンソール「ログ」→「ログのリクエスト(フルログ)」または AWS CLI / EB CLI の `eb logs` で取得でき、コマンド失敗の具体的なエラーメッセージを確認できます。
選択肢BのAWS CloudTrail は AWS API 呼び出しを記録しますが、EC2 インスタンス内での `.ebextensions` スクリプト実行の詳細(標準エラー出力等)は含まれません。
選択肢CのEC2 システムログ(コンソール出力)はカーネルや起動時のシリアルコンソール出力を含みますが、Elastic Beanstalk のデプロイスクリプト実行ログは含まれません。
選択肢Dのアプリケーションバージョンページではデプロイの成否は分かりますが、インスタンス上でのコマンド失敗の具体的な原因は確認できません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →