Notebooks API を使用して以前のインスタンスを登録する

このページでは、以前のユーザー管理のノートブック インスタンスを Notebooks API に移行して登録する方法を説明します。Compute Engine API を使用して作成されたインスタンスを以前のインスタンスと呼びます。以前のインスタンスは、最新の機能を備えているわけではありません。

Notebooks API で使用可能な新機能を使用するには、Notebooks API に以前のインスタンスを登録する必要があります。以前のインスタンスを登録する前に、インスタンスが要件を満たしているかどうか確認してください。要件を満たしていないインスタンスを移行できます。

以前のインスタンスを登録する前に Notebooks API を有効にすると、Notebooks API のアクティベーション プロセスで以前のインスタンスが自動的に登録されます。

要件と制限事項

以前のインスタンスを Notebooks API に登録する前に、次の要件と制限事項を考慮してください。

  • 移行元と移行先のゾーンは一致しており、Notebooks API の有効なゾーンであることが必要です。

    たとえば、us-west1-a にあるユーザー管理のノートブックのレガシー インスタンスは、Notebooks API に登録されると us-west1-a に残ります。ただし、us-central1-f にある以前のユーザー管理のノートブック インスタンスは、Notebooks API に登録されません。これは、us-central1-f が Notebooks API の有効なゾーンではないためです。

    Notebooks API ノートブック インスタンスの有効なゾーンを確認するには、任意のターミナルまたは Cloud ShellGoogle Cloud CLI を使用して、次のコマンドを実行します。

    gcloud notebooks locations list

    以前のインスタンスのゾーンが Notebooks API で有効なゾーンでない場合は、サポートまたはアカウント マネージャーにお問い合わせください。以前のインスタンスを新しいユーザー管理のノートブック インスタンスに移行することもできます。

  • ユーザー管理のノートブックの機能を利用できるのは、デュアルディスク インスタンスのみです。

    単一ディスクのユーザー管理のノートブックのレガシー インスタンスの一部は、Notebooks API に登録された後も、自動アップグレードなどの一部の Notebooks 機能を使用できません。単一ディスクの以前のインスタンスで利用可能なすべての機能を使用できるようにするには、単一ディスクのインスタンスをデュアルディスク インスタンスに移行する必要があります。

    以前のインスタンスから Notebooks API に登録されたインスタンスに移行する際に、単一ディスク インスタンスをデュアルディスク インスタンスに移行できます。以前のインスタンスを Notebooks API に登録した場合も、インスタンスを新しいデュアルディスク インスタンスに移行して問題を解決できます。

    ディスクの数を確認するには、次の手順を行います。

    コンソール

    1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. 現在のユーザー管理のノートブックの以前のインスタンスを探します。

    3. インスタンス名をクリックして、[VM インスタンスの詳細] ページを開きます。

    4. [ブートディスク] セクションと [追加ディスク] セクションで、VM にアタッチされているディスクの数を確認します。

    gcloud

    1. Cloud Shell、または Google Cloud CLI がインストールされている環境で、次の Google Cloud CLI コマンドを入力します。

      gcloud compute instances describe MY_INSTANCE_NAME \
          --zone=MY_ZONE

      次のように置き換えます。

      • MY_INSTANCE_NAME: インスタンスの名前
      • MY_ZONE: インスタンスのゾーン
    2. disks: の後の情報を確認し、VM にアタッチされているディスクの数を確認します。

以前のインスタンスを新しいユーザー管理のノートブック インスタンスに移行する

以前のユーザー管理のノートブック インスタンスが Notebooks API に無効なゾーンにある場合、または単一ディスクのインスタンスからデュアルディスク インスタンスに移行する場合は、ユーザー管理のノートブック インスタンスを作成して、以前のインスタンスから新しいインスタンスにユーザーデータをコピーする必要があります。

ユーザー管理のノートブック インスタンスを作成し、以前のインスタンスから新しいインスタンスにユーザーデータをコピーするには、次の手順を行います。

  1. ssh を使用して以前のインスタンスに接続するには、Cloud Shell または Google Cloud CLI がインストールされている環境で、次の Google Cloud CLI コマンドを入力します。

    export PROJECT_ID="MY_PROJECT_ID"
    export ZONE="MY_ZONE"
    export INSTANCE_NAME="MY_INSTANCE"
    gcloud compute ssh \
        --project $PROJECT_ID \
        --zone $ZONE $INSTANCE_NAME \
        -- -L 8080:localhost:8080

    次のように置き換えます。

    • MY_PROJECT_ID: Google Cloud プロジェクトの ID
    • MY_ZONE: インスタンスのゾーン
    • MY_INSTANCE: インスタンスの名前とその関連情報
  2. 以前のインスタンスの内容を Cloud Storage バケットにコピーするには、gcloud storage を使用します。次のコマンドの例では、すべてのノートブック(.ipynb)ファイルをデフォルトのディレクトリ /home/jupyter/ から my-bucket/legacy-notebooks という Cloud Storage ディレクトリにコピーします。

    gcloud storage cp /home/jupyter/*.ipynb gs://my-bucket/legacy-notebooks/ --recursive
  3. 以前のインスタンスと同じハードウェア仕様でユーザー マネージド インスタンスを作成します。インスタンスの作成は、Google Cloud コンソールまたは Google Cloud CLI を使用して作成できます。

    この例では、Vertex AI Workbench は、最新の TensorFlow 2 イメージと us-west1-a ゾーンにある n1-standard-1 マシンタイプを使用して、example プロジェクト内に new-notebook というユーザー管理ノートブック インスタンスを作成します。

    Cloud Shell、または Google Cloud CLI がインストールされている環境のいずれかで、次の Google Cloud CLI コマンドを入力します。

    gcloud notebooks instances create new-notebook \
        --vm-image-project=example \
        --vm-image-family=tf-latest-cpu \
        --machine-type=n1-standard-1 \
        --location=us-west1-a

    ユーザー管理のノートブック インスタンスはデュアルディスクです。デュアルディスクには、ブートディスクとデータディスクがあります。

  4. ssh を使用して、作成したユーザー管理のノートブック インスタンスに接続します。

  5. Cloud Storage バケットから以前のインスタンスの内容を新しいインスタンスにコピーするには、gcloud storage を使用します。次のコマンドの例では、すべてのノートブック(.ipynb)ファイルを Cloud Storage ディレクトリから新しいインスタンスの /home/jupyter/ ディレクトリにコピーします。

    gcloud storage cp gs://my-bucket/legacy-notebooks/*.ipynb  /home/jupyter/ --recursive
  6. 新しいユーザー管理のノートブック インスタンスで JupyterLab を開き、ユーザーデータとアセットが正常にコピーされていることを確認します。

  7. (省略可)以前のインスタンスを削除します。

Notebooks API を使用して以前のインスタンスを登録する

Notebooks API を使用して以前のインスタンスを管理するには、Notebooks API に以前のインスタンスを登録する必要があります。

以前のインスタンスを登録する前に Notebooks API を有効にすると、Notebooks API のアクティベーション プロセスで以前のインスタンスが自動的に登録されます。Notebooks API を有効にした後に以前のインスタンスを作成する場合は、次のいずれかの方法を使用して手動で登録する必要があります。

以前のインスタンスを Notebooks API に登録するには、Google Cloud Console または Notebooks API を使用します。

コンソール

Google Cloud コンソールで [Register all] オプションを使用するには、次の手順を行います。

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。

    [ユーザー管理のノートブック] に移動

  2. ユーザー管理のノートブックの 1 つ以上のレガシー インスタンスが存在する場合は、それらのインスタンスを Notebooks API に登録する必要があることを示すメッセージが表示されます。このメッセージの隣にある [Register all] をクリックします。

  3. ユーザー管理のノートブックに以前のインスタンスがなく、Notebooks API をまだ有効にしていない場合は、[Notebooks API を有効にする] をクリックして、Notebooks API を使用して新しいユーザー管理のノートブック インスタンスを作成できるようにします。

Notebooks API

Cloud Shell または Google Cloud CLI がインストールされている環境で Notebooks API が提供する register メソッドを使用するには、次の Google Cloud CLI コマンドを入力します。

gcloud notebooks instances register MY_INSTANCE_NAME \
    --location=MY_ZONE

次のように置き換えます。

  • MY_INSTANCE_NAME: インスタンスの名前
  • MY_ZONE: インスタンスのゾーン

次のステップ