メニュー
AWS Elastic Beanstalk
開発者ガイド

EB CLI に関する問題のトラブルシューティング

このトピックでは、EB CLI の使用時に表示される一般的なエラーメッセージと考えられる解決策を示しています。ここに示していないエラーメッセージが表示される場合は、[Feedback] リンクを使用してお知らせください。

ERROR: An error occurred while handling git command. Error code: 128 Error: fatal: Not a valid object name HEAD

原因: Git リポジトリを初期化したが、まだコミットしていないと、このエラーメッセージが表示されます。プロジェクトフォルダーに Git リポジトリが含まれていると、EB CLI は HEAD リビジョンを検索します。

解決策: ステージングエリアにプロジェクトフォルダー内のファイルを追加してコミットします。

~/my-app$ git add . ~/my-app$ git commit -m "First commit"

ERROR: This branch does not have a default environment. You must either specify an environment by typing "eb status my-env-name" or set a default environment by typing "eb use my-env-name".

原因: Git で新しいブランチを作成すると、デフォルトでは Elastic Beanstalk 環境にアタッチされません。

解決策: eb list を実行して、利用可能な環境のリストを表示します。その後、eb use env-name を実行して、利用可能な環境のいずれかを使用します。

ERROR: 2.0+ Platforms require a service role. You can provide one with --service-role option

原因: eb create で環境名(eb create my-env など)を指定した場合、EB CLI はサービスロールの自動作成を試みません。デフォルトのサービスロールがない場合、上記のエラーが表示されます。

解決策: 環境名を指定しないで eb create を実行し、プロンプトに従ってデフォルトのサービスロールを作成します。

デプロイのトラブルシューティング

Elastic Beanstalk のデプロイが予定どおりにスムーズに完了しなかった場合、ウェブサイトが表示される代わりに、404(アプリケーションの起動に失敗した場合)または 500(アプリケーションの実行中に障害が発生した場合)の応答が表示されることがあります。多くの一般的な問題のトラブルシューティングを行うには、EB CLI を使用してデプロイのステータスを確認する、ログを表示する、SSH を使用して EC2 インスタンスにアクセスする、アプリケーション環境の AWS マネジメントコンソールのページを開くのいずれかの方法を実行できます。

EB CLI を使用してデプロイのトラブルシューティングを行うには

  1. eb status を実行して、現在のデプロイのステータスおよび EC2 ホストの状態を確認します。(例:

    $ eb status --verbose Environment details for: python_eb_app Application name: python_eb_app Region: us-west-2 Deployed Version: app-150206_035343 Environment ID: e-wa8u6rrmqy Platform: 64bit Amazon Linux 2014.09 v1.1.0 running Python 2.7 Tier: WebServer-Standard- CNAME: python_eb_app.elasticbeanstalk.com Updated: 2015-02-06 12:00:08.557000+00:00 Status: Ready Health: Green Running instances: 1 i-8000528c: InService

    注記

    --verbose スイッチを使用すると、実行中のインスタンスのステータスに関する情報が表示されます。このスイッチを指定しない場合、eb status では、環境に関する全般的な情報のみが表示されます。

  2. 環境のヘルス情報を表示するには、eb health を実行します。

    $ eb health --refresh elasticBeanstalkExa-env Degraded 2016-03-28 23:13:20 WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 2 0 2 1 0 0 0 instance-id status cause Overall Degraded Incorrect application version found on 3 out of 5 instances. Expected version "Sample Application" (deployment 1). i-d581497d Degraded Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1). i-d481497c Degraded Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1). i-136e00c0 Severe Instance ELB health has not been available for 5 minutes. i-126e00c1 Ok i-8b2cf575 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 Overall 646.7 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-dac3f859 167.5 1675 0 0 0 0.003 0.002 0.001 0.001 0.000 i-05013a81 161.2 1612 0 0 0 0.003 0.002 0.001 0.001 0.000 i-04013a80 0.0 - - - - - - - - - i-3ab524a1 155.9 1559 0 0 0 0.003 0.002 0.001 0.001 0.000 i-bf300d3c 162.1 1621 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% i-d581497d t2.micro 1a 25 mins 0.16 0.1 7.0 0.0 1.7 91.0 0.1 i-d481497c t2.micro 1a 25 mins 0.14 0.1 7.2 0.0 1.6 91.1 0.0 i-136e00c0 t2.micro 1b 25 mins 0.0 0.01 0.0 0.0 0.0 99.9 0.1 i-126e00c1 t2.micro 1b 25 mins 0.03 0.08 6.9 0.0 2.1 90.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.05 0.41 6.9 0.0 2.0 90.9 0.0 instance-id status id version ago deployments i-d581497d Deployed 2 v2 9 mins i-d481497c Deployed 2 v2 7 mins i-136e00c0 Failed 2 v2 5 mins i-126e00c1 Deployed 1 Sample Application 25 mins i-8b2cf575 Deployed 1 Sample Application 1 hour

    上記の例は、5 つあるインスタンスのうち、3 番目のインスタンスでバージョン「v2」のデプロイに失敗した環境を示しています。デプロイの失敗後、想定されたバージョンは正常にデプロイされた最後のバージョン(この例では、最初のデプロイの「サンプルアプリケーション」)にリセットされます。詳細については、「EB CLI を使用した環境ヘルスのモニタリング」を参照してください。

  3. eb logs を実行して、アプリケーションのデプロイに関連付けられたログをダウンロードして表示します。

    $ eb logs
  4. eb ssh を実行して、アプリケーションを実行している EC2 インスタンスに接続し、直接調査します。インスタンスでは、デプロイされたアプリケーションは /opt/python/current/app ディレクトリに、Python 環境は /opt/python/run/venv/ にあります。

  5. eb console を実行して、AWS マネジメントコンソールでアプリケーション環境を表示します。ウェブインターフェイスを使用して、アプリケーションの設定、ステータス、イベント、ログなど、デプロイのさまざまな側面を簡単に調査できます。また、サーバーにデプロイした現在または過去のアプリケーションバージョンをダウンロードすることもできます。