AWSでPython開発環境をセットアップする完全ガイド|Elastic Beanstalkの基本手順
AWSでPython開発環境を構築するために必要なもの
AWS上にPython開発環境をセットアップするには、あらかじめ以下のツールがインストールされている必要があります。
- Python本体
- pip(パッケージ管理ツール)
- virtualenv(仮想環境ツール)
- AWSEB CLI(Elastic Beanstalkコマンドラインインターフェース)
- SSHクライアント
これらのインストール手順については、AWS公式ドキュメント「EB CLIのインストール」を参照してください。
ステップ1:virtualenvで仮想環境を作成する
必要なツールの準備が整ったら、まず仮想環境を作成しましょう。仮想環境を使うことで、グローバルなPython環境を汚染することなく、プロジェクトごとに独立したパッケージ管理が可能になります。
以下のコマンドで仮想環境を作成します。
$ virtualenv -p python2.7 /tmp/hello-world
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /tmp/hello-world/bin/python2.7
Also creating executable in /tmp/hello-world/bin/python
Installing setuptools, pip...done.
ステップ2:仮想環境を有効化する
仮想環境の作成が完了したら、環境のbinディレクトリにあるactivateスクリプトを実行して有効化します。前のステップで作成したhello-world環境を起動するには、次のように入力します。
$ . /tmp/hello-world/bin/activate
一度作成した仮想環境は、このactivateスクリプトを再度実行するだけで、いつでも再開できます。
ステップ3:requirements.txtで依存パッケージを定義する
アプリケーションをデプロイ用に構成するには、仮想環境内からプロジェクトのディレクトリトップに移動し、requirements.txtファイルを作成します。このファイルには、アプリが利用するサードパーティ製モジュールとそのバージョン番号を記載します(最新版を使用したい場合はバージョン指定は不要です)。
記述例は以下のとおりです。
Flask==0.8
Jinja2==2.6
Werkzeug==0.8.3
certifi==0.0.8
chardet==1.0.1
:
また、現在のマシンにインストール済みの全パッケージを一括で書き出すには、pipのfreezeコマンドが便利です。
$ pip freeze > requirements.txt
このファイルにより、AWS側でも開発・テスト時に使用したものと同じパッケージ・同じバージョンでPython環境を再現できるため、「開発環境では動くのに本番で動かない」といった問題を防げます。
ステップ4:eb initでAWS EB CLIリポジトリを初期化する
続いて、eb initコマンドでAWS EB CLIのリポジトリを構成します。
$ eb init -p python2.7 hello-world
Application hello-world has been created.
このコマンドにより、hello-worldという名前の新しいアプリケーションが作成され、ローカルリポジトリが最新のPython 2.7プラットフォーム構成で環境を作成できるように設定されます。
さらにeb initを再度実行すると、デフォルトのキーペアを設定できます。キーペアを設定しておけば、SSH経由でアプリケーションが稼働しているEC2インスタンスに接続可能になります。
$ eb init
Do you want to set up SSH for your instances?
(y/n): y
Select a keypair.
1) my-keypair
2) [ Create new KeyPair ]
既存のキーペアがあればそれを選択し、なければプロンプトに従って新規作成してください。プロンプトが表示されない場合や、後から設定を変更したい場合は、eb init -iを実行します。
ステップ5:eb createで環境を作成してデプロイする
最後に、eb createコマンドで環境を作成し、アプリケーションをデプロイします。
$ eb create hello-env
このコマンドを実行すると、hello-envという名前のロードバランサー付きElastic Beanstalk環境が作成され、アプリケーションが自動的にデプロイされます。
トラブルシューティングと参考情報
セットアップ中に問題が発生した場合は、AWS公式ドキュメント「Python(Django)アプリケーションのデプロイ」でより詳細な情報を確認できます。
なお、ここで紹介している手順はPython 2.7ベースの例ですが、現在AWS Elastic BeanstalkではPython 3系のプラットフォームもサポートされています。新規プロジェクトの場合は、eb init -p python3.x アプリ名のようにプラットフォームバージョンを指定することをおすすめします。仮想環境も、Python 3に標準搭載されているvenvモジュールを利用すれば、追加インストールなしで同様の環境管理が可能です。
-
自分専用のクラウドPCを構築する方法【Paperspace+Parsec活用ガイド】
どこからでもアクセスできるパソコンが欲しいと思ったことはありませんか?そんなときに便利なのが「クラウドPC」です。外出先から自分のファイルにアクセスできるだけでなく、高性能なゲーミングPCをレンタルすれば、今のマシンでは到底動かせないようなゲームも快適にプレイできます。 さらに、レンタルしたクラウドPCを自分好みにカスタマイズできたら理想的ですよね。実は、オンラインサービスと「Parsec」というアプリを組み合わせれば、それが簡単に実現できるのです。 クラウドPCのセットアップ手順 まずは、クラウドPCを利用できるサービスを選びましょう。Amazon AWSなど選択肢は多数ありますが、この記
-
iPhoneのメディカルIDとは?設定方法と緊急時の確認手順をわかりやすく解説
高度な機能が数多く搭載されたiPhoneが、いざというときに命を救ってくれる存在になる——そんなことを想像したことはありますか?今回は、緊急時に役立つiPhoneの「メディカルID(Medical ID)」機能についてご紹介します。 この機能はiOS 8で初めて搭載されましたが、実は今でもその存在を知らないiPhoneユーザーは少なくありません。 「メディカルIDなんて聞いたことがない」という方は、ぜひこの記事を読んで、その概要と設定方法をマスターしてください。ほんの数分の作業が、いつかあなた自身や大切な人の命を守ることになるかもしれません。 メディカルID(Medical ID)とは? 設定