Hai!

Sebelum membaca jurnal ini, harap membaca jurnal sebelumnya di sini dimana kali ini kita akan membahas fitur AWS S3 yang lain yaitu versioning.

Apa itu?

Versioning maksudnya adalah kita bisa menyimpan beberapa versi dari sebuah file di dalam sebuah bucket, sehingga kita bisa mempertahkan, mengambil, dan memulihkan setiap file dengan versi yang berbeda tersebut.

Fitur versioning dalam AWS S3 memungkinkan kita untuk melakukan kontrol versi. Jadi, jika seseorang menimpa/mengubah file, dan itu adalah sebuah kesalahan, kita dapat mengembalikan file ke versi sebelumnya. Bisa baca selengkapnya disini.

Pertama, kita coba edit file index.html yang sebelumnya sudah diupload ke bucket di laptop. Misal diubah menjadi seperti berikut:

Lalu masuk ke dashboard dari AWS S3. Pilih bucket yang berisi file index.html dan error.html. File-file tersebut telah diupload untuk pembuatan static website di jurnal sebelumnya.

Setelah masuk, dan masuk ke tab Properties. Gulir ke bawah dan saat menemukan sesi Bucket Versioning, klik Edit. Jadi fitur versioning diterapkan secara global untuk masing-masing bucket ya, bukan masing-masing file.

Pilih Enable untuk mengaktifkan fitur lalu klik Save changes.

Pastikan ada pemberitahuan bahwa fitur versioning telah berhasil diaktifkan. Seperti di bawah ini.

Ok lanjut.

Balik ke tab Objects dan terlihat disana saya memiliki dua file dengan Version ID nya null.

Klik Upload pada tab Objects. Upload file index.html yang telah diubah sebelumnya.

Pastikan upload berhasil.

Ketika dilihat, maka file yang memiliki nama sama, akan dibedakan berdasarkan Version ID nya. Jadi akan terlihat dua file index.html.

File index.html yang memilik Version ID merupakan file lama (versi 0), dan yang memiliki Version ID merupakan file dengan versi setelahnya (versi 1).

Ketika static website nya dibuka, file mana yang akan digunakan? Yap. File terbaru/terakhir diupload karena dalam sistem versioning, file yang baru saja diupload telah menimpa file index.html yang lama.

Bagaimana jika file yang lama atau file dengan versi 0 dihapus? maka akan muncul tampilan konfirmasi seperti di bawah ini.

Saat kita delete sebenarnya file tersebut terdelete, tetapi hanya diambahakan delete marker. Untuk mengembalikan file tinggal hapus saja delete marker nya. Ini bisa disebut fitur untuk restore.

Saat kita pakai versioning, idealnya harus ada lifecycle policy, sehingga otomatis versi lama bisa diclean.

Sekian!