Menetapkan lokasi pembuatan dan pemulihan untuk snapshot cakupan regional


Secara default, snapshot dibuat dengan cakupan global. Snapshot cakupan global disimpan di lokasi penyimpanan tertentu dan dapat dipulihkan (digunakan untuk membuat disk baru) di region atau zona mana pun. Untuk kontrol isolasi berbasis lokasi tambahan, Anda dapat membuat snapshot cakupan regional. Snapshot cakupan regional menyimpan semua data dan metadata snapshot bersama-sama di region cakupan. Dengan snapshot cakupan regional, Anda juga dapat membatasi region tempat Anda dapat membuat dan memulihkan snapshot.

Dokumen ini menjelaskan cara menetapkan lokasi yang diizinkan untuk pembuatan dan pemulihan snapshot regional.

Sebelum memulai

  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.

Batasan

  • Menetapkan cakupan regional akan menggantikan semua setelan lokasi penyimpanan default untuk project.
  • Penetapan cakupan regional hanya berlaku untuk snapshot regional baru.
  • Anda tidak dapat mengonversi snapshot cakupan global menjadi snapshot cakupan regional. Anda harus membuat snapshot baru dengan cakupan yang sesuai.

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna menetapkan lokasi penyimpanan dan pemulihan untuk snapshot cakupan regional, minta administrator untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk menetapkan pembuatan snapshot dan lokasi pemulihan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Menetapkan lokasi pembuatan snapshot yang diizinkan

Secara default, Anda dapat membuat snapshot di semua region. Untuk membatasi tempat Anda dapat membuat snapshot cakupan regional, tetapkan lokasi akses yang diizinkan di tingkat project. Setelah menetapkan lokasi akses, Anda dapat membuat snapshot cakupan regional untuk project hanya di lokasi ini.

gcloud

Agar disk zona di Zona A dapat membuat snapshot di region mana pun, gunakan perintah gcloud beta compute disk-settings update:

  gcloud beta compute disk-settings update \
      --zone=ZONE_A \
      --access-location-policy=all-regions \

Agar disk regional di Region A dapat membuat snapshot di region mana pun, gunakan perintah gcloud beta compute disk-settings update:

  gcloud beta compute disk-settings update \
      --region=REGION_A \
      --access-location-policy=all-regions

Agar disk di Region A hanya membuat snapshot di Region B, gunakan perintah gcloud beta compute disk-settings update:

  gcloud beta compute disk-settings update \
      --access-location-policy=specific-regions \
      --region=REGION_A \
      --add-access-locations=REGION_B

Ganti kode berikut:

  • ZONE_A: Zona disk yang dapat membuat snapshot di region mana pun.
  • REGION_A: Region semua disk (dalam project) yang memerlukan pembatasan pembuatan snapshot cakupan regional.
  • REGION_B: Region yang diizinkan untuk pembuatan snapshot dengan cakupan regional. Anda dapat menetapkan beberapa region sebagai lokasi akses yang diizinkan. Anda harus menyertakan region tempat disk sumber disimpan sebagai salah satu region yang diizinkan.

REST

Agar disk zonal di Zona A dapat membuat snapshot di region mana pun, buat permintaan PATCH ke metode diskSettings.patch:

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE_A/diskSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"ALL_REGIONS"
    }
  }

Agar disk regional di Region A hanya dapat membuat snapshot di Region B, buat permintaan PATCH ke metode regionDiskSettings.patch:

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION_A/diskSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"SPECIFIC_REGIONS",
      "locations":
      {
        "REGION_B":{"region":"REGION_B"}
      }
    }
  }

Ganti kode berikut:

  • PROJECT_ID: ID project.
  • ZONE_A: Zona disk.
  • REGION_A: Region disk.
  • REGION_B: Region yang diizinkan untuk pembuatan snapshot. Anda dapat menetapkan beberapa region sebagai lokasi akses yang diizinkan. Anda harus menyertakan region tempat disk sumber disimpan sebagai salah satu region yang diizinkan.

Menetapkan lokasi pemulihan snapshot yang diizinkan

Secara default, Anda dapat memulihkan snapshot cakupan regional dan global ke region mana pun. Untuk mengonfigurasi lokasi pemulihan untuk snapshot cakupan regional, tetapkan lokasi akses yang diizinkan di tingkat project. Anda harus menetapkan lokasi akses yang diizinkan untuk setiap project satu per satu. Setelah menetapkan lokasi akses, Anda dapat memulihkan snapshot cakupan regional untuk project hanya di lokasi ini.

gcloud

Agar snapshot untuk project di Region A dapat dipulihkan di semua region, gunakan perintah gcloud beta compute snapshot-settings update:

  gcloud beta compute snapshot-settings update \
      --project=PROJECT_ID \
      --region=REGION_A \
      --access-location-policy=all-regions

Agar snapshot untuk project di Region A hanya dapat dipulihkan di Region B, gunakan perintah gcloud beta compute snapshot-settings update:

  gcloud beta compute snapshot-settings update \
      --project=PROJECT_ID \
      --access-location-policy=specific-regions \
      --region=REGION_A \
      --add-access-locations=REGION_B

Ganti kode berikut:

  • PROJECT_ID: ID project.
  • REGION_A: Region tempat snapshot cakupan regional disimpan.
  • REGION_B: Region yang diizinkan tempat snapshot cakupan regional dapat dipulihkan. Anda dapat menetapkan beberapa region sebagai lokasi pemulihan yang diizinkan.

REST

Agar snapshot untuk project di Region A dapat dipulihkan di semua region, buat permintaan PATCH ke metode regionSnapshotSettings.patch:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"ALL_REGIONS"
    }
  }

Agar snapshot untuk project di Region A hanya dapat dipulihkan di Region B, buat permintaan PATCH ke metode regionSnapshotSettings.patch:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"SPECIFIC_REGIONS",
      "locations":
        {"REGION_B":
          {"region":"REGION_B"}
        }
    }
  }

Ganti kode berikut:

  • PROJECT_ID: ID project.
  • REGION_A: Region tempat snapshot cakupan regional disimpan.
  • REGION_B: Region yang diizinkan tempat snapshot cakupan regional dapat dipulihkan. Anda dapat menetapkan beberapa region sebagai lokasi pemulihan yang diizinkan.

Mengedit lokasi pemulihan snapshot yang diizinkan

gcloud

Untuk melihat lokasi pemulihan yang diizinkan untuk snapshot untuk project yang disimpan di Region A, gunakan perintah gcloud beta compute snapshot-settings describe:

  gcloud beta compute snapshot-settings describe \
      --project=PROJECT_ID \
      --region=REGION_A

Untuk menghapus Region B dari daftar lokasi pemulihan yang diizinkan untuk snapshot untuk project yang disimpan di Region A, gunakan perintah gcloud beta compute snapshot-settings update:

  gcloud beta compute snapshot-settings update \
      --project=PROJECT_ID \
      --access-location-policy=specific-regions \
      --remove-access-locations=REGION_B \
      --region=REGION_A

Ganti kode berikut:

  • PROJECT_ID: ID project.
  • REGION_A: Region tempat snapshot cakupan regional disimpan.
  • REGION_B: Region tempat Anda ingin menghapus akses pemulihan untuk snapshot cakupan regional.

REST

Untuk melihat lokasi pemulihan yang diizinkan untuk snapshot bagi project yang disimpan di Wilayah A, buat permintaan GET ke metode regionSnapshotSettings.get:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings

Untuk menghapus Region B dari daftar lokasi pemulihan yang diizinkan untuk snapshot untuk project yang disimpan di Region A, buat permintaan PATCH ke metode regionSnapshotSettings.patch:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"SPECIFIC_REGIONS",
      "locations":
        {"REGION_B":{}}
    }
  }

Ganti kode berikut:

  • PROJECT_ID: ID project.
  • REGION_A: Region tempat snapshot cakupan regional disimpan.
  • REGION_B: Region tempat Anda ingin menghapus akses pemulihan untuk snapshot cakupan regional.