1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Elastic Beanstalk で python の Django アプリケーションをデプロイする方法

Posted at

はじめに

以下に公式の開発者ガイドがありますが、こちらはEB CLIを使用した方法です。
Elastic Beanstalk の管理画面からアプリケーションをアップロードしたかったのですが、何点かハマりどころがあったので、まとめて記録として残します。

公式の開発者ガイド
Elastic Beanstalk への Django アプリケーションのデプロイ

Beanstalk 管理画面からアプリケーションを作成

管理画面からアプリケーションを作成します。

beanstalk1.png

アプリケーション名を入力します。

beanstalk2.png

プラットフォームにpythonを選択します。
アプリケーションコードの部分は、ここでは一旦サンプルアプリケーションを選んで進みます。

beanstalk3.png

作成されました。

beanstalk4.png

サンプルアプリケーションが確認できます。

アプリケーションの準備

Djangoのアプリケーションに以下のファイルの追加が必要です。

django.configの追加

プロジェクトフォルダの直下に.ebextensions/django.config を作成します。

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: testpj.wsgi:application

testpjの部分はプロジェクトの名前に適宜変更します。

requirements.txt の追加

下記コマンドを実行して、requirements.txtを作成します。

$ pip freeze

プログラムのアップロード

プログラムをアップロードする時はzipファイルをアップロードします。
ここで注意が必要ですが、親ディレクトリは含めてはいけません。
下記ように最上位のディレクトリを除き、zipファイルを作成してアップロードします。

またvenvディレクトリは不要なので削除します。

beanstalk5.png

親ディレクトリも含めてアップロードした場合、ヘルスの部分に「Following services are not running: web.」というエラーがでていましたが、原因がわからずハマりました。

まとめ

ハマりどころがいくつかありましたが、一度わかってしまえば簡単です。
どなたかの参考になりますように。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?