LoginSignup
6
8

More than 5 years have passed since last update.

Amazon lightsailでJupyterを起動させてみた

Last updated at Posted at 2016-12-03

AWSから「lightsail」というVPSサービスが開始されたので、お試しとして使ってみた。
使ってみるついでにディープラーニングの学習環境として使いたかったので
Jupyterを入れて起動させてみた。その手順をここにまとめておく。

ちなみに学習するのはオライリーの「ゼロから作るDeep Learning」。
すごくわかりやすいのでおすすめ!
picture978-4-87311-758-4.gif
https://www.oreilly.co.jp/books/9784873117584/

前提

AWSアカウントをお持ちの方

lightsailの起動

lightsailのページへGo
chrome_2016-12-01_20-45-27.png

「Base OS」をクリック。
「Ubuntu」を選択して「Apps + OS」をクリック
chrome_2016-12-01_20-47-06.png

「Nginx」をリバースプロキシとして使いたいので「Nginx」を選択
chrome_2016-12-01_20-47-31.png

料金プランはもちろん一番安い「$5」!
chrome_2016-12-01_20-48-58.png

今回作成するインスタンスの名前を指定。
今回は「python-deeplarning-jupyter」で作成(実際作ったときはdepplarningとスペルミスしてる…)
名前が決まったら「Create」をクリック!
chrome_2016-12-01_20-49-58.png

インスタンスができた!作成したインスタンスのリンクをクリック。
chrome_2016-12-01_20-51-07_Ink_LI.jpg

インスタンスの設定

ブラウザでJupyterを見たいわけなので、そのための設定をしていく。

Elastic IPの付与

毎回IPが変わるとブラウザアクセスの際、めんどくさいのでElastic IP(固定IP)をインスタンスに付与する。

下記画面のNetworkingをクリック。
chrome_2016-12-01_20-52-09_Ink_LI.jpg

Public IPのところの「Create Static IP」をクリック
chrome_2016-12-01_21-09-23.png

Static IPの名前をつけてとのことなので、適当に名前を付けて「Create」をクリック!
chrome_2016-12-03_20-08-35.png

これで固定IPがもらえた!

Nginxの設定

さぁ、次はサーバーに入ってNginxの設定だ!

サーバーへログインするためにSSHしたいが、めんどくさいのでWebコンソールからログインしよう。
下記画面の「Connect using SSH」をクリック。
chrome_2016-12-01_20-52-09.png

ここからはコンソールでの作業。
Nginxの設定ファイルを下記のように書き換える。

sudo vim /opt/bitnami/nginx/conf/bitnami/bitnami.conf
===
upstream jupyter {
    server localhost:8888;
}

server {
    listen      80;
    server_name localhost;

    allow xxx.xxx.xxx.xxx;
    deny all;

    location / {
        proxy_pass http://jupyter;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Origin "";
    }
}
===

JupyterをNginx経由で閲覧するための設定。
他人には当然見られたくないので

allow xxx.xxx.xxx.xxx;

のところで、自分のPCのグローバルIPアドレスを指定する。

locationのところの設定は、JupyterはWebSocketを使用するため、WebSocketの設定をする。

ここまで出来たらNginxの再起動。エラーが出なきゃおk

sudo /opt/bitnami/ctlscript.sh restart nginx

ここまで出来たらブラウザで、Elastic IP(固定IP)にアクセスしてみる。

http://xxx.xxx.xxx.xxx

下記画面が表示された成功!
chrome_2016-12-01_20-57-32.png

Jupyterの設定

まずはJupyterをインストールする前に、pipのインストールを行う。
オライリーのディープラーニングの本はPython3が前提なのでPython3用を使う。

curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
curl -kL https://bootstrap.pypa.io/get-pip.py | sudo python3

次にJupyterのインストール。

pip3 install jupyter

Jupyter内で生成されるファイルの保存先を作成。
どこでもよい。

mkdir ~/jupyter

Jupyterの設定ファイルを生成。
そして設定ファイルの編集。

jupyter notebook --generate-config

vim ~/.jupyter/jupyter_notebook_config.py
===
# 179行目 Jupyterのファイル保存先ディレクトリの指定。上記で作成したディレクトリ。
c.NotebookApp.notebook_dir = '/home/bitnami/jupyter'
# 185行目 Jupyterを起動するとブラウザが起動して邪魔なのでOFF
c.NotebookApp.open_browser = False
===

ここまで来たらJupyterを起動しよう。

jupyter notebook

さっきNginxの動作確認の時に見たページにブラウザでアクセス

http://xxx.xxx.xxx.xxx

下記画面が出たら完了!
chrome_2016-12-03_20-07-16.png

最後に

ということで、lightsailでJupterを起動させることができた。
ほかのAWSのサービスは従量課金だが、このlightsailは定額なので初心者でも安心。
VMは重いから嫌だってひとにはおすすめ。

6
8
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
6
8