Hai!

Pada jurnal ini saya ingin membahas mengenai fitur lifecycle rules pada Google Cloud Storage. Secara sederhana, fitur lifecycle rules atau aturan siklus pada objek di GCS memungkinkan kita mengatur seberapa lama objek-objek tersebut berada di bucket. Katakanlah umur dari objek. Misal kita set 90 hari objek akan di delete, maka setelah 90 hari objek akan benar-benar dihapus secara otomatis.

Hal ini memiliki banyak keuntungan, terutama di dalam hal biaya. Semisal ada file backup yang sudah terlalu tua dan sebenarnya tidak kita butuhkan, tapi malah memakan cost. Jadi, sangat penting untuk diimplementasikan fitur lifecycle ini ya.

Di jurnal ini saya memiliki skenario. Pertama, kita buat bucket dengan storageclass multi-regional, buat dua rules via console (180 hari set ke nearline dan 365 hari set ke coldline), dan rule ketika via cloud-shell dengan file json untuk delete object setelah 730 hari.

Jadi siklus objek dalam bucket ini secara sederhana: jika objek sudah disimpan lebih dari 90 hari, maka otomatis tipe nya akan dipindah ke nearline, lalu saat umur file sudah 365 hari atau 1 tahun akan otomatis dipindah ke coldline, dan setelah 730 hari akan dihapus.

Untuk penjelasan lebih lengkap tentang tipe bisa dibaca di dokumentasi resminya di https://cloud.google.com/storage/docs/storage-classes dan di jurnal saya yang lain > Google Cloud: Setting Up Buckets in Google Cloud Storage (GCS).

Oh iya, untuk pembuatan bucket juga bisa di baca di jurnal saya yang di atas juga ya. Hasilnya akan seperti di bawah ini.

Masuk ke tab LifeCycle. Saat baru saja membuat bucket, rule nya masih kosong. Untuk menambahkan klik Add a Rule.

Rule pertama, kita buat object set to nearline setelah 180 hari. Pada opsi pemilihan action, pilih Set storage class to Nearline. Lalu klik Continue.

Ceklis age (isikan 180) dan storage class matches (pilih standard dan multi-regional). Storage class matches ini maksudnya adalah objek-objek yang memiliki storage class yang di ceklis maka akan terkena rule ini. Lalu klik create.

Jika berhasil dibuat, hasilnya akan seperti di bawah ini.

Untuk rule kedua, kita klik add a rule lagi lalu pada pemilihan action pilih set storage class to coldline. Klik continue.

Ceklis age (isikan 365) dan storage class matches pilih nearline karena rule ini mengikuti rule pertama yang dibuat sebelumnya. Lalu klik create.

Hasilnya akan seperti di bawah ini. Akan terlihat dua rules yang sudah dibuat.

Selain via console, kita bisa verifikasi lifecycle via cloud-shell dengan perintah:

gsutil lifecycle get gs://<BUCKET_NAME>

Oke, selanjutnya kita coba buat rule ketiga menggunakan cli. File untuk set lifecycle ini berbentuk json. Saat mencoba, bisa menggunakan repo dari saya, atau kustom sendiri ya!

git clone https://github.com/misskecupbung/gcs-101
cd gcs-101/
ls

Kita apply lifecycle nya dan verifikasi lagi:

gsutil lifecycle set delete-after-two-years.json gs://<BUCKET_NAME>
gsutil lifecycle get gs://<BUCKET_NAME>

Hasilnya pun bisa dilihat dari console ya:

Selamat mencoba dan sekian!