Elastic Beanstalk 用の Python 開発環境の設定 - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Elastic Beanstalk 用の Python 開発環境の設定

このトピックでは、Python 開発環境を設定し、アプリケーションを AWS Elastic Beanstalk にデプロイする前にローカルでテストする手順について説明します。また、便利なツールのインストール手順を提供するウェブサイトも参照します。

すべての言語に適用される一般的な設定ステップやツールについては、「Elastic Beanstalk で使用する開発マシンの設定」を参照してください。

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

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

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

すべての言語に適用される一般的な設定ステップやツールについては、Elastic Beanstalk で使用する開発マシンの設定を参照してください。

前提条件

次のリストは、Elastic Beanstalk と Python アプリケーションを使用するための一般的な前提条件を示しています。

  • Python 言語 – 選択した Elastic Beanstalk Python プラットフォームバージョンに含まれている Python 言語のバージョンをインストールします。サポートされている Python 言語バージョンのリストについては、「AWS Elastic Beanstalk プラットフォームガイド」の「サポートされている Python プラットフォーム」を参照してください。開発マシンに Python がまだ設定されていない場合は、Python ウェブサイトの「Python ダウンロード」ページを参照してください。

  • pip ユーティリティpip ユーティリティは Python のパッケージインストーラです。アプリケーション環境の設定方法を Elastic Beanstalk が判断できるように、プロジェクトの依存関係をインストールし一覧表示します。pip の詳細については、pip.pypa.io ウェブサイトの pip ページを参照してください。

  • (オプション) Elastic Beanstalk コマンドラインインターフェイス (EB CLI)EB CLI は、必要なデプロイファイルを使用してアプリケーションをパッケージ化できます。また、Elastic Beanstalk 環境を作成して、そこにアプリケーションをデプロイすることもできます。Elastic Beanstalk コンソールからもデプロイできます。そのため、EB CLI が必ず必要というわけではありません。

  • 作業用 SSH のインストール – SSH プロトコルを使用して実行中のインスタンスに接続し、デプロイを検査またはデバッグできます。

  • virtualenv パッケージ – この virtualenv ツールは、アプリケーションの開発およびテスト環境を作成します。Elastic Beanstalk は、アプリケーションで不要な追加のパッケージをインストールすることなく、この環境をレプリケートできます。詳細については、virtualenv のウェブサイトを参照してください。Python をインストールしたら、次のコマンドを使用して virtualenv パッケージをインストールできます。

    $ pip install virtualenv

仮想環境の使用

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

仮想環境をセットアップするには
  1. コマンドライン・ウィンドウを開き、次のように入力します。

    $ virtualenv /tmp/eb_python_app

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

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

    $ source /tmp/eb_python_app/bin/activate

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

  3. 仮想環境の使用を停止し、インストールされているすべてのライブラリを含むシステムのデフォルトの Python インタプリタに戻るには、deactivate コマンドを実行します。

    (eb_python_app) $ deactivate
注記

仮想環境の作成後は、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 プロジェクトにこのファイルが存在しない場合は、アプリケーション環境の調整が必要になります。また、アプリケーションのモジュールをロードできるように、環境変数を設定する必要があります。詳細については、「Elastic Beanstalk Python プラットフォームを使用する」を参照してください。