使用快照備份及還原資料

本頁面說明如何使用快照備份及還原 Vertex AI Workbench 執行個體上的資料。

備份資料

如要備份 Vertex AI Workbench 執行個體上的資料,可以建立基礎 Compute Engine 虛擬機器 (VM) 資料磁碟的快照。

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST API,為執行個體的資料磁碟建立快照:

控制台

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

    前往「Instances」(執行個體)

  2. 按一下執行個體名稱。

  3. 在「Instance details」(執行個體詳細資料) 頁面上,按一下「View in Compute Engine」(在 Compute Engine 中查看),開啟「VM details」(VM 詳細資料)

  4. 在「Additional disks」(其他磁碟) 區段中,按一下資料磁碟的名稱。 資料磁碟的名稱格式如下: INSTANCE_NAME-data-workspace

  5. 按一下 [Create snapshot] (建立快照)。

  6. 在「建立快照」對話方塊中,按一下「建立」

Compute Engine 會建立資料磁碟的快照。

gcloud

如要建立執行個體資料磁碟的快照,請使用 gcloud compute snapshots create 指令。

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

  • SNAPSHOT_NAME:快照名稱
  • SOURCE_ZONE:執行個體所在的可用區
  • INSTANCE_NAME:執行個體的名稱
  • STORAGE_LOCATION:您要儲存快照的 Cloud Storage 多地區Cloud Storage 地區。您只能指定一個儲存位置。

執行下列指令:

Linux、macOS 或 Cloud Shell

gcloud compute snapshots create SNAPSHOT_NAME \
    --source-disk-zone=SOURCE_ZONE \
    --source-disk=INSTANCE_NAME-data-workspace \
    --storage-location=STORAGE_LOCATION

Windows (PowerShell)

gcloud compute snapshots create SNAPSHOT_NAME `
    --source-disk-zone=SOURCE_ZONE `
    --source-disk=INSTANCE_NAME-data-workspace `
    --storage-location=STORAGE_LOCATION

Windows (cmd.exe)

gcloud compute snapshots create SNAPSHOT_NAME ^
    --source-disk-zone=SOURCE_ZONE ^
    --source-disk=INSTANCE_NAME-data-workspace ^
    --storage-location=STORAGE_LOCATION

REST

如要建立執行個體資料磁碟的快照,請向 Compute Engine 的 snapshots.insert 方法提出 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • DESTINATION_PROJECT_ID:您要在當中建立快照的專案 ID
  • SNAPSHOT_NAME:快照名稱
  • SOURCE_PROJECT_ID:執行個體所在的專案 ID
  • SOURCE_ZONE:執行個體所在的可用區
  • INSTANCE_NAME:執行個體的名稱
  • STORAGE_LOCATION:您要儲存快照的 Cloud Storage 多地區Cloud Storage 地區。你只能指定一個儲存位置。

HTTP 方法和網址:

POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots

JSON 要求內文:

{
  "name": "SNAPSHOT_NAME",
  "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace",
  "storageLocations": [
      "STORAGE_LOCATION"
  ],
}

如要傳送要求,請選擇以下其中一個選項:

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://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots"

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://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots" | Select-Object -Expand Content

排定備份時程

如要為工作台執行個體設定備份排程,請為資料磁碟附加資源政策

您可以使用 Google Cloud CLI 或 REST API 建立執行個體,並附加快照排程:

gcloud

如要使用快照排程建立執行個體,請使用 gcloud workbench instances create 指令,並使用 --data-disk-resource-policies 旗標指定資源政策。

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

  • INSTANCE_NAME:Vertex AI Workbench 執行個體的名稱;開頭須為英文字母,後面最多可接 62 個小寫英文字母、數字或連字號 (-),但結尾不得為連字號
  • PROJECT_ID:專案 ID
  • LOCATION:您希望執行個體所在的可用區
  • MACHINE_TYPE:執行個體 VM 的機器類型,例如: n2d-standard-2
  • REGION:資源政策所在的區域
  • RESOURCE_POLICY:要套用至資料磁碟的資源政策。

執行下列指令:

Linux、macOS 或 Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --machine-type=MACHINE_TYPE \
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

Windows (PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --machine-type=MACHINE_TYPE `
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

Windows (cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --machine-type=MACHINE_TYPE ^
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

REST

如要使用快照排程建立執行個體,請使用 projects.locations.instances.create 方法,並在 DataDisk 中設定 resourcePolicies

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • LOCATION:您希望執行個體所在的可用區
  • MACHINE_TYPE:執行個體 VM 的機器類型,例如: n2d-standard-2
  • REGION:資源政策所在的區域
  • RESOURCE_POLICY:要套用至資料磁碟的資源政策。

HTTP 方法和網址:

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances

JSON 要求內文:

{
  "gce_setup": {
    "machine_type": "MACHINE_TYPE",
    "data_disks": [
      {
        "resource_policies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
        ]
      }
    ]
  }
}

如要傳送要求,請選擇以下其中一個選項:

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/v2/projects/PROJECT_ID/locations/LOCATION/instances"

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/v2/projects/PROJECT_ID/locations/LOCATION/instances" | Select-Object -Expand Content

備份排程器限制

規劃專案時,請注意排定備份作業的下列限制:

  • 建立執行個體時,您必須新增備份排程。如果建立執行個體時未設定備份排程,請備份現有執行個體,然後建立新的執行個體並設定備份排程,最後使用備份還原執行個體。

  • 您無法修改執行個體的備份排程。包括新增、更新及移除備份時間表。

從快照還原資料

您可以使用快照還原執行個體上的資料。在執行個體上還原資料時,Vertex AI Workbench 會刪除附加至執行個體的現有資料磁碟,根據快照建立新的資料磁碟,然後將新資料磁碟附加至執行個體。

您可以使用 gcloud CLI 或 REST API 還原執行個體上的資料:

gcloud

如要在執行個體上還原資料,請使用 gcloud workbench instances restore 指令。

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

  • INSTANCE_NAME:執行個體的名稱
  • LOCATION:執行個體所在的可用區
  • SNAPSHOT_PROJECT_NAME:快照所在的專案名稱
  • SNAPSHOT_NAME:要還原的快照名稱

執行下列指令:

Linux、macOS 或 Cloud Shell

gcloud workbench instances restore INSTANCE_NAME \
    --location=LOCATION \
    --snapshot-project=SNAPSHOT_PROJECT_NAME \
    --snapshot=SNAPSHOT_NAME

Windows (PowerShell)

gcloud workbench instances restore INSTANCE_NAME `
    --location=LOCATION `
    --snapshot-project=SNAPSHOT_PROJECT_NAME `
    --snapshot=SNAPSHOT_NAME

Windows (cmd.exe)

gcloud workbench instances restore INSTANCE_NAME ^
    --location=LOCATION ^
    --snapshot-project=SNAPSHOT_PROJECT_NAME ^
    --snapshot=SNAPSHOT_NAME

REST

如要在執行個體上還原資料,請對 projects.locations.instances.restore 方法發出 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • LOCATION:執行個體所在的可用區
  • INSTANCE_ID:執行個體的 ID
  • SNAPSHOT_ID:要還原的快照 ID;如要取得快照 ID,請使用 Compute Engine 的 snapshots.get 方法
  • SNAPSHOT_PROJECT_ID:快照的專案 ID

HTTP 方法和網址:

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore

JSON 要求內文:

{
  "snapshot": {
    {
      "snapshotId": SNAPSHOT_ID,
      "projectId": SNAPSHOT_PROJECT_ID
    }
  }
}

如要傳送要求,請選擇以下其中一個選項:

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/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore"

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/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore" | Select-Object -Expand Content

後續步驟