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

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

遷移工具總覽

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

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

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

帳單

如果使用者自行管理的筆記本執行個體使用極端永久磁碟,則遷移作業會產生 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 已遷移
下載檔案 已遷移
終端機存取權 已遷移
其他 Identity and Access Management 權限 已遷移,但使用 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. Make sure 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. Make sure 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

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

    遷移前的檢查

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

    列出執行個體

    如要列出尚未遷移的使用者管理筆記本執行個體,請使用 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 遷移使用者管理的 Notebook 執行個體。

    主控台

    1. 前往 Google Cloud 控制台的「使用者管理的 Notebook」頁面。

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

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

    3. 在「Migrate user-managed notebooks to instances」頁面的「Ready」分頁中,選取要遷移的執行個體。

    4. 按一下「遷移」

    5. 遷移完成後,請前往「Instances」頁面查看新的 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 值區。下列範例指令會將執行個體 /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 控制台的「使用者管理的 Notebook」頁面。

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

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

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

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

    疑難排解

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

    後續步驟