Mengelola jadwal snapshot untuk disk


Dokumen ini menjelaskan cara mengelola jadwal snapshot untuk Persistent Disk zona dan regional Anda serta Google Cloud Hyperdisk.

Anda dapat mengelola jadwal snapshot sebagai berikut:

  • Melihat jadwal snapshot
  • Mengubah jadwal snapshot
  • Hapus beberapa jadwal snapshot

Anda juga dapat mengonfigurasi pemberitahuan untuk snapshot terjadwal.

Sebelum memulai

  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    REST

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

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna membuat jadwal snapshot, minta administrator Anda untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat jadwal snapshot. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat jadwal snapshot:

  • Untuk melihat jadwal snapshot: compute.resourcePolicies.list di project atau organisasi
  • Untuk memperbarui jadwal snapshot:
    • compute.resourcePolicies.update di kebijakan resource
    • compute.resourcePolicies.get di kebijakan resource
  • Untuk mengganti jadwal snapshot:
    • compute.resourcePolicies.use di kebijakan resource
    • compute.disks.addResourcePolicies pada disk
    • compute.disks.removeResourcePolicies pada disk
  • Untuk menghapus jadwal snapshot:
    • compute.resourcePolicies.delete di kebijakan resource
    • compute.disks.removeResourcePolicies pada disk

Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Melihat jadwal snapshot

Untuk mendapatkan daftar jadwal snapshot, gunakan konsol, perintah gcloud, atau metode Compute Engine API. Permintaan ini menampilkan nama, deskripsi, dan region semua jadwal snapshot dalam sebuah project.

Konsol

  1. Di konsol Google Cloud, buka halaman Snapshots.

    Buka halaman Snapshots

  2. Pilih tab Jadwal snapshot.
  3. Gunakan kolom Filter untuk mempersempit daftar jadwal snapshot.
  4. Klik nama jadwal snapshot untuk melihat detailnya.

gcloud

Untuk melihat daftar jadwal snapshot, gunakan perintah resource-policies list.

 gcloud compute resource-policies list

Untuk melihat deskripsi jadwal snapshot tertentu, gunakan perintah resource-policies describe.

gcloud compute resource-policies describe SCHEDULE_NAME

Ganti SCHEDULE_NAME dengan nama jadwal snapshot.

REST

Buat permintaan GET ke resourcePolicies.aggregatedList untuk menampilkan daftar jadwal snapshot untuk sebuah project.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/resourcePolicies

Ganti PROJECT_ID dengan nama project.

Melihat jadwal snapshot berdasarkan wilayah

Untuk melihat jadwal snapshot untuk project dalam region tertentu, gunakan Google Cloud Console, gcloud CLI, atau REST.

Konsol

  1. Di konsol Google Cloud, buka halaman Snapshots.

    Buka halaman Snapshots

  2. Pilih tab Jadwal snapshot.
  3. Gunakan kolom Filter untuk mencantumkan jadwal snapshot untuk wilayah tertentu.

gcloud

Untuk melihat jadwal snapshot untuk project dalam region tertentu, gunakan perintah resource-policies list.

gcloud compute resource-policies list PROJECT_ID --filter REGION

Ganti kode berikut:

  • PROJECT_ID: nama project
  • REGION: region, misalnya us-west1

REST

Buat permintaan GET ke metode resourcePolicies.list untuk mengambil jadwal snapshot yang dibuat di dalam suatu region.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

Ganti kode berikut:

  • PROJECT_ID: nama project
  • REGION: region, misalnya us-west1

Mengubah jadwal snapshot

Setelah membuat jadwal snapshot, Anda dapat mengubah kolom berikut secara dinamis, menggunakan prosedur Mengupdate jadwal snapshot:

  • Deskripsi
  • Jadwal snapshot
  • Label diterapkan ke snapshot yang dibuat
  • Kebijakan penghapusan disk sumber untuk menangani snapshot yang dibuat secara otomatis jika disk sumber dihapus
  • Kebijakan retensi untuk menentukan durasi penyimpanan snapshot yang dihasilkan dari jadwal snapshot

Untuk memperbarui nilai lain untuk jadwal snapshot, Anda harus menghapus jadwal snapshot dan membuat yang baru, seperti yang dijelaskan dalam artikel Mengganti jadwal snapshot.

Pembaruan jadwal snapshot berlaku di snapshot pertama setelah update. Jika snapshot berjalan saat Anda memperbarui jadwal snapshot, perubahan akan diterapkan pada snapshot berikut.

Memperbarui jadwal snapshot

Anda dapat menggunakan Google Cloud CLI atau Compute Engine API untuk mengubah beberapa properti jadwal snapshot Anda, seperti yang dijelaskan dalam Mengubah jadwal snapshot.

Untuk mengubah properti lain dari jadwal snapshot Anda, gunakan metode yang dijelaskan dalam Mengganti jadwal snapshot.

Konsol

  1. Di konsol Google Cloud, buka halaman Snapshots.

    Buka halaman Snapshot

  2. Pilih Jadwal snapshot untuk melihat daftar jadwal Anda.
  3. Klik nama jadwal snapshot yang ingin Anda ubah.
  4. Di halaman detail jadwal snapshot, klik tombol Edit schedule .

gcloud

Gunakan perintah compute resource-policies update untuk memperbarui deskripsi, jadwal, kebijakan retensi, atau label jadwal snapshot.

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
   --region=REGION \
   --description="DESCRIPTION" \
   --snapshot-labels="KEY=VALUE" \
   --max-retention-days=DAYS \
   --on-source-disk-delete=DELETE_OPTION \
   --start-time=START_TIME \
   SCHEDULE_FLAG

Ganti kode berikut:

  • SCHEDULE_NAME: nama jadwal snapshot.
  • REGION: region tempat jadwal snapshot Anda berada.
  • DESCRIPTION: deskripsi jadwal snapshot. Gunakan kutipan untuk deskripsi Anda.
  • KEY dan VALUE: pasangan nilai kunci yang dapat digunakan untuk mengelompokkan resource yang terhubung atau terkait.
  • DAYS: Jumlah maksimum hari snapshot dipertahankan sebelum dihapus.
  • DELETE_OPTION: Perilaku retensi snapshot otomatis setelah disk asli dihapus. Nilainya harus salah satu dari:
    • apply-retention-policy: Saat disk sumber dihapus, terus terapkan periode retensi data untuk setiap snapshot yang dibuat berdasarkan jadwal snapshot.
    • keep-auto-snapshots: (Default) Jika disk sumber dihapus, simpan semua snapshot yang dibuat berdasarkan jadwal snapshot, terlepas dari periode retensi.
  • START_TIME: waktu mulai UTC. Waktu harus dimulai di awal jam. Misalnya:
    • 14.00 PST adalah 22:00.
    • Jika Anda menetapkan waktu mulai 22:13, Anda akan menerima error.
  • SCHEDULE_FLAG: salah satu flag berikut:

    • --hourly-schedule=HOURLY_INTERVAL: jumlah jam antara setiap snapshot. HOURLY_INTERVAL harus berupa bilangan bulat antara 1 dan 23. Misalnya, menetapkan --hourly-schedule ke 12, berarti snapshot dihasilkan setiap 12 jam.
    • --daily-schedule: menjalankan snapshot setiap hari, pada waktu START_TIME
    • --weekly-schedule=WEEKLY_INTERVAL: menentukan hari saat Anda ingin snapshot dilakukan. Anda harus menjelaskan hari kerja; nilai-nilainya tidak peka huruf besar/kecil.

    • --weekly-schedule-from-file=FILE_NAME: menentukan file yang berisi jadwal snapshot mingguan. Anda dapat menentukan jadwal mingguan pada hari yang berbeda dalam seminggu dan pada waktu yang berbeda menggunakan file. Misalnya, file Anda mungkin menentukan jadwal snapshot pada hari Senin dan Rabu: none [{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}] Jika menyertakan waktu mulai di file, Anda tidak perlu menetapkan tanda --start-time. Jadwal menggunakan zona waktu UTC. Waktu harus dimulai di awal jam. Contoh:

      • 14.00 PST adalah 22:00.
      • Jika Anda menetapkan waktu mulai 22:13, Anda akan menerima error.

    Flag frekuensi snapshot hourly-schedule, daily-schedule, weekly-schedule, dan weekly-schedule-from-file bersifat eksklusif satu sama lain. Anda hanya dapat menggunakan satu opsi untuk jadwal snapshot Anda.

Contoh:

Untuk mengubah jadwal snapshot ke jadwal harian:

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
    --region=REGION --daily-schedule --start-time=START_TIME

Untuk mengubah snapshot menjadi jadwal per jam, dan juga memperbarui deskripsi dan label snapshot:

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
    --region=REGION --description="DESCRIPTION" \
    --hourly-schedule=HOURLY_INTERVAL --start-time=START_TIME \
    --snapshot-labels="KEY=VALUE"

Untuk mengubah kebijakan retensi snapshot dan penghapusan disk sumber untuk jadwal snapshot:

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
    --region=REGION --max-retention-days=DAYS \
    --on-source-disk-delete=DELETE_OPTION

REST

Buat permintaan PATCH ke metode resourcePolicies untuk memperbarui deskripsi, jadwal, kebijakan retensi, kebijakan penghapusan disk sumber, atau label pada jadwal snapshot. Dalam isi permintaan, Anda hanya perlu menentukan name dan kolom yang ingin diperbarui.

  • Mengubah deskripsi dan label:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "description": "DESCRIPTION",
        "snapshotProperties": {
            "labels": {"KEY": "VALUE"}
        }
    }
    
  • Mengubah jadwal snapshot menjadi per jam:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "schedule": {
              "hourlySchedule": {
                  "hoursInCycle": HOURLY_INTERVAL,
                  "startTime": START_TIME
               }
            }
        }
    }
    
  • Mengubah jadwal snapshot menjadi harian:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "schedule": {
              "dailySchedule": {
                  "daysInCycle": DAILY_INTERVAL,
                  "startTime": START_TIME
               }
            }
        }
    }
    
  • Mengubah jadwal snapshot menjadi mingguan:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "schedule": {
               "weeklySchedule": {
                  "dayOfWeeks": [
                     {
                        "day": WEEKLY_INTERVAL,
                        "startTime": START_TIME
                     }
                  ]
               }
            }
        }
    }
    
  • Mengubah kebijakan retensi snapshot:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "retentionPolicy": {
                "maxRetentionDays": DAYS,
                "onSourceDiskDelete":"DELETE_OPTION"
            }
       }
    }
    

Ganti kode berikut:

  • PROJECT_ID: nama project.
  • REGION: region tempat jadwal snapshot berada.
  • SCHEDULE_NAME: nama jadwal snapshot.
  • DESCRIPTION: deskripsi jadwal snapshot. Gunakan kutipan untuk deskripsi Anda.
  • KEY dan VALUE: pasangan nilai kunci yang dapat digunakan untuk mengelompokkan resource yang terhubung atau terkait.
  • HOURLY_INTERVAL: menentukan interval saat Anda ingin snapshot terjadi. Tetapkan jadwal per jam menggunakan bilangan bulat antara 1 dan 23. Agar snapshot dibuat pada waktu yang sama setiap hari, pilih angka yang dibagi secara merata menjadi 24 (1, 2, 3, 4, 6, 8, atau 12). Misalnya, menetapkan --hourly-schedule ke 12, berarti snapshot dihasilkan setiap 12 jam.
  • DAILY_INTERVAL: menentukan jumlah hari antara setiap snapshot. Untuk membuat snapshot setiap hari, gunakan nilai 1.
  • WEEKLY_INTERVAL: menentukan jadwal yang berjalan pada hari tertentu dalam seminggu. Tentukan satu atau beberapa hari. Opsi berikut tersedia: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, dan SUNDAY. Anda harus menguraikan hari kerja; mereka tidak peka huruf besar/kecil. Anda dapat menentukan hingga 7 interval untuk dayOfWeeks, satu interval untuk setiap hari dalam seminggu.
  • START_TIME: waktu mulai UTC. Waktu harus dimulai di awal jam. Misalnya:
    • 14.00 PST adalah 22:00 UTC.
    • Jika Anda menetapkan waktu mulai 22:13, Anda akan menerima error.
  • DAYS: Jumlah maksimum hari snapshot dipertahankan sebelum dihapus.
  • DELETE_OPTION: Perilaku retensi snapshot otomatis setelah disk asli dihapus. Nilainya harus salah satu dari:
    • APPLY_RETENTION_POLICY: Saat disk sumber dihapus, terus terapkan periode retensi data untuk setiap snapshot yang dibuat berdasarkan jadwal snapshot.
    • KEEP_AUTO_SNAPSHOTS: (Default) Jika disk sumber dihapus, simpan semua snapshot yang dibuat berdasarkan jadwal snapshot, terlepas dari periode retensi.

Mengganti jadwal snapshot

Ikuti langkah-langkah berikut untuk menghapus jadwal snapshot dan membuat jadwal baru. Gunakan metode ini untuk mengubah properti jadwal snapshot yang tidak dapat diubah menggunakan prosedur memperbarui jadwal snapshot.

Jika Anda mengganti jadwal snapshot yang sudah terpasang ke disk, Anda harus terlebih dahulu melepaskan jadwal dari disk dan menghapusnya. Kemudian Anda dapat membuat jadwal baru, dan memasangnya ke disk.

Snapshot yang dihasilkan dari jadwal snapshot terlepas tidak akan dikelola oleh kebijakan baru. Snapshot tersebut akan dipertahankan tanpa batas waktu sampai Anda menghapusnya.

Gunakan Konsol Google Cloud, gcloud CLI, atau REST untuk menghapus dan mengganti jadwal snapshot Anda.

Konsol

  1. Di Konsol Google Cloud, buka halaman Disks.

    Buka halaman Disk

  2. Pilih disk dengan jadwal yang ingin Anda lepaskan.
  3. Di halaman Manage disk, klik Edit. Anda mungkin perlu mengklik menu Tindakan lainnya terlebih dahulu.
  4. Buka menu drop-down Jadwal snapshot.
  5. Klik Tidak ada jadwal untuk melepaskan jadwal dari disk.
  6. Anda dapat membuat jadwal baru, atau menukar jadwal saat mengedit opsi disk.
  7. Klik Simpan untuk menyelesaikan tugas.

gcloud

  1. Gunakan perintah gcloud disks remove-resource-policies untuk melepaskan jadwal snapshot dari disk dengan jadwal yang ingin Anda ubah.

    gcloud compute disks remove-resource-policies DISK_NAME \
        --resource-policies SCHEDULE_NAME \
        --region REGION \
        --zone ZONE
    

    Ganti kode berikut:

    • DISK_NAME: nama disk dengan jadwal snapshot yang terpasang
    • SCHEDULE_NAME: nama jadwal snapshot yang ingin Anda lepaskan dari disk ini
    • REGION: wilayah tempat jadwal snapshot Anda berada
    • ZONE: zona tempat disk zona Anda berada
  2. Gunakan perintah gcloud disks add-resource-policies untuk menambahkan jadwal snapshot baru ke disk.

    gcloud compute disks add-resource-policies DISK_NAME \
         --resource-policies SCHEDULE_NAME \
         --zone ZONE
    

    Ganti kode berikut:

    • DISK_NAME: nama disk dengan kebijakan resource jadwal snapshot
    • SCHEDULE_NAME: nama jadwal snapshot yang ingin Anda tambahkan ke disk ini
    • ZONE: zona tempat disk Anda berada

REST

  1. Lepaskan jadwal snapshot saat ini dari disk dengan membuat permintaan POST ke disks.removeResourcePolicies.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/removeResourcePolicies
    
    {
      "resourcePolicies": [
         "regions/REGION/resourcePolicies/SCHEDULE_NAME"
      ]
    }
    

    Ganti kode berikut:

    • PROJECT_ID: nama project
    • ZONE: zona tempat disk berada
    • DISK_NAME: nama disk dengan jadwal snapshot terkait
    • REGION: lokasi jadwal snapshot
    • SCHEDULE_NAME: nama jadwal snapshot yang Anda hapus dari disk ini
  2. Lampirkan jadwal snapshot baru ke disk dengan membuat permintaan POST ke metode disks.addResourcePolicies.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "regions/REGION/resourcePolicies/SCHEDULE_NAME"
      ]
    }
    

    Ganti kode berikut:

    • PROJECT_ID: nama project
    • ZONE: lokasi disk
    • DISK_NAME: nama disk
    • REGION: lokasi jadwal snapshot
    • SCHEDULE_NAME: nama jadwal snapshot yang Anda terapkan ke disk ini

Hapus jadwal snapshot

Jika Anda menghapus jadwal snapshot, semua snapshot yang dihasilkan secara otomatis terkait jadwal snapshot akan disimpan secara permanen. Namun, setelah dihapus, snapshot tidak dapat dibuat lagi.

Kebijakan retensi Anda adalah bagian dari jadwal snapshot. Setelah jadwal dihapus, kebijakan retensi Anda tidak lagi berlaku. Snapshot yang telah dibuat akan disimpan secara permanen sampai Anda menghapusnya secara manual.

Untuk menghapus jadwal snapshot yang ada, gunakan Google Cloud Console, Google Cloud CLI, atau metode Compute Engine API. Jika jadwal sudah terpasang ke disk, lepaskan jadwal dari disk terlebih dahulu, lalu hapus jadwal. Anda tidak dapat menghapus jadwal snapshot yang terpasang pada disk.

Konsol

  1. Di konsol Google Cloud, buka halaman Snapshots.

    Buka halaman Snapshot

  2. Pilih Jadwal snapshot untuk melihat daftar jadwal Anda.
  3. Pilih jadwal yang tidak terkait dengan disk.
  4. Klik Delete.

gcloud

Untuk menghapus jadwal snapshot, gunakan perintah resource-policies delete.

gcloud compute resource-policies delete SCHEDULE_NAME \
    --region REGION

Ganti kode berikut:

  • SCHEDULE_NAME: nama jadwal snapshot
  • REGION: lokasi jadwal snapshot

REST

Untuk menghapus jadwal snapshot, buat permintaan DELETE ke metode resourcePolicies.delete. Jika jadwal snapshot sudah terpasang ke disk, Anda akan menerima error.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME

Ganti kode berikut:

  • PROJECT_ID: nama project
  • REGION: lokasi jadwal snapshot
  • SCHEDULE_NAME: nama jadwal snapshot

Logging dan pemantauan

Setiap snapshot terjadwal yang terkait dengan disk terus membuat peristiwa sistem, yang dipantau dan dicatat ke dalam log setiap saat. Log audit peristiwa sistem selalu diaktifkan.

Log ini memberikan informasi perilaku tentang snapshot terjadwal Anda untuk setiap disk terkait. Anda dapat melihat log dari menu Logging di Konsol Google Cloud.

Untuk mengetahui informasi selengkapnya tentang penggunaan Logs Explorer, baca Melihat log menggunakan Logs Explorer.

Konsol

  1. Di Konsol Google Cloud, buka halaman Logs Explorer.

    Buka halaman Logs Explorer

  2. Di menu drop-down Audited resource, arahkan kursor ke Disk, lalu pilih All disk_id.

  3. Di menu drop-down All logs, pilih cloudaudit.googleapis.com/system_event lalu klik OK.

  4. Di menu drop-down Any log level, pilih jenis log.

Langkah selanjutnya