ユーザー管理のノートブックから Vertex AI Workbench インスタンスに移行する
このページでは、ユーザー管理ノートブック インスタンスから Vertex AI Workbench インスタンスに移行する方法について説明します。移行には Vertex AI Workbench 移行ツールを使用します。また、インスタンスのデータとファイルを手動で移行することもできます。
移行ツールの概要
Vertex AI Workbench には、ユーザー管理ノートブック インスタンスから Vertex AI Workbench インスタンスに移行するための移行ツールが用意されています。
移行ツールは、移行するユーザー管理ノートブック インスタンスと同様の構成で Vertex AI Workbench インスタンスを作成します。たとえば、同じまたは類似したマシンタイプ、ネットワーク構成、アイドル シャットダウン設定、その他の仕様を持つインスタンスを作成します。その後、ユーザー管理ノートブック インスタンスのデータディスク上のファイルを Vertex AI Workbench インスタンスにコピーします。
Vertex AI Workbench では、ユーザー管理ノートブック インスタンスの削除や変更は行われません。移行後も引き続き使用できます。ユーザー管理のノートブック インスタンスが不要になった場合は、そのインスタンスを削除して、追加料金が発生しないようにしてください。
請求
ユーザー管理のノートブック インスタンスで Extreme Persistent Disk が使用されている場合、移行により I/O オペレーションに対する料金が発生します。ディスクの料金の Persistent Disk と Hyperdisk の料金のセクションの「エクストリーム設定 IOPS」をご覧ください。
移行後も、ユーザー管理のノートブック インスタンスは存在し、以前と同様に料金が発生します。ユーザー管理のノートブック インスタンスが不要になった場合は、そのインスタンスを削除して、追加料金が発生しないようにしてください。
移行ツールのデフォルトの動作
Vertex AI Workbench 移行ツールは、ユーザー管理ノートブック インスタンスを一致する仕様で Vertex AI Workbench インスタンスに移行しようとします。ユーザー管理ノートブック インスタンスの仕様が Vertex AI Workbench インスタンスで利用できない場合、Vertex AI Workbench は可能な限りデフォルトの仕様を使用します。移行ツールでユーザー管理ノートブック インスタンスの仕様を移行できない場合、インスタンスは移行されません。
次の表に、移行ツールのデフォルトの移行動作の一部を示します。
カテゴリ | ユーザー管理ノートブックの仕様 | 移行結果 |
---|---|---|
OS | すべての Ubuntu バージョン | Debian 11 |
すべての Debian バージョン | Debian 11 | |
フレームワーク | すべての CUDA バージョン | CUDA 11.3 |
すべての Python バージョン | Python 3.10 | |
すべての PyTorch バージョン | PyTorch 1.13 | |
すべての TensorFlow バージョン | TensorFlow 2.11 | |
すべての R バージョン | 移行されません。conda 環境を追加するをご覧ください。 | |
すべてのローカル PySpark バージョン | 移行されません。conda 環境を追加するをご覧ください。 | |
すべての XGBoost バージョン | 移行されません。conda 環境を追加するをご覧ください。 | |
すべての Kaggle Python バージョン | 移行されません。conda 環境を追加するをご覧ください。 | |
すべての Jax バージョン | 移行されません。conda 環境を追加するをご覧ください。 | |
すべての Apache Beam バージョン | 移行されません。conda 環境を追加するをご覧ください。 | |
マシンタイプ | サポートされているマシンタイプ | 同一のマシンタイプ |
サポートされていないマシンタイプ | e2-standard-4 |
|
アクセラレータ | サポートされているアクセラレータ | 同一のアクセラレータ |
サポートされていないアクセラレータ | 移行にはアクセラレータが含まれません | |
設定 | アイドル状態でのシャットダウン | 移行済み |
ゴミ箱に移動 | 移行済み | |
nbconvert |
移行済み | |
ファイルのダウンロード | 移行済み | |
ターミナル アクセス | 移行済み | |
その他 | Identity and Access Management の権限 | 移行されます。ただし、Vertex AI Workbench インスタンスを使用するために新しい権限が必要になる場合があります。 |
アクセスモード | 移行済み | |
ネットワーク | 移行済み | |
起動後のスクリプト |
Google Cloud コンソールを使用する場合、インスタンスは起動後のスクリプトなしで移行されます。起動後のスクリプトでインスタンスを移行するには、Google Cloud CLI または REST API を使用して PostStartupScriptOption オプションを指定します。 |
|
Dataproc Hub | 移行されません。手動で移行する必要があります。 |
起動後のスクリプトの指定
起動後のスクリプトを使用するユーザー管理ノートブック インスタンスは、PostStartupScriptOption
オプションが指定されているインスタンスに移行する必要があります。このオプションを使用して、新しい Vertex AI Workbench インスタンスで起動後のスクリプトをスキップするか再実行するかを指定します。
Google Cloud コンソールでは、PostStartupScriptOption
オプションの指定はできません。ユーザー管理ノートブック インスタンスを移行するときに PostStartupScriptOption
オプションを指定するには、Google Cloud CLI または REST API を使用する必要があります。
準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- まだ作成していない場合は、ユーザー管理のノートブック インスタンスを作成します。
必要なロール
ユーザー管理ノートブック インスタンスを Vertex AI Workbench インスタンスに移行するために必要な権限がユーザー アカウントに付与されるようにするには、プロジェクトに対する Notebooks ランナー(roles/notebooks.runner
)の IAM ロールをユーザー アカウントに付与するように管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
この事前定義ロールには、ユーザー管理ノートブック インスタンスを Vertex AI Workbench インスタンスに移行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
ユーザー管理ノートブック インスタンスを Vertex AI Workbench インスタンスに移行するには、次の権限が必要です。
-
notebooks.instances.create
-
notebooks.instances.get
管理者は、カスタムロールや他の事前定義ロールを使用して、これらの権限をユーザー アカウントに付与することもできます。
移行前チェック
移行する前に、インスタンスを一覧表示し、移行の警告やエラーの出力を確認して、ユーザー管理ノートブック インスタンスが移行に適しているかどうか確認します。
インスタンスを一覧表示する
まだ移行されていないユーザー管理ノートブック インスタンスを一覧表示するには、フィルタ migrated:false
を指定して projects.locations.instances.list
メソッドを使用します。gcloud CLI または REST API を使用して一覧表示できます。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
PROJECT_ID
: プロジェクト IDLOCATION
: ユーザー管理ノートブック インスタンスが配置されているリージョン。すべてのリージョンのインスタンスを一覧表示するには-
を使用します。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud notebooks instances list --project=PROJECT_ID \ --location=LOCATION --filter=migrated:false --format=default
Windows(PowerShell)
gcloud notebooks instances list --project=PROJECT_ID ` --location=LOCATION --filter=migrated:false --format=default
Windows(cmd.exe)
gcloud notebooks instances list --project=PROJECT_ID ^ --location=LOCATION --filter=migrated:false --format=default
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: プロジェクト IDLOCATION
: ユーザー管理ノートブック インスタンスが配置されているリージョン。すべてのリージョンのインスタンスを一覧表示するには-
を使用します。
HTTP メソッドと URL:
GET https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?filter=migrated:false
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?filter=migrated:false"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?filter=migrated:false" | Select-Object -Expand Content
出力に警告やエラーがないか確認する
移行の警告やエラーが検出された場合は、projects.locations.instances.list
メソッドの出力にこの情報が含まれます。
ユーザー管理ノートブック インスタンスの構成に含まれているコンポーネントが、Vertex AI Workbench インスタンス内の同じ仕様に移行されない場合、警告が表示されます。たとえば、ユーザー管理ノートブック インスタンスがサポート対象外のアクセラレータを使用している場合、出力に警告が表示されます。この場合、インスタンスはアクセラレータなしで移行されます。アクセラレータは移行後に接続できます。出力の警告を確認し、移行ツールのデフォルトの動作を考慮して、移行ツールが移行に適しているかどうかを評価します。
出力に 1 つ以上のエラーが表示される場合は、移行ツールではユーザー管理ノートブック インスタンスを移行できないことを意味します。インスタンスを手動で移行する必要があります。
移行の警告とエラーの詳細については、InstanceMigrationEligibility
ドキュメントの警告とエラーをご覧ください。
移行ツールを使用して移行する
ユーザー管理ノートブック インスタンスは、Google Cloud コンソール、gcloud CLI、または REST API を使用して移行できます。
コンソール
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。
[移行] ボタンをクリックします。
[ユーザー管理のノートブックをインスタンスに移行する] ページの [準備完了] タブで、移行するインスタンスを選択します。
[移行] をクリックします。
移行が完了したら、[インスタンス] ページに移動して、新しい Vertex AI Workbench インスタンスを確認します。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト IDLOCATION
: ユーザー管理ノートブック インスタンスが配置されているリージョンINSTANCE_ID
: ユーザー管理ノートブック インスタンスの IDPOST_STARTUP_SCRIPT_OPTION
: 省略可。起動後のスクリプトのオプションのいずれか
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud notebooks instances migrate RUNTIME_ID \ --project=PROJECT_ID \ --location=LOCATION \ --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION
Windows(PowerShell)
gcloud notebooks instances migrate RUNTIME_ID ` --project=PROJECT_ID ` --location=LOCATION ` --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION
Windows(cmd.exe)
gcloud notebooks instances migrate RUNTIME_ID ^ --project=PROJECT_ID ^ --location=LOCATION ^ --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION
REST
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト IDLOCATION
: ユーザー管理ノートブック インスタンスが配置されているリージョンINSTANCE_ID
: ユーザー管理ノートブック インスタンスの IDPOST_STARTUP_SCRIPT_OPTION
: 省略可。起動後のスクリプトのオプションのいずれか
HTTP メソッドと URL:
POST https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:migrate
リクエストの本文(JSON):
{ "postStartupScriptOption": (POST_STARTUP_SCRIPT_OPTION) }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:migrate"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:migrate" | Select-Object -Expand Content
手動で移行する
インスタンスを Vertex AI Workbench インスタンスに手動で移行するには、次の方法を検討してください。
Cloud Storage とターミナルを使用する: データとファイルを Cloud Storage にコピーしてから、ターミナルを使用して別のインスタンスにデータとファイルをコピーします。
GitHub を使用する: JupyterLab 用の Git 拡張機能を使用してデータとファイルを GitHub リポジトリにコピーします。
このガイドでは、Cloud Storage とターミナルを使用してデータとファイルを移行する方法について説明します。
要件
ユーザー管理ノートブック インスタンスへのターミナル アクセスが必要です。ターミナルへのアクセス権は、インスタンスを作成するときに手動で設定します。インスタンス作成後にターミナル アクセスの設定を変更することはできません。
Cloud Storage とターミナルを使用して手動で移行する
Cloud Storage とターミナルを使用して、データとファイルを新しい Vertex AI Workbench インスタンスに移行するには、次の操作を行います。
ユーザー管理のノートブック インスタンスと同じプロジェクトに Cloud Storage バケットを作成します。
同じプロジェクトで、データの移行先となる Vertex AI Workbench インスタンスを作成します。このインスタンスを作成するときに、次の操作を行います。
- ターミナル アクセスを有効にします。
- 必要に応じて、マシンタイプ、ネットワーク、その他の特性を指定します。
ユーザー管理のノートブック インスタンスの JupyterLab インターフェースで、[File] > [New] > [Terminal] を選択して、ターミナル ウィンドウを開きます。
gcloud CLI を使用して、Cloud Storage バケットにユーザーデータをコピーします。次のコマンドの例では、インスタンスの
/home/jupyter/
ディレクトリから Cloud Storage バケット内のディレクトリにすべてのファイルをコピーします。gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive
次のように置き換えます。
BUCKET_NAME
: Cloud Storage バケットの名前。PATH
: ファイルをコピーするディレクトリのパス(例:/copy/jupyter/
)
新しい Vertex AI Workbench インスタンスの JupyterLab インターフェースで、[File] > [New] > [Terminal] を選択して、ターミナル ウィンドウを開きます。
gcloud CLI を使用して、新しいインスタンスにデータをコピーします。次のコマンドの例では、すべてのファイルを Cloud Storage ディレクトリから新しいインスタンスの
/home/jupyter/
ディレクトリにコピーします。gcloud storage cp gs://BUCKET_NAMEPATH* /home/jupyter/
移行の確認
移行後も、元のユーザー管理ノートブック インスタンスは以前と同様に機能します。元のインスタンスを削除する前に、移行が正常に完了したことを確認します。
ユーザー管理のノートブック インスタンスの削除
移行元のユーザー管理のノートブック インスタンスが不要な場合は、そのインスタンスを削除して、料金が発生しないようにします。
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。
削除するインスタンスを選択します。
[
削除] をクリックします(ウィンドウのサイズによっては、 オプション メニューに [削除] ボタンが表示される場合があります)。[削除] をクリックして確定します。
トラブルシューティング
移行の問題を診断して解決する方法については、Vertex AI Workbench のトラブルシューティングをご覧ください。
次のステップ
- Vertex AI Workbench インスタンス の詳細を確認する