Shingoの数学ノート

プログラミングと機械学習のメモ

ngrokで外からJupyter Notebookを使う

自宅のサーバーでssh経由でJupyter Notebook使っているとき、外で使いたいと思うことありませんか?

今回は、ngrokを使ってJupyter Notebookをインターネット経由でアクセスできるようにする方法を紹介します。

ngrokとは?

ngrokは、ローカル環境を一時的にインターネットに公開するためのツールです。開発中のウェブアプリケーションをテストする際に便利です。

ngrokのインストール

まず、ngrokでユーザー登録を行い、下記に従ってインストールします。

ngrokのダウンロード

Jupyter Notebookの起動

Jupyter Notebookを起動します。通常通りにローカルで起動します。ポートは8888であることを確認してください。

jupyter notebook

Jupyter Notebookの設定

Jupyter Notebookの設定ファイルを編集します。

通常は「~/.jupyter/jupyter_notebook_config.py」にあります。なければ下記で作成してください。

bash
jupyter notebook --generate-config

ファイルを開き、allow_remote_accessをTrueにします。

bash
c.NotebookApp.allow_remote_access = True

ngrokの設定と起動

次に、ngrokを使ってJupyter Notebookをインターネットに公開します。以下のコマンドを実行します。

ngrok http 8888

実行すると、下記のような画面が表示されます。ここで表示されたURLを使って、インターネット経由でJupyter Notebookにアクセスできます。

New guides https://ngrok.com/docs/guides/site-to-site-apis/                                                                  
                                                                                                                             
Session Status                online                                                                                         
Account                       your mail address (Plan: Free)                                                               
Update                        update available (version 3.13.0, Ctrl-U to update)                                            
Version                       3.12.1                                                                                         
Region                        Japan (jp)                                                                                     
Latency                       6ms                                                                                            
Web Interface                 http://127.0.0.1:4040                                                                          
Forwarding                    https://hostname.ngrok-free.app -> http://localhost:8888    
                                                                                                                             
Connections                   ttl     opn     rt1     rt5     p50     p90                                                    
                              2       2       0.03    0.01    0.10    0.15                                                   
                                                                                                                             
HTTP Requests                                                                                                                
-------------       

ngrokで発行されたURL(例: https://xxxx-xxxx-xxxx.ngrok-free.app )を開くと、jupyter notebookが使用できるようになります。

セキュリティに注意

ngrokを使って公開されたJupyter Notebookは、誰でもアクセスできる状態になるため、必ずパスワードを設定するなどのセキュリティ対策を行ってください。

まとめ

ngrokを使って、ローカル環境で動作するJupyter Notebookをインターネット経由でアクセスできるようにする方法を紹介しました。

これでどこでもアプリ開発とKaggleができるね!

Comments

Loading comments...