Mencadangkan dan memulihkan data menggunakan snapshot

Halaman ini menjelaskan cara menggunakan snapshot untuk mencadangkan dan memulihkan data di instance Vertex AI Workbench Anda.

Mencadangkan data

Untuk mencadangkan data di instance Vertex AI Workbench, Anda dapat mengambil snapshot disk data virtual machine (VM) Compute Engine yang mendasarinya.

Anda dapat membuat snapshot disk data instance menggunakan Google Cloud konsol, Google Cloud CLI, atau REST API:

Konsol

  1. Di konsol Google Cloud , buka halaman Instances.

    Buka Instances

  2. Klik nama instance.

  3. Di halaman Instance details, klik View in Compute Engine untuk membuka VM details.

  4. Di bagian Additional disks, klik nama disk data. Nama disk data menggunakan format ini: INSTANCE_NAME-data-workspace.

  5. Klik Create snapshot.

  6. Dalam dialog Buat snapshot, klik Buat.

Compute Engine akan membuat snapshot disk data.

gcloud

Untuk membuat snapshot disk data instance, gunakan perintah gcloud compute snapshots create.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • SNAPSHOT_NAME: nama untuk snapshot Anda
  • SOURCE_ZONE adalah zona tempat instance Anda berada.
  • INSTANCE_NAME: nama instance Anda
  • STORAGE_LOCATION: Multi-region Cloud Storage atau region Cloud Storage tempat Anda ingin menyimpan snapshot. Anda hanya dapat menentukan satu lokasi penyimpanan.

Jalankan perintah berikut:

Linux, macOS, atau 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

Untuk membuat snapshot disk data instance, buat permintaan POST ke metode snapshots.insert Compute Engine.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • DESTINATION_PROJECT_ID: ID project tempat Anda ingin membuat snapshot
  • SNAPSHOT_NAME: nama untuk snapshot Anda
  • SOURCE_PROJECT_ID: ID project tempat instance Anda berada
  • SOURCE_ZONE adalah zona tempat instance Anda berada.
  • INSTANCE_NAME: nama instance Anda
  • STORAGE_LOCATION: Multi-region Cloud Storage atau region Cloud Storage tempat Anda ingin menyimpan snapshot. Anda hanya dapat menentukan satu lokasi penyimpanan.

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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

Menjadwalkan pencadangan

Jadwal pencadangan dapat dikonfigurasi untuk instance workbench dengan melampirkan kebijakan resource untuk disk data.

Anda dapat membuat instance dengan jadwal snapshot terlampir menggunakan Google Cloud CLI atau REST API:

gcloud

Untuk membuat instance dengan jadwal snapshot, gunakan perintah gcloud workbench instances create dan tentukan kebijakan resource Anda menggunakan flag --data-disk-resource-policies.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • INSTANCE_NAME: nama instance Vertex AI Workbench Anda; harus dimulai dengan huruf, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung (-), dan tidak boleh diakhiri dengan tanda hubung
  • PROJECT_ID: project ID Anda
  • LOCATION: zona tempat Anda ingin menempatkan instance
  • MACHINE_TYPE: jenis mesin VM instance Anda, misalnya: n2d-standard-2
  • REGION: region tempat kebijakan resource berada
  • RESOURCE_POLICY: kebijakan resource yang akan diterapkan ke disk data.

Jalankan perintah berikut:

Linux, macOS, atau 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

Untuk membuat instance dengan jadwal snapshot, gunakan metode projects.locations.instances.create dan tetapkan resourcePolicies di DataDisk.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda
  • LOCATION: zona tempat Anda ingin menempatkan instance
  • MACHINE_TYPE: jenis mesin VM instance Anda, misalnya: n2d-standard-2
  • REGION: region tempat kebijakan resource berada
  • RESOURCE_POLICY: kebijakan resource yang akan diterapkan ke disk data.

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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

Batasan penjadwal pencadangan

Pertimbangkan batasan cadangan terjadwal berikut saat Anda merencanakan project:

  • Anda harus menambahkan jadwal pencadangan saat membuat instance. Jika instance Anda dibuat tanpa jadwal pencadangan, cadangkan instance yang ada, buat instance baru dengan jadwal pencadangan, lalu pulihkan instance menggunakan cadangan.

  • Jadwal pencadangan pada instance tidak dapat diubah. Hal ini termasuk menambahkan, memperbarui, dan menghapus jadwal pencadangan.

Memulihkan data dari snapshot

Anda dapat memulihkan data di instance menggunakan snapshot. Saat Anda memulihkan data pada instance, Vertex AI Workbench akan menghapus disk data yang ada yang terlampir ke instance, membuat disk data baru berdasarkan snapshot, dan melampirkan disk data baru ke instance.

Anda dapat memulihkan data pada instance menggunakan gcloud CLI atau REST API:

gcloud

Untuk memulihkan data di instance, gunakan perintah gcloud workbench instances restore.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • INSTANCE_NAME: nama instance Anda
  • LOCATION adalah zona tempat instance Anda berada.
  • SNAPSHOT_PROJECT_NAME: nama project tempat snapshot Anda berada
  • SNAPSHOT_NAME: nama snapshot yang akan dipulihkan

Jalankan perintah berikut:

Linux, macOS, atau 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

Untuk memulihkan data di instance, buat permintaan POST ke metode projects.locations.instances.restore.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda
  • LOCATION adalah zona tempat instance Anda berada.
  • INSTANCE_ID: ID instance Anda
  • SNAPSHOT_ID: ID snapshot yang akan dipulihkan; untuk mendapatkan ID snapshot, gunakan metode snapshots.get Compute Engine
  • SNAPSHOT_PROJECT_ID: project ID snapshot

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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

Langkah berikutnya