EC2+DockerでJupyter Notebookを動かす part2

前回はEC2インスタンスを作成し、Dockerをインストールしました。
今回はJupyter NotebookをDocker上で動かし、
EC2インスタンスのネットワーク設定をいじることで
外部からJupyter Notebookへアクセスできるようにします。

Jupyter NotebookのDockerイメージ取得・起動

まずはJupyter NotebookのDockerイメージを取得します。

docker pull jupyter/datascience-notebook

Jupyter Notebookのイメージ取得ができたことを確認します。

docker images jupyter/datascience-notebook

REPOSITORY                     TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
jupyter/datascience-notebook   latest              91f5bc10a994        36 hours ago        6.828 GB

イメージの取得ができたら、あとはDockerイメージを起動します。

docker run -it --name notebook -p 80:8888 jupyter/datascience-notebook

上記コマンドを実行するとJupyter Notebookにアクセスするための
トークンが標準出力されますので、それを使ってアクセスします。
その後は”Ctrl-p -> Ctrl-q”でイメージ内からログアウトし、
ターミナル等を閉じても稼働し続けるようにします。

EC2インスタンスのNW設定

次にEC2インスタンスのネットワーク設定を下記の手順で行います。

  1. サイドメニューの「セキュリティグループ」を押下
  2. Jupyter Notebookが稼働しているEC2インスタンスの
    セキュリティグループを選択
  3. 下ウィンドウの「インバウンド」タブを選択
  4. 編集ボタンを押下
  5. 「インバウンドルールの編集」画面で「ルールの追加」を押下
  6. 以下の入力内容でルールを追加
    • タイプ|HTTP
    • プロトコル|TCP
    • ポート範囲|80
    • 送信元|カスタム、0.0.0.0/0
  7. 「保存」ボタンを押下

security group

add rule

以上の設定をすると、EC2インスタンスのグローバルIPを指定すれば
任意のIPからJupyter Notebookにアクセスできます。

Jupyter Notebook Toppage

これで家からはもちろん、出先や会社からでも
手軽にデータ分析ができますね!

コメントを残す