ElasticBeanstalkデプロイ時のエラーと対応策
Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく
- 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/03/25
- メディア: 単行本
- この商品を含むブログ (2件) を見る
デプロイ時のエラーが怖い
です 大体うまくいくことが多い分、エラーのときの悲しみが大きいし、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
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(新仮想環境下のインストール忘れ)で直りました。
デプロイ時はなかなかヒヤヒヤします・・・^^;