LoginSignup
60
66

More than 5 years have passed since last update.

Python 開発用サーバの構築手順(AWS + Anaconda)

Posted at

はじめに

今回は Amazon Web Service (AWS) 上に Python 開発用サーバを構築する。Python 環境の構築には Anaconda を利用し、IDE として Jupyter Notebook を利用する。

なお、筆者の環境は以下のとおり。

項目 内容
マシン MacBook Air 13-inch, Early 2015
OS OS X Yosemite 10.10.5
Mem 8 GB

インスタンス作成

今回は以下の構成の EC2 インスタンスを作成する。

項目 内容
Region Oregon
Instance type t2.small
EBS 汎用 SSD 30 GB
Security group Inbound = TCP:22 & 8888, Outbount = all, Anywhere

SSH の設定

以下の設定を ~/.ssh/config に記述する(~/.ssh/configが無ければ新規作成)。XXXXX.pem は AWS で発行された秘密鍵ファイル。

~/.ssh/config
Host (任意のホスト名を記述: ex. pydev)
hostname ec2-XXX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com
identityfile ~/.ssh/XXXXX.pem 
user ec2-user

サーバにログインする。

$ ssh pydev

必要なソフトウェアのインストール

Git, tmux, Emacs などをインストール。

$ sudo yum -y install git tmux emacs gcc gcc-c++ python-setuptools python-devel postgresql-devel

以後は tmux 上で作業する。

$ tmux

Anaconda 環境のインストール

以下のコマンドを実行する。

$ wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda3-4.0.0-Linux-x86_64.sh
$ bash Anaconda3-4.0.0-Linux-x86_64.sh
$ source .bashrc

Jupyter Notebook 環境の設定

以下のコマンドを実行する

$ jupyter notebook --generate-config
$ source activate root
$ ipython
In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password: XXXXXX
Verify password: XXXXXX

Out[2]: 'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'

出力された 'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX' をメモしておく。

~/.jupyter/jupyter_notebook_config.py に以下の設定を記述。

~/.jupyter/jupyter_notebook_config.py
...
c.NotebookApp.ip = '*'
...
c.NotebookApp.open_browser = False
...
c.NotebookApp.password = 'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
`

以下のコマンドで Jupyter Notebook サーバを起動する。

$ jupyter notebook &

/etc/rc.localnohup jupyter notebook & を追記するとインスタンス再起動時にも自動的にJupyter Notebook サーバが起動する。

ブラウザから Jupyter Notebook にログイン

ローカルのブラウザから http://[サーバのホスト名 or IP]:8888/ にアクセスするとログイン画面が表示される。Jupyter Notebook 環境の設定で入力したパスワードを入力するとログイン出来る。

おわりに

ここまでで AWS EC2 上に Python の開発環境が構築できた。現在の設定だとサーバのIPは再起動時に変わってしまうので、 Elasatic IP を利用して固定するなどするほうが良いだろう。マシンパワーが足りない際は、適宜インスタンスタイプを増強すればよい。

参考文献

60
66
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
60
66