Mengonfigurasi kebijakan retensi tempat sampah

Secara default, Compute Engine menyimpan snapshot standar yang dihapus di keranjang sampah selama periode retensi tiga hari sebelum menghapus snapshot secara permanen. Anda dapat mengonfigurasi periode retensi yang lebih singkat atau menonaktifkan keranjang sampah dengan mengubah kebijakan retensi keranjang sampah.

Dokumen ini menjelaskan cara melihat dan mengonfigurasi kebijakan retensi keranjang sampah.

Untuk melihat isi tempat sampah atau memulihkan snapshot dari tempat sampah, lihat Mengelola tempat sampah.

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Cloud de Confiance by S3NS dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

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

    Konsol

    Saat menggunakan konsol Cloud de Confiance untuk mengakses layanan Cloud de Confiance by S3NS dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
  • Tetapkan 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 login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Cloud de Confiance .

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk melihat dan mengelola kebijakan retensi keranjang sampah, minta administrator untuk memberi Anda peran IAM Compute Admin (roles/compute.admin) di 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 melihat dan mengelola kebijakan retensi tempat sampah. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melihat dan mengelola kebijakan retensi tempat sampah:

  • Untuk menyetel, mengubah, dan menghapus aturan dalam kebijakan retensi tempat sampah: compute.snapshotRecycleBinPolicy.patch
  • Untuk melihat kebijakan retensi tempat sampah: compute.snapshotRecycleBinPolicy.get
  • Untuk melihat kebijakan retensi tempat sampah untuk snapshot standar: compute.snapshots.getEffectiveRecycleBinRule pada snapshot

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Cara kerja kebijakan retensi tempat sampah

Kebijakan retensi tempat sampah adalah kumpulan aturan global yang menentukan periode retensi data untuk snapshot standar di semua project dan organisasi.

Kebijakan retensi tempat sampah memiliki fitur berikut:

  • Periode retensi default tiga hari disebut aturan default sistem. Anda tidak dapat menghapus aturan default sistem, tetapi Anda dapat menggantinya.

  • Untuk mengganti aturan default sistem, Anda dapat menambahkan aturan default project atau organisasi yang berlaku untuk project atau organisasi. Anda juga dapat menambahkan aturan berbasis tag ke kebijakan retensi data tempat sampah.

  • Konflik aturan dalam kebijakan retensi diselesaikan sebagai berikut:

    1. Aturan berbasis tag menggantikan aturan default project dan organisasi.
    2. Jika beberapa aturan berbasis tag diterapkan pada snapshot standar, maka aturan dengan periode retensi terpanjang akan diterapkan. Namun, aturan default project tidak akan menggantikan aturan berbasis tag meskipun aturan default project memiliki periode retensi yang lebih panjang.
    3. Aturan default project menggantikan aturan default organisasi.
    4. Jika tidak ada aturan yang berlaku untuk snapshot standar, aturan default sistem akan berlaku.

    Untuk mengetahui informasi selengkapnya, lihat Hierarki aturan dalam kebijakan retensi tempat sampah.

  • Meskipun Google tidak merekomendasikan penonaktifan keranjang sampah, Anda dapat melakukannya untuk project, organisasi, atau tag dengan membuat aturan dengan periode retensi nol hari. Semua snapshot standar yang tunduk pada aturan akan segera dihapus saat Anda menghapusnya.

  • Perubahan pada kebijakan retensi tempat sampah tidak berlaku untuk snapshot yang dapat dipulihkan yang ada, yaitu snapshot standar yang dihapus yang ada di tempat sampah.

Batasan

  • Hanya snapshot standar yang didukung. Snapshot arsip, snapshot instan, disk, dan image akan langsung dihapus secara permanen setelah dihapus.
  • Perubahan pada kebijakan retensi tempat sampah tidak berlaku untuk snapshot yang dapat dipulihkan yang ada, yaitu snapshot standar yang dihapus yang ada di tempat sampah.
  • Untuk menentukan aturan kebijakan retensi untuk tag, tag tersebut harus sudah ada.
  • Anda dapat menetapkan aturan kebijakan retensi hanya untuk project, organisasi, atau tag.
  • Jika Anda menetapkan aturan kebijakan retensi untuk tag, kebijakan retensi hanya berlaku untuk snapshot standar yang memiliki tag tersebut. Snapshot arsip, snapshot instan, disk, dan resource lain yang memiliki tag tersebut tidak kompatibel dengan tempat sampah dan akan dihapus secara permanen saat Anda menghapusnya.

Menetapkan atau menghapus periode retensi default untuk project atau organisasi

Untuk mengganti aturan default sistem tiga hari dalam project atau organisasi atau untuk menonaktifkan keranjang sampah, tetapkan aturan kebijakan retensi default untuk project atau organisasi.

Anda dapat menggunakan gcloud CLI atau REST.

gcloud CLI

Gunakan perintah gcloud beta compute snapshot-recycle-bin-policy update. Gunakan flag --set-rule=default untuk menetapkan aturan kebijakan retensi default dan flag --standard-snapshots-retention-duration-days untuk menentukan periode retensi data untuk aturan.

  • Untuk menetapkan kebijakan retensi default bagi organisasi, gunakan perintah berikut:

    gcloud beta compute snapshot-recycle-bin-policy update \
      --set-rule=default \
      --standard-snapshots-retention-duration-days=DEFAULT_RETENTION_PERIOD_DAYS \
      --organization=ORGANIZATION_ID
    

    Ganti nilai berikut dengan nilai yang sesuai:

    • DEFAULT_RETENTION_PERIOD_DAYS: periode retensi, dalam hari, untuk project atau organisasi. Tentukan nilai dari 0 hingga 7. Untuk menonaktifkan keranjang sampah, tentukan 0.
    • ORGANIZATION_ID: optional. ID organisasi, yang aturan retensi defaultnya ingin Anda tetapkan. Contohnya, 123456789012. Anda harus menentukan ID organisasi atau ID project, tetapi tidak keduanya.

    Untuk menetapkan kebijakan retensi default untuk project, ganti tanda --organization dengan --project=<var>PROJECT_ID</var> dalam perintah sebelumnya, dengan PROJECT_ID adalah ID project.

  • Untuk menghapus aturan retensi default untuk project atau organisasi, gunakan perintah yang sama, tetapi tentukan --remove-rule=default, bukan --set-rule=default.

    Misalnya, untuk menghapus aturan kebijakan retensi default untuk organisasi:

    gcloud beta compute snapshot-recycle-bin-policy update \
      --organization=ORGANIZATION_ID \
      --remove-rule=default
    

    Ganti ORGANIZATION_ID dengan ID organisasi.

REST

Buat permintaan PATCH ke metode snapshotRecycleBinPolicy.

Dalam isi permintaan, sertakan objek rules yang menentukan periode tempat sampah default, dalam hari.

  • Untuk menambahkan atau mengubah kebijakan retensi untuk project:

    PATCH  https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
    {
    "rules": {
      "default": {
        "standardSnapshots": {
          "retentionDurationDays": DEFAULT_RETENTION_PERIOD_DAYS
        }
      }
    }
    }
    

    Ganti nilai berikut dengan nilai yang sesuai:

    • PROJECT_ID: project ID, misalnya, dev-project.
    • DEFAULT_RETENTION_PERIOD_DAYS: periode retensi default, dalam hari. Tentukan nilai dari 0 hingga 7. Untuk menonaktifkan keranjang sampah, tentukan 0.
  • Untuk menambahkan atau mengubah kebijakan retensi organisasi, buat permintaan PATCH seperti pada contoh sebelumnya, tetapi gunakan URL berikut.

    PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/

    Isi permintaan sama seperti pada contoh sebelumnya.

    Ganti ORGANIZATION_ID dengan ID organisasi. Misalnya, 123456789012.

  • Untuk menghapus aturan retensi default untuk project atau organisasi, buat permintaan PATCH yang serupa, tetapi tentukan null untuk aturan default.

    Misalnya, untuk menghapus aturan retensi default untuk organisasi:

    PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/
    {
    "rules": {
       "default": null
     }
    }
    

    Ganti ORGANIZATION_ID dengan ID organisasi.

Menetapkan atau menghapus kebijakan retensi untuk tag

Untuk menetapkan periode retensi data tertentu untuk snapshot standar yang memiliki tag tertentu, tetapkan aturan berbasis tag di tingkat project atau organisasi. Aturan berbasis tag menggantikan aturan default untuk project atau organisasi dan memiliki karakteristik berikut:

  • Aturan berbasis tag di tingkat organisasi atau project berlaku untuk semua snapshot standar dalam organisasi atau project, yang memiliki tag tersebut.
  • Aturan tag tingkat project menggantikan aturan tag tingkat organisasi hanya jika aturan tingkat project memiliki periode retensi data yang lebih panjang.

    Misalnya, aturan tag tingkat organisasi dengan periode retensi dua hari akan menggantikan aturan tag level project satu hari.

Untuk mengetahui informasi selengkapnya, lihat Hierarki aturan dalam kebijakan retensi tempat sampah.

Anda dapat menggunakan gcloud CLI atau REST.

gcloud CLI

Untuk menetapkan aturan kebijakan retensi untuk tag, gunakan perintah gcloud beta compute snapshot-recycle-bin-policy update. Gunakan flag --set-rule untuk menentukan nama tag dan flag --standard-snapshots-retention-duration-days untuk menentukan periode retensi tempat sampah, dalam hari, untuk tag.

gcloud beta compute snapshot-recycle-bin-policy update \
  --set-rule=TAG_NAMESPACED_NAME \
  --standard-snapshots-retention-duration-days=RETENTION_PERIOD_DAYS \
  --organization=ORGANIZATION_ID

Ganti nilai berikut dengan nilai yang sesuai:

  • TAG_NAMESPACED_NAME: nama tag dengan namespace, termasuk nilainya. Misalnya, my-project-id/tag-key/tag-value atau my-organization-id/tag-key/tag-value.
  • RETENTION_PERIOD_DAYS: periode retensi dalam hari, dari 0 hingga 7. Untuk menonaktifkan keranjang sampah untuk snapshot dengan tag ini, tentukan 0.
  • ORGANIZATION_ID: optional. ID organisasi, yang aturan ini berlaku untuknya. Misalnya, 123456789012. Anda harus menentukan ID organisasi atau ID project, tetapi tidak boleh keduanya.

Untuk menetapkan kebijakan retensi default untuk project, ganti tanda --organization dengan --project=<var>PROJECT_ID</var> dalam perintah sebelumnya, dengan PROJECT_ID adalah ID project.

Untuk menghapus aturan kebijakan retensi untuk tag, gunakan perintah yang sama, tetapi tentukan --remove-rule=TAG_NAMESPACED_NAME, bukan --set-rule. Misalnya, untuk menghapus aturan berbasis tag untuk organisasi:

gcloud beta compute snapshot-recycle-bin-policy update \
  --organization=ORGANIZATION_ID \
  --remove-rule=TAG_NAMESPACED_NAME

REST

Untuk menetapkan aturan kebijakan retensi untuk tag, buat permintaan PATCH ke metode snapshotRecycleBinPolicy. Dalam isi permintaan, sertakan objek rules yang menentukan nama tag dan periode retensi, dalam hari.

  • Untuk menetapkan atau memperbarui aturan kebijakan retensi untuk tag dalam project:
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy/
{
  "rules": {
    "TAG_NAMESPACED_NAME_1": {
      "standardSnapshots": { 
        "retentionDurationDays": RETENTION_PERIOD_DAYS
      }
    }
  }
}

Ganti nilai berikut dengan nilai yang sesuai:

  • PROJECT_ID: ID project.
  • TAG_NAMESPACED_NAME: nama tag dengan namespace, termasuk nilainya. Misalnya, my-project-id/env/prod atau my-organization-id/env/build.
  • RETENTION_PERIOD_DAYS: periode retensi dalam hari, dari 0 hingga 7. Untuk menonaktifkan keranjang sampah untuk snapshot dengan tag ini, tentukan 0.

  • Untuk menyetel atau memperbarui aturan kebijakan retensi untuk tag dalam organisasi, buat permintaan PATCH seperti dalam contoh sebelumnya, tetapi gunakan URL berikut.

PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/

Ganti ORGANIZATION_ID dengan ID organisasi. Isi permintaan adalah seperti yang dijelaskan dalam contoh sebelumnya.

  • Untuk menghapus aturan kebijakan retensi untuk tag, buat permintaan PATCH seperti pada contoh sebelumnya, tetapi tentukan null untuk aturan berbasis tag. Misalnya, untuk menghapus aturan kebijakan retensi untuk aturan berbasis tag dalam project:
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
{
  "rules": {
    "TAG_NAMESPACED_NAME_1": null
  }
}

Melihat kebijakan retensi keranjang sampah untuk project atau organisasi

Untuk menentukan apakah project atau organisasi memiliki aturan kustom untuk tempat sampah, lihat aturan berbasis tag, atau periksa apakah tempat sampah dinonaktifkan, lihat aturan dalam kebijakan retensi tempat sampah project atau organisasi.

Untuk melihat aturan dalam kebijakan retensi tempat sampah project atau organisasi, gunakan gcloud CLI atau REST.

gcloud CLI

Untuk melihat kebijakan retensi keranjang sampah untuk project atau organisasi, termasuk aturan berbasis tag, gunakan perintah gcloud beta compute snapshot-recycle-bin-policy describe:

  • Untuk melihat kebijakan retensi tempat sampah organisasi:

    gcloud beta compute snapshot-recycle-bin-policy describe \
      --organization=ORGANIZATION_ID
    

    Ganti ORGANIZATION_ID dengan ID organisasi.

  • Untuk melihat kebijakan retensi tempat sampah project:

    gcloud beta compute snapshot-recycle-bin-policy describe \
    --project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project.

Outputnya adalah daftar objek aturan yang mirip dengan berikut ini. Aturan default sistem tiga hari disertakan dalam output.

  rules:
    default:
      standardSnapshots:
        retentionDurationDays: '2'
    database-project/Testing-tag-key/build:
      standardSnapshots:
        retentionDurationDays: '0'
    database-project/Testing-tag-key/critical:
      standardSnapshots:
        retentionDurationDays: '5'
    systemRules:
      default:
        standardSnapshots:
          retentionDurationDays: '3'

Kolom retentionDurationDays untuk setiap aturan menunjukkan periode retensi aturan, dalam hari. Dalam contoh ini, project database-project memiliki tiga aturan:

  • aturan lima hari untuk semua snapshot dengan tag Testing-tag-key/critical.
  • penghapusan langsung untuk semua snapshot dengan tag Testing-tag-key/build.
  • retensi default dua hari untuk semua snapshot lainnya dalam project.

REST

Untuk melihat semua aturan kebijakan retensi untuk project atau organisasi, termasuk aturan berbasis tag, buat permintaan GET ke metode snapshotRecycleBinPolicy.get.

  • Untuk melihat kebijakan retensi organisasi:

    GET https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy
    

    Ganti ORGANIZATION_ID dengan ID organisasi.

  • Untuk melihat kebijakan retensi project:

    GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
    

    Ganti PROJECT_ID dengan ID project.

Responsnya mirip dengan berikut ini. Aturan default sistem tiga hari disertakan dalam output.

  {
    "rules": {
     "default": {
      "standardSnapshots": {
        "retentionDurationDays": "2"
      }
    },
    "database-project/Testing-tag-key/build": {
      "standardSnapshots": {
        "retentionDurationDays": "0"
      }
    },
    "database-project/Testing-tag-key/critical": {
      "standardSnapshots": {
        "retentionDurationDays": "5"
      }
    },
     "systemRules": {
      "default": {
       "standardSnapshots": {
         "retentionDurationDays": "3"
      }
     }
    }
  }
 }

Kolom retentionDurationDays untuk setiap aturan menunjukkan periode retensi aturan, dalam hari. Dalam contoh ini, project database-project memiliki tiga aturan:

  • aturan lima hari untuk semua snapshot dengan tag Testing-tag-key/critical.
  • penghapusan langsung untuk semua snapshot dengan tag Testing-tag-key/build.
  • retensi default dua hari untuk semua snapshot lainnya dalam project.

Jika periode retensi adalah nol, Compute Engine akan menghapus snapshot secara permanen segera setelah snapshot dihapus. Jika tidak, periode retensi menunjukkan durasi Compute Engine akan menyimpan snapshot di keranjang sampah sebelum menghapusnya secara permanen.

Melihat periode retensi keranjang sampah untuk tag

Untuk melihat kebijakan retensi untuk tag, ambil kebijakan retensi untuk project atau organisasi tempat tag ditentukan.

Memeriksa periode retensi data di keranjang sampah untuk snapshot tertentu

Untuk menentukan apakah snapshot standar akan dipertahankan di tempat sampah, jika dihapus, dan selama berapa lama, periksa periode retensinya. Jika periode retensi adalah nol, snapshot akan dihapus secara permanen segera setelah dihapus. Jika tidak, periode retensi menunjukkan berapa lama snapshot akan dipertahankan di keranjang sampah jika dihapus.

Anda dapat memeriksa periode retensi data untuk snapshot tertentu menggunakan KonsolCloud de Confiance , gcloud CLI, atau REST.

Konsol Cloud de Confiance

  1. Di konsol Cloud de Confiance , buka halaman Snapshot.

Buka halaman Snapshots

  1. Di tab Snapshot, lihat daftar snapshot dalam project.

  2. Di kolom Name, klik nama snapshot standar. Halaman Detail snapshot untuk snapshot yang dipilih akan muncul.

  3. Properti Retensi keranjang sampah menampilkan snapshot periode retensi keranjang sampah snapshot.

gcloud CLI

Untuk melihat periode retensi snapshot tertentu, gunakan perintah gcloud beta compute snapshots get-effective-recycle-bin-rule.

gcloud beta compute snapshots get-effective-recycle-bin-rule \
  SNAPSHOT_NAME \
  --project=PROJECT_ID

Ganti nilai berikut dengan nilai yang sesuai:

  • PROJECT_ID: ID project yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.

Outputnya mirip dengan hal berikut ini:

retentionDurationDays: '5'

Kolom retentionDurationDays menunjukkan periode retensi tempat sampah snapshot, dalam hari.

REST

Untuk melihat periode retensi snapshot tertentu, buat permintaan GET ke metode getEffectiveRecycleBinRule.

GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/getEffectiveRecycleBinRule

Ganti nilai berikut dengan nilai yang sesuai:

  • PROJECT_ID: ID project yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.

Responsnya mirip dengan hal berikut ini:

{
  "retentionDurationDays": "5"
}

Kolom retentionDurationDays menunjukkan periode retensi tempat sampah snapshot, dalam hari.

Jika periode retensi adalah nol, Compute Engine akan menghapus snapshot secara permanen segera setelah snapshot dihapus. Jika tidak, periode retensi menunjukkan durasi Compute Engine akan menyimpan snapshot di keranjang sampah sebelum menghapusnya secara permanen.

Untuk menentukan aturan mana dalam kebijakan retensi yang berlaku untuk snapshot, bandingkan tag snapshot dengan tag dan aturan default dalam kebijakan retensi untuk project dan organisasi.

Untuk mengubah periode retensi snapshot standar, pilih salah satu opsi berikut:

Langkah berikutnya