外部からの接続方法¶
[更新: 2024年10月30日]
高火力 DOK で、外部からの接続を受け付ける方法についての説明です。
はじめに¶
高火力 DOK では、コンテナーがリッスンしているポートに対して外部(インターネット)からの接続を受けられます。 この機能を使うと、簡易的なサーバーとしてコンテナーを実行できます。
注釈
- 現在のところ、対応しているプロトコルはHTTPのみです。
- インターネットから弊社設備まではHTTPS(443/TCP)で、弊社設備からコンテナーまではHTTPで通信します。そのためインターネットからは常にHTTPS接続ですが、コンテナー側でHTTPSの設定を行う必要はありません。
- 本機能は、外部からのHTTPS接続をコンテナーへマッピングするだけであり、コンテナー側で該当のポートを正しくリッスンしているかについては関知いたしません。
- 本機能は、一時的にJupyter Notebookのようなサービスを起動することを想定したものであり、恒久的なデーモンとして稼働することを想定したものではありません。 よくある質問と回答 も参照ください。
警告
- コンテナーがインターネットからの接続を受け入れるため、セキュリティーには充分にご注意ください。必要に応じてコンテナー側にファイヤーウォールの設定などを行ってください。
使い方¶
例として、 高火力 DOK で Jupyter Notebookのイメージ を使う方法を紹介します。
タスク作成画面 で、以下の情報を入力してください。
項目 | 指定する内容 | 備考 |
---|---|---|
イメージ | quay.io/jupyter/pytorch-notebook:cuda12-python-3.11 |
このタグが削除されていて使えない場合は、 タグ一覧 から cuda*-python-* の形式のタグを指定してください。 |
HTTPポート | 8888 |
イメージがリッスンしているポート番号を指定してください(Jupyter Notebookのイメージでは8888ポートをリッスンしています) |
HTTPパス | / |
|
環境変数: | JUPYTER_TOKEN : 任意の文字列 |
ここで指定した文字列を認証トークンとして使います |
タスクを作成したら、コンテナーが起動するまでしばらく待ったあとでタスク詳細画面の「HTTP URI」をコピーして、ブラウザーのアドレスバーに (コピーしたHTTP URI)/?token=(JUPYTER_TOKENで指定した文字列)
と入力してください。
たとえば https://XXXXXXXX.XXXXXXXX.container.sakurausercontent.com/?token=TOKEN
のような形式です。
注釈
- コンテナーが完全に起動するまでは、アクセスした時に503エラーが返ります。起動するまでしばらく時間がかかることがあるので、何度かリロードしてください。
無事Jupyter Notebookが起動したら、以下のような画面が表示されます。
警告
- Jupyter Notebookを使い終わったら、タスクを中断することを忘れないでください。起動した時間に応じて料金がかかります。
- ブラウザーを閉じてもタスクは自動的に終了されません。