AWS Elastic Beanstalk
開発者ガイド

Python 開発環境をセットアップする

Python 開発環境を設定し、アプリケーションを AWS Elastic Beanstalk にデプロイする前にローカルでテストします。このトピックでは、開発環境の設定手順と便利なツールのインストールページへのリンクを概説します。

このガイドの手順に従うには、コマンドを実行するためのコマンドラインターミナルまたはシェルが必要になります。コマンドは、該当する場合、プロンプト記号 ($) と現在のディレクトリの名前が前に付けられて、リストに示されます。

~/eb-project$ this is a command this is output

Linux および macOS では、任意のシェルとパッケージマネージャーを使用します。Windows 10 では、Linux 用の Windows サブシステムをインストールして、Windows 統合バージョンの Ubuntu および Bash を入手できます。

すべての言語に適用される一般的な設定手順やツールについては、AWS Elastic Beanstalk で使用する開発環境の設定を参照してください。

Python および Pip のインストール

Elastic Beanstalk を使用してデプロイするすべての Python アプリケーションについて、以下の前提条件は共通しています。

  1. Python 2.7 または 3.4

  2. ご使用の Python のバージョンに応じた pip ユーティリティ。これは、アプリケーション環境のセットアップ方法を Elastic Beanstalk が判断できるように、プロジェクトの依存関係をインストールし一覧表示するために使用されます。

  3. virtualenv パッケージ。これは、アプリケーションの開発とテストに使用する環境を作成するために使用されます。これにより、アプリケーションに必要ない余分なパッケージをインストールすることなく、その環境を Elastic Beanstalk がレプリケートできます。

  4. awsebcli パッケージ。Elastic Beanstalk によるデプロイに必要なファイルを使用して、アプリケーションを初期化するのに使用されます。

  5. 正常に機能する ssh インストール。これは、デプロイの調査またはデバッグが必要なときに、実行中のインスタンスに接続するために使用されます。

Python、pip、EB CLI のインストール手順については、「Elastic Beanstalk コマンドラインインターフェイス(EB CLI)のインストール」を参照してください。

仮想環境の使用

前提条件をインストールしたら、virtualenv を使用して仮想環境をセットアップし、アプリケーションの依存関係をインストールします。仮想環境を使用することで、アプリケーションで必要なパッケージを正確に識別し、アプリケーションを実行する EC2 インスタンスにそれらの必要なパッケージをインストールすることができます。

仮想環境をセットアップするには

  1. コマンドラインウィンドウを開き、次のように入力します。

    virtualenv -p python2.7 /tmp/eb_python_app

    eb_python_app を、アプリケーションに対応するわかりやすい名前に置き換えます(アプリケーション名やディレクトリ名を使用することをお勧めします)。virtualenv コマンドによって仮想環境が作成され、アクションの結果が出力されます。

    Running virtualenv with interpreter /usr/bin/python2.7 New python executable in /tmp/eb_python_app/bin/python2.7 Also creating executable in /tmp/eb_python_app/bin/python Installing setuptools, pip...done.
  2. 仮想環境の準備が整ったら、環境の bin ディレクトリにある activate スクリプトを実行して起動します。たとえば、前のステップで作成した eb_python_app 環境を開始するには、次のように入力します。

    . /tmp/eb_python_app/bin/activate

    コマンドプロンプトの冒頭には毎回、仮想環境の名前(例: (eb_python_app))が出力され、仮想 Python 環境を使用していることがわかるようになっています。

注記

仮想環境の作成後は、activate スクリプトを再び実行することで、いつでも再起動できます。

Elastic Beanstalk 用に Python プロジェクトを設定する

Elastic Beanstalk CLI を使用して、Elastic Beanstalk を使用した Python アプリケーションのデプロイを準備できます。

Elastic Beanstalk でのデプロイ用に Python アプリケーションを設定するには

  1. 仮想環境で、プロジェクトのディレクトリツリーの最上位(python_eb_app)に戻り、次のように入力します。

    pip freeze >requirements.txt

    このコマンドは、仮想環境にインストールされているパッケージの名前とバージョンを requirements.txt にコピーします。たとえば、PyYAML パッケージ、バージョン 3.11 が仮想環境にインストールされている場合、このファイルには次の行が含まれます。

    PyYAML==3.11

    これにより、Elastic Beanstalk は、アプリケーションの開発とテストに使用されたのと同じパッケージとバージョンを使用して、アプリケーションの Python 環境をレプリケートすることができます。

  2. eb init コマンドで EB CLI リポジトリを設定します。画面の指示に従ってリージョン、プラットフォーム、その他のオプションを選択します。詳細な手順については、「EB CLI による Elastic Beanstalk 環境の管理」を参照してください。

デフォルトでは、Elastic Beanstalk は、アプリケーションを開始するために application.py というファイルを探します。作成した Python プロジェクトにこのファイルが存在しない場合は、アプリケーション環境の調整が必要になります。また、アプリケーションのモジュールをロードできるように、環境変数を設定する必要があります。詳細については、「AWS Elastic Beanstalk Python プラットフォームを使用する」を参照してください。