MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

ElasticBeanstalkデプロイ時のエラーと対応策

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく

デプロイ時のエラーが怖い

です 大体うまくいくことが多い分、エラーのときの悲しみが大きいし、Djangoローカルサーバー内と違って原因となり得る要素が広すぎて・・・怖いですわ、毎回。というわけでエラーごとの解決したものを書き置き・・・あくまで自分の場合です。

実施環境など

$ eb deployで"does not have a default environment."のエラー

下記のようなエラーがでるときの解決は早かったです。

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

これは、最初のデプロイのときには$eb deploy ではなく$eb createを使えば大丈夫でした。$eb deployではEC2とかのアタッチはされない模様です。継続的インテグレーションのときに使うという感じの模様です。

$ eb deployで"ERROR: Failed to deploy application.."のエラー

$ eb deploy Creating application version archive "". Uploading: [##################################################] 100% Done... INFO: Environment update is starting.
INFO: Deploying new version to instance(s).
ERROR: [Instance:
] Command failed on instance. Return code: 1 Output: (TRUNCATED)...b/python3.4/site-packages/storages/backends/s3boto.py", line 26, in (中略) INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. ERROR: Unsuccessful command execution on instance id(s) '****************'. Aborting the operation. ERROR: Failed to deploy application.

ERROR: Failed to deploy application.

このときは、python モジュールでインストールし忘れを疑うと解決することがあります。上記のエラーの場合はよく見るとヒントが書いてました。boto3・・・のところです。自分の場合は、仮想環境を諸事情で一回変えてしまったので、そのときにpip freeze > requirements.txt にboto boto3など新規仮想環境にインストールし忘れていて再度pip install で直りました。

とにかく500エラーでログを見るとwsgi.pyがエラーという謎エラー

これはRDSをアタッチしたときに起こりました。wsgi.pyとか自動生成だから触ってないしなぁ・・・。とりあえず、RDSをアタッチした後の急変なので、それ関連のモジュール$ pip install psycopg2(新仮想環境下のインストール忘れ)で直りました。

デプロイ時はなかなかヒヤヒヤします・・・^^;