jupyter, AnacondaをGoogle Cloud Platfrom上で動かす
jupyterをGoogle Cloud Platfrom上で動かして、ローカルのブラウザからアクセスしたい。
以下その手順
1.Google Cloud Platfromでインスタンス作成
環境構築時は小さい構成でよい。
今回はcentOSを利用している。
できたらSSHでアクセスする。
2.Anacondaインストール
2-1. wget,bzip2のインストール
su yum install wget su yum install bzip2
2-2. Anacondaのダウンロードとインストール
(最新のバージョンはhttps://www.continuum.io/downloadsで確認)
mkdir downloads cd downloads wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh bash Anaconda3-4.3.1-Linux-x86_64.sh
途中出てくる質問はすべてyesにする。
3.jupyterの設定
3-1. コンフィギュレーションファイルを作成
cd jupyter notebook --generate-config cd .jupyter
3-2. SSL用の鍵を作成
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
3-3. パスワードからハッシュ値の生成
pythonで以下を実行、得られたハッシュ値は控えておく。
from notebook.auth import passwd; passwd()
3-4. コンフィギュレーションファイルを編集
# OpenSSLで作ったファイルへのパス c.NotebookApp.certfile = u'/home/username/.jupyter/mycert.pem' c.NotebookApp.keyfile = u'/home/username/.jupyter/mykey.key' # どのIPアドレスからのアクセスも受け入れる c.NotebookApp.ip = '*' # passwd()コマンドで作ったパスワードのハッシュを貼る c.NotebookApp.password = u'sha1:bcd259ccf...' # 勝手にブラウザを起動しない c.NotebookApp.open_browser = False # 外部からアクセスするためのポート番号を指定する c.NotebookApp.port = 8888
3-5. 作業フォルダの作成とjupyterの起動
cd mkdir jupyter_workdir cd jupyter_workdir jupyter notebook
4-1. ファイアウォールのHTTPS トラフィックを許可するにチェックを入れる
4-2. 外部IPで新しい静的IPを追加する(IP追加にコスト発生の場合あり)
4-3. ネットワークのdefaultをクリックし、ファイアウォール ルールを追加
名前:任意
ソースタグ: 0.0.0.0/0 どのようなホストからでも接続を許す
許可対象のプロトコルまたはポート : tcp:8888
変更出来たら設定を保存する
確認
https://「外部IP」:8888/ にアクセスし、先ほど作成したパスワードを入力する。
実行できた。
参考
Set up Anaconda + IPython + Tensorflow + Julia on a Google Compute Engine VM – Harold Soh
Google Cloud Platform で Jupyter のサービスを動かす » DSP空挺団