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 konten 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 Google Cloud 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 Google Cloud untuk mengakses layanan dan API Google Cloud , Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- 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.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk melihat dan mengelola kebijakan retensi tong sampah, minta administrator untuk memberi Anda peran IAM Compute Admin (roles/compute.admin) 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 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.getEffectiveRecycleBinRulepada snapshot
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Cara kerja kebijakan retensi tong sampah
Kebijakan retensi tempat sampah adalah kumpulan aturan global yang menentukan periode retensi untuk snapshot standar di semua project dan organisasi.
Kebijakan retensi tempat sampah memiliki fitur berikut:
Periode retensi data 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:
- Aturan berbasis tag menggantikan aturan default project dan organisasi.
- 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 lama.
- Aturan default project menggantikan aturan default organisasi.
- 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 tempat 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 langsung 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 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 data, dalam hari, untuk project atau organisasi. Tentukan nilai dari0hingga7. Untuk menonaktifkan tempat sampah, tentukan0.ORGANIZATION_ID: optional. ID organisasi, yang ingin Anda tetapkan aturan retensi defaultnya. Contohnya,123456789012. Anda harus menentukan ID organisasi atau ID project, tetapi tidak keduanya.
Untuk menetapkan kebijakan retensi default untuk project, ganti tanda
--organizationdengan--project=<var>PROJECT_ID</var>dalam perintah sebelumnya, denganPROJECT_IDadalah 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_IDdengan 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.googleapis.com/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 dari0hingga7. Untuk menonaktifkan keranjang sampah, tentukan0.
Untuk menambahkan atau mengubah kebijakan retensi organisasi, buat permintaan
PATCHseperti pada contoh sebelumnya, tetapi gunakan URL berikut.PATCH https://compute.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/
Isi permintaan sama seperti pada contoh sebelumnya.
Ganti
ORGANIZATION_IDdengan ID organisasi. Misalnya,123456789012.Untuk menghapus aturan retensi default untuk project atau organisasi, buat permintaan
PATCHyang serupa, tetapi tentukannulluntuk aturandefault.Misalnya, untuk menghapus aturan retensi default untuk organisasi:
PATCH https://compute.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/ { "rules": { "default": null } }Ganti
ORGANIZATION_IDdengan ID organisasi.
Menetapkan atau menghapus kebijakan retensi untuk tag
Untuk menetapkan periode retensi 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 level project menggantikan aturan tag level organisasi hanya jika aturan level project memiliki periode retensi data yang lebih lama.
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 data di tempat sampah, dalam hari, untuk tag tersebut.
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-valueataumy-organization-id/tag-key/tag-value.RETENTION_PERIOD_DAYS: periode retensi dalam hari, dari0hingga7. Untuk menonaktifkan tong sampah untuk snapshot dengan tag ini, tentukan0.ORGANIZATION_ID: optional. ID organisasi, yang aturan ini berlaku untuknya. Misalnya,123456789012. Anda harus menentukan ID organisasi atau project ID, 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 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.googleapis.com/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/prodataumy-organization-id/env/build.RETENTION_PERIOD_DAYS: periode retensi data dalam hari, dari0hingga7. Untuk menonaktifkan tong sampah untuk snapshot dengan tag ini, tentukan0.Untuk menetapkan atau memperbarui aturan kebijakan retensi untuk tag dalam organisasi, buat permintaan
PATCHseperti pada contoh sebelumnya, tetapi gunakan URL berikut.
PATCH https://compute.googleapis.com/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
PATCHseperti pada contoh sebelumnya, tetapi tentukannulluntuk aturan berbasis tag. Misalnya, untuk menghapus aturan kebijakan retensi untuk aturan berbasis tag dalam project:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
{
"rules": {
"TAG_NAMESPACED_NAME_1": null
}
}
Melihat kebijakan retensi tempat 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_IDdengan ID organisasi.Untuk melihat kebijakan retensi tempat sampah project:
gcloud beta compute snapshot-recycle-bin-policy describe \ --project=PROJECT_ID
Ganti
PROJECT_IDdengan 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.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy
Ganti
ORGANIZATION_IDdengan ID organisasi.Untuk melihat kebijakan retensi project:
GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
Ganti
PROJECT_IDdengan ID project.
Responsnya mirip dengan yang 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 tempat sampah untuk snapshot tertentu
Untuk menentukan apakah snapshot standar akan dipertahankan di tong sampah, jika dihapus, dan untuk berapa lama, periksa periode retensi datanya. Jika periode retensi adalah nol, snapshot akan dihapus secara permanen segera setelah dihapus. Jika tidak, periode retensi data menunjukkan berapa lama snapshot akan dipertahankan di tempat sampah jika dihapus.
Anda dapat memeriksa periode retensi data untuk snapshot tertentu menggunakan konsolGoogle Cloud , gcloud CLI, atau REST.
Konsol Google Cloud
- Di konsol Google Cloud , buka halaman Snapshot.
Di tab Snapshot, lihat daftar snapshot dalam project.
Di kolom Name, klik nama snapshot standar. Halaman Snapshot details untuk snapshot yang dipilih akan muncul.
Properti Recycle bin retention menampilkan periode retensi data snapshot di tempat sampah.
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 data di tempat sampah snapshot, dalam hari.
REST
Untuk melihat periode retensi data untuk snapshot tertentu, buat permintaan GET
ke metode getEffectiveRecycleBinRule.
GET https://compute.googleapis.com/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 data snapshot standar, pilih salah satu opsi berikut:
- Membuat aturan berbasis tag untuk salah satu tag snapshot
- Jika aturan berbasis tag yang sesuai sudah ada, tambahkan tag tersebut ke snapshot dengan mengikuti petunjuk di Menambahkan tag ke resource.
- Ubah aturan retensi default folder sampah untuk project atau organisasi, tetapi perhatikan bahwa aturan ini akan berlaku untuk semua snapshot standar lainnya dalam project atau organisasi.
Langkah berikutnya
- Memulihkan snapshot dari recycle bin
- Untuk mengelola tag untuk snapshot standar, lihat Menambahkan tag ke resource