使用 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 Shell 中使用 Google Cloud CLI 執行下列指令:

    gcloud notebooks locations list

    如果舊版執行個體的區域不是 Notebooks API 的有效區域,您可以聯絡支援團隊或客戶經理,也可以將舊版執行個體遷移至新的使用者管理 Notebooks 執行個體

  • 只有雙磁碟執行個體可以使用所有由使用者管理的筆記本功能。

    單磁碟舊版執行個體即使已註冊 Notebooks API,也無法使用部分由使用者管理的筆記本功能,例如自動升級。如要讓單磁碟舊版執行個體使用所有可用功能,您必須將單磁碟執行個體遷移至雙磁碟執行個體

    您可以將單磁碟執行個體遷移至雙磁碟執行個體,這也是從舊版執行個體遷移至透過 Notebooks API 註冊的執行個體的一部分。如果您已使用 Notebooks API 註冊舊版執行個體,仍可將執行個體遷移至雙磁碟執行個體,以解決問題。

    如要確認磁碟數量,請完成下列步驟。

    控制台

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

      前往 VM 執行個體

    2. 找出目前的舊版由使用者管理的筆記本執行個體。

    3. 按一下執行個體名稱,開啟「VM instance details」(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 執行個體位於 Notebooks API 的無效區域,或是您想要從單磁碟執行個體遷移至雙磁碟執行個體,則必須建立使用者管理的 Notebooks 執行個體,並將使用者資料從舊版執行個體複製到新執行個體。

如要建立由使用者管理的筆記本執行個體,並將使用者資料從舊版執行個體複製到新版執行個體,請完成下列步驟:

  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。以下範例指令會將所有 Notebook (.ipynb) 檔案從預設目錄 /home/jupyter/ 複製到名為 my-bucket/legacy-notebooks 的 Cloud Storage 目錄。

    gcloud storage cp /home/jupyter/*.ipynb gs://my-bucket/legacy-notebooks/ --recursive
  3. 建立使用者自行管理的筆記本執行個體,其硬體規格與舊版執行個體相同。您可以使用主控台或 Google Cloud CLI 建立執行個體。Google Cloud

    在這個範例中,Vertex AI Workbench 會在 us-west1-a 區域中,使用最新的 TensorFlow 2 映像檔,在 example 專案中建立名為 new-notebook 的使用者自行管理筆記本執行個體,並使用 n1-standard-1 機器類型。

    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。下列範例指令會將所有 Notebook (.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 主控台或 Notebooks API。

控制台

如要在 Google Cloud 主控台中使用「註冊所有」選項,請完成下列步驟:

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

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

  2. 如果您有一或多個舊版使用者管理的筆記本執行個體,系統會顯示訊息,指出您需要透過 Notebooks API 註冊這些執行個體。按一下這則訊息旁邊的「註冊所有內容」

  3. 如果您沒有任何舊版使用者自行管理的筆記本執行個體,但尚未啟用 Notebooks API,請點選「啟用 Notebooks API」,確保使用 Notebooks API 建立新的使用者自行管理的筆記本執行個體。

Notebooks API

如要使用 Notebooks API 提供的 register 方法,請在 Cloud Shell 或已安裝 Google Cloud CLI 的任何環境中,輸入下列 Google Cloud CLI 指令:

gcloud notebooks instances register MY_INSTANCE_NAME \
    --location=MY_ZONE

更改下列內容:

  • MY_INSTANCE_NAME:執行個體名稱
  • MY_ZONE:執行個體的可用區

後續步驟