ユーザーマニュアル

外部解析基盤との連携

NII 以外のサーバー上に解析基盤を構築して利⽤する⽅法

この作業をする⽬的

NIIが提供する解析基盤(https://jupyter.cs.rcos.nii.ac.jp/)は試用版であり、ログインできるアカウントや利用できるストレージ/メモリに制約があります。より本格的にGakuNin RDMデータ解析機能を活用したい場合は、独自に用意したサーバー上に解析基盤を構築することをおすすめします。

独自の解析基盤として、次の2つのシステムが利用可能です。

  • The Littlest JupyterHub (TLJH)
  • Binder

TLJHは、互いに信頼関係のある特定少数のユーザーに利用させるのに向いています。ユーザーは他のユーザーのデータを見ることができます。一方Binderは、不特定多数のユーザーに提供するのに向いています。ユーザーは各自のコンテナ内に隔離され、他のユーザーのデータを見ることができません。

ここでは、GakuNin RDMと連携可能なTLJHの構築手順を紹介します。

Binderの構築に関心のある方は、データ解析基盤担当 までお問い合わせください。必要に応じてコンサルティングさせていただきます。

TLJH構築の実例

ここでは、TLJHを mdx に構築する例を紹介します。

Jupyter Notebook を使ってTLJHをインストールする方法

  1. クローバルIPの準備
    • mdx から割り当てられるグローバルIPアドレスの空きを1つ確保しておいてください。
  2. インストール用 Jupyter Notebook の準備とSSH鍵の作成
    • この手順では、NIIの解析環境を使ってインストール用 Jupyter Notebook を実行します。はじめに NII の JupyterHub を確認してください。もしNamed Serversの数が10個に達している場合は、使っていないserverを削除してください。削除するには「stop」ボタンを押し、しばらくすると現れる「delete」ボタンを押します。
    • インストール用Jupyter Notebookのリポジトリ (https://github.com/RCOSDP/CS-machine-configs) にアクセスします。
    • 「launch binder」と書かれたアイコンをクリックします。Jupyter Notebook が起動します。
    • 環境に合わせてセルの内容を編集します。少なくとも以下の変数を変更してください。
      • REMOTE_HOST = "確保したグローバルIPアドレス"
      • EMAIL_ADDRESS = "ダミーではなく送受信可能なメールアドレス"
    • 「公開鍵の確認」のセルまで上から順番に実行します。
      • 「Restart & Run All」だと予期しない結果になる可能性があります。
    • 以下の出力内容を確認してください。これらの出力内容は後で使います。
      • 「このJupyterのグローバルIPアドレス」の下に表示されたIPアドレス
      • 「公開鍵の確認」の下に表示された公開鍵
    • ここで一旦止めてインストール先のサーバーの準備をします。
  3. サーバー(仮想マシン)の準備と起動
    • mdx で Ubuntu 22.04 LTS の仮想マシンをデプロイします。
    • ハードウェアのカスタマイズのダイアログで以下の点に留意して設定してください。
      • CPU パックの場合は4パック以上、GPU パックの場合は1パック以上の割り当てが必要です。
      • 利用目的に合った十分な容量のストレージを確保してください。少なくとも50GBは必要です。
      • Jupyter Notebook に表示されている公開鍵をフォームに貼り付けます。
        img5600_fill_pub_key.png
    • デプロイします。
    • デプロイが出来たら起動してください。
    • 起動後、しばらく待つと内部IPアドレスが割り当てられます。
  4. ネットワークの設定
    • 割り当てられたサービスネットワークのIPv4アドレスを確認します。
    • DNATの設定をして仮想マシンのプライベートアドレスをグローバルアドレスに変換します。
    • ACLの設定をして以下の設定をします。
      • 「このJupyterのグローバルIPアドレス」に対してポート22を開放
        img5600_enable_ssh.png
      • Let's Encrypt を使う場合
        • 0.0.0.0/0に対してポート80/443を開放
          img5600_enable_https.png
  5. インストール用 Jupyter Notebook で Ansible による TLJH のインストール
    • インストール用 Jupyter Notebook に戻ります。
    • 「Ansibleの動的インベントリ設定」以降を実行します。
    • 「HTTPS設定(Let's Encrypt)」を実行したところで TLJH のインストールは完了です。
    • GPU を使う場合は「GPU設定(オプション)」以降も実行してください。
  6. TLJH (The Littlest JupyterHub) について詳しく知りたい方は、以下のサイトも併せてお読みください。

GakuNin Federated Computing Services アドオンの構成

  1. サーバーの確認
    tljh-repo2docker 環境を構築したサーバーのURLを確認します。IPアドレスでも動作します。

    img5601_dnat_address.png

  2. サーバーの追加

    ①GakuNin RDM プロジェクトのナビゲーションバーの「アドオン」をクリックします。
    ②左ペインの「アドオンを構成」をクリックします。
    ③「BinderHubを追加」をクリックします。
    img5602_add_binder_host.png
    ④表⽰されたダイアログの「BinderHub URL」のフォームに、先ほど確認した URL を⼊⼒します。
    img5603_config_binder.png
    ⑤保存をクリックします。
    img5604_save_binder_config.png

  3. デフォルトBinderHub URLの設定
    「GakuNin Federated Computing Services (Jupyter)」の項に、先ほど⼊⼒した URL が追加されているはずです。
    優先的に使う解析環境の URL の右側にあるチェックボックスにチェックを⼊れてください。
    そのさらに右にある「x」をクリックすると URL がリストから消えてしまいますので、ご注意ください。

    img5605_chg_default_binder.png

  4. BinderHub URLリストからの解除
    ご⾃分で準備された解析基盤の仕様を中⽌される場合は、
    URLの右側のチェックボックスのさらに右にある「x」にチェックを⼊れてください。

解析環境のビルド

  1. ホストの変更

    現在使用している JupyterHub の URL の右側にある 「変更」の文字をクリックします。

    img5606_chg_env.png

  2. ホストの選択

    表示されたダイアログの中からデータ解析環境を構築するサーバーのホストを選択します。

    img5606_show_env_list.png

  3. ビルドの準備
    NII が準備した解析基盤 (https://binder.cs.rcos.nii.ac.jp) を使⽤するときと、ほぼ同じ⽅法でビルドできます。
    パッケージ選択の詳細は、データ解析の始め⽅をご覧ください。

    img5609_launch_new_env.png

  4. ビルド中の様⼦
    ユーザーマニュアルの中のデータ解析の始め⽅に従い、「新しい環境を作成」ボタンをクリックすると、
    別の新しいタブが表⽰され、その中でビルドを開始します。

    img5610_build_new_env.png

  5. データ解析環境の利⽤
    すべての解析環境を表⽰」をクリックすると、新しいタブでJupyterHubのページが表⽰されるので
    「Start My Server」をクリックします。

    img5607_start_binder_server.png

    新しい環境をラジオボタンで選択し「Start」をクリックします。

    img5612_start_jupyter_server.png

    The Littlest JupyterHubの How-To ガイドも併せて参照してください。

    https://tljh.jupyter.org/en/latest/howto/index.html