追加した .ebextensions/start.config
ファイルをWARバンドルのルートフォルダーに( AWSが推奨 として)、Elastic Beanstalkにデプロイしましたが、何も起こりませんでした。 EC2インスタンスのどこで、このファイル処理のログを確認できますか?それとも、EBTのTAILレポートでこの情報を見ることができますか?
Linux32ビットTomcat7コンテナでは、次の場所でログを見つけることができました:/var/log/eb-tools.log
、どのコマンドが失敗したかを確認できました。
オンラインコンソールを使用して、ElasticBeanstalk環境のログをスナップショットします。
ログを表示するときに、「cfn-init.log」で始まるセクションを検索します。
そのセクションには、次のようなエントリが表示されます
2013-08-30 10:25:13,517 [INFO] Command 01-ec2setcomputername-enable succeeded
2013-08-30 10:25:24,516 [INFO] Command 02-install-server-monitor succeeded
2013-08-30 10:25:30,115 [INFO] Command 03-install-agent succeeded
ここで、01-ec2setcomputername-enableなどは、.configファイル内のコマンドの名前です。コマンドが失敗した場合は、ここにもエラーメッセージが表示されます。
Web UIでいくつかのログを調整して、.ebextensions
が機能したかどうかを確認できます( Elastic Beanstalk経由→環境の表示→ログ )。定義したコマンドごとに成功または失敗のメッセージが表示されます。 (たとえば、01_setup
という名前のコマンドの場合、command 01_setup succeeded
のようなメッセージが表示されます。)
ログスナップショットにはコマンドが失敗したことが示されますが、コマンド出力は表示されません。
[ERROR] Command 01_setup (setup.cmd) failed
[ERROR] Error encountered during build of postbuild_0_server: Command 01_setup failed
Traceback (most recent call last):
<irrelevant traceback>
基盤となるEC2サーバーに接続し、cfn-init-cmd.log
ファイル(Windowsではc:\cfn\log\cfn-init-cmd.log
、Linuxでは/var/log/cfn-init-cmd.log
)のコマンド出力を表示できます。これにより、より有用な情報が提供されます。
[INFO] Running command "setup.cmd"
[INFO] -----------------------Command Output-----------------------
[INFO] 'setup.cmd' is not recognized as an internal or external command,
[INFO] operable program or batch file.
[INFO] ------------------------------------------------------------
[ERROR] Exited with error code 1
EC2インスタンスへの接続については、 Windowsの手順 を参照してください。
コマンド出力では、任意のコマンドを実行して、何が起こっているのかを把握することもできます。たとえば、コマンドが実行されているディレクトリはどれですか。
.ebextensions
ファイルは次のとおりです。
container_commands:
where_am_i:
command: dir
そして、これがcfn-init-cmd.log
の出力です。
[INFO] Running command "dir"
[INFO] -----------------------Command Output-----------------------
[INFO] Volume in drive C has no label.
[INFO] Volume Serial Number is 12A7-BAEB
[INFO]
[INFO] Directory of C:\inetpub\wwwroot
[INFO]
[INFO] 05/29/2015 05:42 PM <DIR> .
[INFO] 05/29/2015 05:42 PM <DIR> ..
[INFO] 05/29/2015 05:42 PM <DIR> .ebextensions
[INFO] 05/29/2015 05:31 PM <DIR> bin
[INFO] 05/28/2015 05:20 PM 106 Global.asax
[INFO] 05/28/2015 05:20 PM 498 packages.config
[INFO] 05/28/2015 05:20 PM 2,054 README.md
[INFO] 05/29/2015 06:56 PM 3,064 Web.config
[INFO] 4 File(s) 5,722 bytes
[INFO] 4 Dir(s) 4,553,273,344 bytes free
[INFO] ------------------------------------------------------------
[INFO] Completed successfully.
Windowsの場合、カスタムebextension出力を含むログファイルは、EBコンソールの「requestlogs」コマンドを介して取得するEBログの一部ではありません。ただし、.ebextensionファイルの次のfileコマンドを使用して、そのログファイルをバンドルに簡単に追加できます。
files:
"C:\\Program Files\\Amazon\\ElasticBeanstalk\\config\\taillogs.d\\cfn-init-cmd.conf" :
content: |
c:\cfn\log\cfn-init-cmd.log
ログバンドルに追加するログファイル(cfn-init-cmd.log)の名前で新しい構成ファイル(cfn-init-cmd.conf)を作成するだけです。
インストールして構成します eb cli than:
eb logs development