Kebijakan siklus proses objek di Google Distributed Cloud (GDC) dengan air gap memungkinkan Anda mengotomatiskan retensi dan masa berlaku data di seluruh bucket penyimpanan. Anda dapat menentukan aturan usia, awalan, dan tag untuk menghapus objek yang tidak memiliki versi atau mentransisikan dan mengakhiri masa berlaku versi tanpa pembersihan manual.
Sebelum memulai
Bucket penyimpanan adalah resource yang dicakup ke project tertentu. Project bertindak sebagai penampung, yang mengelompokkan bucket Anda dan memungkinkan pengelolaannya melalui server Management API. Sebelum dapat melakukan operasi di halaman ini, Anda harus membuat project baru atau memilih project yang sudah ada dan memiliki izin yang memadai.
Peran IAM yang diperlukan
Hubungi IAM Project Admin Anda untuk meminta peran berikut di namespace project Anda:
- Project Bucket Admin (
project-bucket-admin): membuat, memperbarui, dan menghapus bucket penyimpanan. - Project Bucket Object Viewer (
project-bucket-object-viewer): melihat dan memeriksa detail bucket dan objek penyimpanan.
Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bucket.
Menyiapkan lingkungan Anda
Untuk menjalankan perintah terhadap server API pengelolaan atau server API global, lakukan hal berikut:
- Login dan buat file kubeconfig untuk server API pengelolaan zona jika Anda belum memilikinya.
- Untuk bucket dual-zone, lakukan hal berikut:
- Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom
BucketLocationConfigtelah dibuat untuk zona yang disambungkan. - Buat file kubeconfig untuk server API global.
- Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom
Menetapkan kebijakan siklus proses objek di bucket
Anda dapat menggunakan kebijakan siklus proses objek untuk mengelola objek di bucket Anda secara otomatis. Hal ini membantu Anda menyimpan data secara lebih efisien selama masa pakainya. Konfigurasi siklus proses adalah daftar aturan untuk mengakhiri masa berlaku grup objek berdasarkan kriteria pencocokan tertentu.
Anda dapat membuat bucket dengan atau tanpa kebijakan siklus proses objek. Anda juga dapat menerapkan kebijakan siklus proses baru, memperbarui kebijakan yang ada, atau menghapus kebijakan yang ada setelah bucket dibuat.
Untuk bucket tanpa versi, masa berlaku berarti menghapus objek secara permanen dan asinkron.
Untuk bucket berversi, jika versi objek saat ini bukan penanda penghapusan, masa berlaku akan membuat versi saat ini menjadi lama, lalu menambahkan penanda penghapusan ke versi saat ini.
Untuk menetapkan dan mengubah kebijakan siklus proses objek,
perbarui kolom Bucket.spec.bucketPolicy.lifecyclePolicy.
CLI
Berikut adalah beberapa contoh resource bucket dengan berbagai kebijakan siklus proses objek yang dikonfigurasi:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire all objects after 365 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 365
id: expire-all-after-365-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects in the logs/ directory after 30 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 30
id: expire-logs-dir-after-30-days
status: Enabled
filter:
prefixFilter: "logs/"
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects having specific tag after 30 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 30
id: expire-tagged-objects-after-30-days
status: Enabled
filter:
tagFilters:
- key: environment
value: dev
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire noncurrent versions after 90 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- noncurrentExpiration:
noncurrentDays: 90
id: expire-noncurrent-after-90-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects on a specific date"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
date: "2027-01-01T00:00:00Z"
id: expire-on-specific-date
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with multiple lifecycle rules and advanced filters"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
# Rule 1: Expire objects in 'tmp/' directory AND tagged with 'status=ready' after 7 days
- expiration:
days: 7
id: expire-ready-tmp-objects
status: Enabled
filter:
prefixFilter: "tmp/"
tagFilters:
- key: status
value: ready
# Rule 2: Expire all objects in 'logs/' directory after 90 days
- expiration:
days: 90
id: expire-logs-after-90-days
status: Enabled
filter:
prefixFilter: "logs/"
Setiap update pada kebijakan siklus proses berlaku untuk objek yang ada dan objek yang diupload setelah update.
Jika bucket juga memiliki penguncian objek yang dikonfigurasi, objek akan dilindungi dari masa berlaku sebelum hari retensi berakhir.