Mencadangkan dan memulihkan data menggunakan snapshot

Halaman ini menjelaskan cara menggunakan snapshot untuk mencadangkan dan memulihkan data di instance Gemini Enterprise Agent Platform Workbench Anda.

Mencadangkan data

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

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

Konsol

  1. Di konsol Cloud de Confiance , 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

Satu atau beberapa jadwal pencadangan dapat dikonfigurasi untuk instance workbench dengan melampirkan kebijakan resource ke disk data. Anda dapat melampirkan beberapa kebijakan resource agar beberapa jadwal pencadangan aktif secara bersamaan.

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 Agent Platform 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

Memperbarui jadwal pencadangan

Anda dapat menambahkan, mengganti, atau memperbarui jadwal pencadangan pada instance yang ada menggunakan Google Cloud CLI atau REST API. Untuk menetapkan beberapa jadwal, sertakan beberapa kebijakan resource dalam daftar resourcePolicies:

gcloud

Untuk memperbarui jadwal pencadangan pada instance yang ada, gunakan perintah gcloud workbench instances update dan tentukan kebijakan resource Anda menggunakan flag --data-disk-resource-policies. Daftar kebijakan resource yang diberikan akan menggantikan daftar yang ada sepenuhnya.

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

  • INSTANCE_NAME: nama instance Agent Platform Workbench Anda
  • PROJECT_ID: project ID Anda
  • LOCATION adalah zona tempat instance Anda berada.
  • INSTANCE_ID: ID instance Anda
  • 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 update INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

Windows (PowerShell)

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

Windows (cmd.exe)

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

REST

Untuk memperbarui jadwal pencadangan pada instance yang ada, buat permintaan PATCH ke metode projects.locations.instances.patch dengan updateMask ditetapkan ke gceSetup.dataDisks.resourcePolicies. Daftar kebijakan resource yang diberikan akan menggantikan daftar yang ada sepenuhnya.

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
  • REGION: region tempat kebijakan resource berada
  • RESOURCE_POLICY: kebijakan resource yang akan diterapkan ke disk data.

Metode HTTP dan URL:

PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies

Meminta isi JSON:

{
  "gce_setup": {
    "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 PATCH \
-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?updateMask=gceSetup.dataDisks.resourcePolicies"

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 PATCH `
-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?updateMask=gceSetup.dataDisks.resourcePolicies" | Select-Object -Expand Content

Menghapus semua jadwal pencadangan

Anda dapat menghapus semua jadwal pencadangan dari instance yang ada dengan menyetel kebijakan resource ke daftar kosong menggunakan Google Cloud CLI atau REST API:

gcloud

Untuk menghapus semua jadwal pencadangan dari instance yang ada, gunakan perintah gcloud workbench instances update dan teruskan nilai kosong untuk tanda --data-disk-resource-policies. Tindakan ini akan menghapus semua jadwal aktif dari instance.

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

  • INSTANCE_NAME: nama instance Agent Platform Workbench Anda
  • PROJECT_ID: project ID Anda
  • LOCATION adalah zona tempat instance Anda berada.
  • INSTANCE_ID: ID instance Anda

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud workbench instances update INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --data-disk-resource-policies=

Windows (PowerShell)

gcloud workbench instances update INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --data-disk-resource-policies=

Windows (cmd.exe)

gcloud workbench instances update INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --data-disk-resource-policies=

REST

Untuk menghapus semua jadwal pencadangan dari instance yang ada, buat permintaan PATCH ke metode projects.locations.instances.patch dengan updateMask yang ditetapkan ke gceSetup.dataDisks.resourcePolicies dan daftar resourcePolicies yang kosong. Tindakan ini akan menghapus semua jadwal aktif dari instance.

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

Metode HTTP dan URL:

PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies

Meminta isi JSON:

{
  "gce_setup": {
    "data_disks": [
      {
        "resource_policies": []
      }
    ]
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

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

curl -X PATCH \
-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?updateMask=gceSetup.dataDisks.resourcePolicies"

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 PATCH `
-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?updateMask=gceSetup.dataDisks.resourcePolicies" | Select-Object -Expand Content

Memulihkan data dari snapshot

Anda dapat memulihkan data di instance menggunakan snapshot. Saat Anda memulihkan data di instance, Agent Platform Workbench akan menghapus disk data yang ada yang terpasang ke instance, membuat disk data baru berdasarkan snapshot, dan memasang 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