從使用者管理的筆記本遷移至 Vertex AI Workbench 執行個體

本頁說明如何從使用者管理的筆記本執行個體遷移至 Vertex AI Workbench 執行個體。您可以透過 Vertex AI Workbench 遷移工具遷移,或手動遷移執行個體的資料和檔案。

遷移工具總覽

Vertex AI Workbench 提供遷移工具,可將使用者自行管理的筆記本執行個體遷移至 Vertex AI Workbench 執行個體。

遷移工具會建立 Vertex AI Workbench 執行個體,其設定與要遷移的使用者管理型筆記本執行個體類似。舉例來說,遷移工具會建立機器類型、網路設定、閒置關機設定和其他規格相同或相似的執行個體。然後,系統會將使用者管理的筆記本執行個體資料磁碟上的檔案複製到 Vertex AI Workbench 執行個體。

Vertex AI Workbench 不會刪除或變更使用者自行管理的筆記本執行個體,因此遷移後您可以繼續使用。如果不再需要使用者管理的 Notebooks 執行個體,請刪除該執行個體,以免產生後續費用。

帳單

如果使用者管理的筆記本執行個體使用極端永久磁碟,遷移作業會產生 I/O 作業費用。請參閱磁碟定價的「永久磁碟和 Hyperdisk 定價」部分,瞭解「極端佈建 IOPS」。

遷移後,由使用者管理的筆記本執行個體仍會存在,並照常產生費用。如果不再需要由使用者管理的筆記本執行個體,請刪除該執行個體,以免產生進一步費用。

預設遷移工具行為

Vertex AI Workbench 遷移工具會嘗試將使用者自行管理的筆記本執行個體,遷移至規格相符的 Vertex AI Workbench 執行個體。如果使用者自管筆記本執行個體中的規格無法在 Vertex AI Workbench 執行個體中使用,Vertex AI Workbench 會盡可能使用預設規格。如果遷移工具無法遷移使用者管理的 Notebook 執行個體規格,就不會遷移該執行個體。

下表列出遷移工具的一些主要預設遷移行為。

類別 使用者自行管理的筆記本規格 遷移結果
作業系統 任何 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 已遷移
下載檔案 已遷移
終端機存取權 已遷移
其他 身分與存取權管理權限 已遷移,但可能需要新權限才能使用 Vertex AI Workbench 執行個體
存取模式 已遷移
網路 已遷移
開機後指令碼 使用 Google Cloud 控制台時,系統會遷移執行個體,但不會遷移開機後指令碼;如要遷移執行個體和開機後指令碼,請使用 Google Cloud CLI 或 REST API 指定 PostStartupScriptOption 選項
Dataproc Hub 尚未遷移,必須手動遷移

指定開機後指令碼

使用開機後指令碼的使用者管理筆記本執行個體,必須遷移至指定 PostStartupScriptOption 選項的執行個體。使用這個選項,指出是否要在新的 Vertex AI Workbench 執行個體中略過或重新執行啟動後指令碼。

Google Cloud 控制台不支援指定 PostStartupScriptOption 選項。如要在遷移使用者管理的 Notebooks 執行個體時指定 PostStartupScriptOption 選項,請使用 Google Cloud CLI 或 REST API。

事前準備

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. 如果您尚未建立由使用者管理的筆記本執行個體,請先完成這項作業。
  9. 必要的角色

    如要取得將使用者管理的筆記本執行個體遷移至 Vertex AI Workbench 執行個體所需的權限,請要求管理員授予您專案的 Notebooks Runner (roles/notebooks.runner) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    這個預先定義的角色具備將使用者自管筆記本執行個體遷移至 Vertex AI Workbench 執行個體所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

    所需權限

    如要將使用者管理的筆記本執行個體遷移至 Vertex AI Workbench 執行個體,您必須具備下列權限:

    • notebooks.instances.create
    • notebooks.instances.get

    您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

    遷移前檢查

    遷移前,請列出執行個體並檢查輸出內容,確認是否有任何遷移警告或錯誤,藉此判斷使用者管理的 Notebooks 執行個體是否符合遷移資格。

    列出執行個體

    如要列出尚未遷移的使用者管理筆記本執行個體,請使用 projects.locations.instances.list 方法和 migrated:false 篩選器。您可以使用 gcloud CLI 或 REST API 列出這些項目:

    gcloud

    使用下方的任何指令資料之前,請先替換以下項目:

    • PROJECT_ID:您的專案 ID
    • LOCATION:使用者自行管理的筆記本執行個體所在的區域,或使用 - 列出所有區域的執行個體

    執行下列指令:

    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:您的專案 ID
    • LOCATION:使用者自行管理的筆記本執行個體所在的區域,或使用 - 列出所有區域的執行個體

    HTTP 方法和網址:

    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 執行個體中的相同規格,系統就會顯示警告。舉例來說,如果使用者管理的筆記本執行個體使用不支援的加速器,輸出內容中會顯示警告。在此情況下,系統會遷移執行個體,但不包含任何加速器。遷移完成後,您就可以連結加速器。查看輸出內容中的警告,考量遷移工具的預設行為,並評估遷移工具是否適合您的遷移作業。

    如果輸出內容中有一或多個錯誤,表示您無法使用遷移工具遷移使用者管理的筆記本執行個體。您必須手動遷移執行個體

    如要進一步瞭解遷移警告和錯誤,請參閱 InstanceMigrationEligibility 說明文件中的警告錯誤

    使用遷移工具進行遷移

    您可以透過 Google Cloud 控制台、gcloud CLI 或 REST API 遷移使用者代管的 Notebooks 執行個體。

    主控台

    1. 前往 Google Cloud 控制台的「User-managed notebooks」頁面。

      前往使用者自行管理的筆記本

    2. 按一下「遷移」按鈕。

    3. 在「將使用者管理的筆記本遷移至執行個體」頁面的「就緒」分頁中,選取要遷移的執行個體。

    4. 按一下「遷移」

    5. 遷移完成後,請前往「執行個體」頁面,查看新的 Vertex AI Workbench 執行個體。

      前往「Instances」(執行個體) 頁面

    gcloud

    使用下方的任何指令資料之前,請先替換以下項目:

    • PROJECT_ID:您的專案 ID
    • LOCATION:使用者管理的筆記本執行個體所在區域
    • INSTANCE_ID:使用者管理的筆記本執行個體 ID
    • POST_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:您的專案 ID
    • LOCATION:使用者管理的筆記本執行個體所在區域
    • INSTANCE_ID:使用者管理的筆記本執行個體 ID
    • POST_STARTUP_SCRIPT_OPTION:選用:其中一個開機後指令碼選項

    HTTP 方法和網址:

    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 和終端機遷移資料和檔案。

    需求條件

    您必須具備使用者管理的 Notebook 執行個體的終端機存取權。建立執行個體時,系統會手動設定終端機存取權。執行個體建立後,即無法變更終端機存取設定。

    使用 Cloud Storage 和終端機手動遷移

    如要使用 Cloud Storage 和終端機將資料和檔案遷移至新的 Vertex AI Workbench 執行個體,請按照下列步驟操作。

    1. 在使用者管理的筆記本執行個體所在的專案中,建立 Cloud Storage 值區

    2. 在同一個專案中,建立 Vertex AI Workbench 執行個體,以便將資料遷移至該執行個體。建立這個執行個體時:

      • 啟用終端機存取權。
      • 指定機器類型、網路和其他特性,以符合您的需求。
    3. 在使用者管理的筆記本執行個體 JupyterLab 介面中,依序選取「File」(檔案)>「New」(新增)>「Terminal」(終端機),開啟終端機視窗。

    4. 使用 gcloud CLI 將使用者資料複製到 Cloud Storage bucket。下列範例指令會將執行個體 /home/jupyter/ 目錄中的所有檔案,複製到 Cloud Storage 值區的目錄。

      gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive

      更改下列內容:

      • BUCKET_NAME:Cloud Storage 值區的名稱
      • PATH:要複製檔案的目錄路徑,例如:/copy/jupyter/
    5. 在新的 Vertex AI Workbench 執行個體 JupyterLab 介面中,依序選取「File」>「New」>「Terminal」,開啟終端機視窗。

    6. 使用 gcloud CLI 將資料複製到新執行個體。 下列範例指令會將 Cloud Storage 目錄中的所有檔案,複製到新執行個體的 /home/jupyter/ 目錄。

      gcloud storage cp gs://BUCKET_NAMEPATH* /home/jupyter/ --recursive

    確認遷移

    遷移後,原始的由使用者管理的筆記本執行個體會繼續照常運作。刪除原始執行個體前,請先確認遷移作業是否成功。

    刪除由使用者管理的筆記本執行個體

    如果不需要從中遷移的使用者管理筆記本執行個體,請將其刪除,以免產生該執行個體的後續費用。

    1. 前往 Google Cloud 控制台的「User-managed notebooks」頁面。

      前往使用者自行管理的筆記本

    2. 選取要刪除的執行個體。

    3. 按一下 「Delete」(刪除) (依視窗大小而定,「Delete」(刪除) 按鈕可能位於 選項選單中)。

    4. 按一下「Delete」(刪除) 確認操作。

    疑難排解

    如要瞭解如何診斷及解決遷移問題,請參閱「排解 Vertex AI Workbench 問題」。

    後續步驟