Ringkasan penghapusan sementara

Penyiapan Penggunaan

Penghapusan sementara membantu melindungi data Cloud Storage Anda jika objek atau bucket tidak sengaja atau dengan niat jahat dihapus. Fitur penghapusan sementara mempertahankan objek dan bucket yang dihapus atau ditimpa dengan menyimpannya dalam status dihapus sementara selama jangka waktu yang ditentukan. Selama waktu ini, objek atau bucket tidak dapat dihapus secara permanen dan dapat dipulihkan.

Penghapusan sementara diaktifkan secara default untuk semua bucket yang mendukungnya, dengan durasi retensi default selama 7 hari. Anda dapat menetapkan durasi retensi default yang berbeda menggunakan tag.

Halaman ini menjelaskan cara kerja penghapusan sementara.

Kebijakan penghapusan sementara

Jika penghapusan sementara diaktifkan di bucket, penghapusan bucket atau objek dalam bucket akan menyebabkan resource memasuki status dihapus sementara, bukan dihapus secara permanen. Untuk mengaktifkan penghapusan sementara di bucket, Anda menetapkan kebijakan penghapusan sementara yang menentukan berapa lama resource yang dihapus sementara akan dipertahankan.

Kebijakan penghapusan sementara berfungsi dengan cara berikut:

  • Kebijakan penghapusan sementara mencakup durasi retensi yang menentukan berapa lama resource yang dihapus sementara akan dipertahankan sebelum dihapus secara permanen. Durasi retensi default adalah 7 hari dan Anda dapat menyesuaikan durasi retensi antara 7 hingga 90 hari. Untuk menonaktifkan penghapusan sementara, Anda menetapkan durasi retensi ke 0.

  • Kebijakan penghapusan sementara default ditetapkan secara otomatis di semua bucket yang baru dibuat, kecuali bucket yang menggunakan produk atau kemampuan yang tidak kompatibel dengan penghapusan sementara (seperti bucket zonal yang menggunakan Rapid Bucket).

  • Anda dapat menetapkan, mengedit, atau menonaktifkan kebijakan penghapusan sementara saat membuat atau memperbarui bucket.

    Saat Anda mengedit kebijakan penghapusan sementara, perubahan yang Anda buat hanya berlaku untuk resource yang dihapus setelah kebijakan baru berlaku. Resource yang dihapus sebelum kebijakan baru berlaku akan dipertahankan selama durasi retensi asli yang berlaku saat resource dihapus. Dengan kata lain, resource yang dihapus sementara yang ada akan terus mematuhi periode retensi data yang aktif pada saat penghapusannya.

    Misalnya, Anda menetapkan kebijakan penghapusan sementara di bucket yang memiliki durasi retensi tujuh hari. Anda menghapus objek object-A.png, yang menjadi dihapus sementara. Selanjutnya, Anda mengubah durasi retensi kebijakan menjadi 10 hari, lalu menghapus objek object-B.png, yang juga menjadi dihapus sementara. object-A.png akan dipertahankan selama tujuh hari dalam status dihapus sementara, sedangkan object-B.png akan dipertahankan selama 10 hari.

    Perubahan pada periode retensi kebijakan penghapusan sementara memerlukan waktu hingga 30 detik untuk diterapkan.

Untuk mempelajari cara menetapkan dan mengelola kebijakan penghapusan sementara di bucket, lihat Menetapkan dan mengelola kebijakan penghapusan sementara.

Properti resource yang dihapus sementara

Saat bucket atau objek dihapus berdasarkan kebijakan penghapusan sementara yang aktif, resource akan beralih ke status dihapus sementara. Anda dapat memulihkan resource yang dihapus sementara selama durasi retensinya.

Resource yang dihapus sementara memiliki karakteristik berikut:

  • Objek dan bucket yang dihapus sementara tidak dapat dibaca, diubah, atau ditimpa. Satu-satunya operasi yang didukung adalah mencantumkannya atau memulihkannya.

  • Resource yang dihapus sementara disembunyikan dari operasi daftar secara default. Untuk melihat resource yang dihapus sementara, Anda harus secara eksplisit menentukan flag atau filter untuk melihat resource.

  • Anda tidak dapat mengubah bucket yang dihapus sementara atau mencantumkan kontennya hingga bucket itu sendiri dipulihkan. Metode yang Anda gunakan untuk memulihkan bucket yang dihapus sementara akan memengaruhi apakah objek dalam bucket juga dipulihkan:

    • Anda dapat memulihkan bucket yang dihapus sementara dan objeknya secara bersamaan dengan menggunakan Google Cloud konsol.

    • Memulihkan bucket menggunakan Google Cloud CLI atau JSON API hanya akan memulihkan bucket kosong. Anda kemudian harus memulihkan objek dalam operasi terpisah untuk memulihkan kontennya.

  • Jika nama bucket digunakan oleh bucket aktif baru, Anda tidak dapat memulihkan bucket yang dihapus sementara hingga bucket aktif yang bertentangan dihapus.

  • Jika Google Cloud project Anda dihapus, Anda tidak dapat menggunakan penghapusan sementara untuk memulihkan bucket atau objek di dalamnya, meskipun penghapusan sementara diaktifkan.

  • Beberapa kemampuan Cloud Storage kompatibel dengan kebijakan penghapusan sementara, tetapi tidak memengaruhi objek yang dihapus sementara. Contoh kemampuan tersebut adalah Autoclass, Object Lifecycle Management, Bucket Lock, dan Object Retention Lock.

Untuk mengetahui petunjuk tentang cara memulihkan objek atau bucket yang dihapus sementara, lihat Memulihkan objek yang dihapus sementara atau Memulihkan bucket yang dihapus sementara.

Pemulihan objek

Saat Anda memulihkan objek yang dihapus sementara, Cloud Storage akan membuat salinan aktif baru dari objek tersebut dalam bucket yang sama. Versi asli yang dihapus sementara tetap berada di latar belakang hingga periode retensinya resmi berakhir. Daftar berikut menjelaskan perilaku pemulihan inti:

  • Saat Anda memulihkan objek, Cloud Storage akan membuat versi baru dari objek tersebut. Untuk mengetahui informasi selengkapnya tentang versi objek, lihat Imutabilitas objek.

  • Jika objek aktif dengan nama yang sama seperti objek yang dihapus sementara sudah ada saat Anda memulihkan objek yang dihapus sementara, objek yang dipulihkan akan menimpa versi aktif yang ada. Objek yang ditimpa yang sebelumnya aktif kemudian akan dihapus sementara secara otomatis.

    Dalam skenario khusus ini, bucket Anda akan berisi dua salinan objek yang dipulihkan (satu salinan aktif baru dan salinan lama yang dihapus sementara) bersama dengan versi objek yang baru dihapus sementara yang ditimpa.

  • Terlepas dari tingkat penyimpanan asli objek atau setelan Autoclass aktif, semua objek yang dipulihkan akan ditulis ke kelas penyimpanan Standar.

Metode pemulihan objek

Anda dapat memulihkan objek yang dihapus sementara menggunakan salah satu dari dua jalur eksekusi, berdasarkan persyaratan skala Anda:

Memulihkan objek dengan jalur duplikat

Meskipun jarang terjadi, objek duplikat yang dihapus sementara dengan nama dan nilai pembuatan yang identik dapat terjadi di bucket dengan namespace hierarkis yang diaktifkan. Konflik ini dapat terjadi jika Anda mengganti nama folder yang berisi objek dengan nama duplikat di bucket dengan namespace hierarkis yang diaktifkan. Dalam skenario ini, meskipun jarang terjadi, ada kemungkinan dua objek yang dihapus sementara secara kebetulan memiliki nomor pembuatan yang sama.

Untuk memahami skenario ini, lihat contoh berikut:

  1. Anda memiliki objek bernama cat.png di dalam folder bernama my-folder-A. cat.png diberi nomor generation 999. Anda menghapus cat.png, yang menjadi dihapus sementara.

  2. Anda menghapus folder induk kosong my-folder-A.

  3. Di tempat lain dalam penyimpanan Anda, ada folder bernama my-folder-B. Di dalam folder ini terdapat objek lain bernama cat.png. Secara kebetulan, objek cat.png ini juga diberi nomor generation 999. Anda mengganti nama my-folder-B menjadi my-folder-A. Karena namespace hierarkis, jalur objek berubah menjadi my-folder-A/cat.png.

  4. Anda menghapus cat.png kedua ini, yang menjadi dihapus sementara.

Sekarang, ada dua objek yang dihapus sementara bernama cat.png dengan nomor pembuatan 999.

Untuk memulihkan, mencantumkan, atau mengakses versi objek yang dihapus sementara tertentu di antara duplikat, Anda harus memberikan parameter restoreToken unik dalam permintaan Anda. Menyertakan parameter restoreToken diperlukan saat memulihkan, mencantumkan, atau mengakses versi objek yang dihapus sementara di bucket dengan namespace hierarkis yang diaktifkan. Jika Anda tidak menyertakan parameter restoreToken saat ada objek duplikat, akan terjadi error yang meminta Anda untuk memberikan token. Mengirimkan token, nama, atau nomor generation yang salah akan menampilkan error yang menunjukkan bahwa objek tidak dapat ditemukan. Untuk mengetahui informasi selengkapnya tentang parameter restoreToken, lihat metode objects.restore.

Harga

Objek yang dihapus sementara terus dikenai biaya penyimpanan hingga periode retensinya berakhir dan objek tersebut dihapus secara permanen. Objek yang dihapus sementara sebelum durasi penyimpanan minimumnya berakhir akan dikenai biaya penghapusan awal, kecuali jika objek tersebut disimpan di Standard Storage.

Untuk mengetahui informasi mendetail tentang biaya yang terkait dengan penghapusan sementara, lihat Harga Cloud Storage.

Mengurangi biaya untuk objek sementara saat menggunakan penghapusan sementara

Jika bucket terutama berisi objek sementara yang berumur pendek, mengaktifkan penghapusan sementara di bucket dapat mengakibatkan peningkatan biaya penyimpanan yang signifikan. Untuk membantu mengurangi biaya objek sementara, sebaiknya lakukan hal berikut:

  • Jika Anda perlu mengganti nama objek, gunakan metode JSON API objects.move untuk mengganti nama objek secara otomatis. Jangan mengganti nama objek dengan menyalinnya.

  • Simpan objek sementara di bucket yang tidak mengaktifkan penghapusan sementara.

Objek sementara biasanya memiliki siklus proses yang singkat sebelum dihapus. Objek sementara mungkin berupa:

  • Data yang digunakan sebagai sumber untuk membuat objek gabungan

  • Data yang dibuat ulang untuk tujuan jangka pendek, seperti hasil kueri atau file staging

  • Data dari workload yang memiliki frekuensi tulis dan hapus yang tinggi (misalnya, jutaan penghapusan setiap hari)

  • Data yang dapat dihapus secara permanen secara tidak sengaja tanpa memengaruhi kontinuitas produksi

Interaksi dengan produk dan fitur lainnya

Jika diaktifkan, penghapusan sementara akan berinteraksi dengan produk dan fitur lainnya dengan cara berikut:

  • Rapid Bucket: Bucket zonal yang menggunakan Rapid Bucket tidak mendukung penghapusan sementara.

  • Object Lifecycle Management:

    • Aturan Object Lifecycle Management tidak memengaruhi objek yang dihapus sementara. Anda tidak dapat menggunakan Object Lifecycle Management untuk mengubah kelas penyimpanan objek yang dihapus sementara atau menghapusnya secara permanen.

    • Objek yang dihapus oleh Object Lifecycle Management akan dihapus sementara. Jika Anda juga mengaktifkan Pembuatan Versi Objek di bucket, objek aktif yang dihapus akan menjadi versi lama dan objek lama yang dihapus akan dihapus sementara.

  • Pembuatan Versi Objek: Saat Anda menghapus objek lama, objek tersebut akan dihapus sementara.

  • Upload multibagian XML API: Bagian upload multibagian XML API tidak dilindungi oleh penghapusan sementara.

  • Autoclass:

    • Biaya pengelolaan Autoclass tidak dikenakan untuk objek yang dihapus sementara.

    • Autoclass tidak mengubah kelas penyimpanan objek yang dihapus sementara.

    • Saat Anda memulihkan objek yang dihapus sementara, objek yang dihasilkan akan ditetapkan ke kelas penyimpanan Standard Storage.

  • Fitur Bucket Lock dan Object Retention Lock: Fitur ini akan mencegah Anda menghapus objek hingga objek tersebut memenuhi kebijakan retensinya. Penghapusan sementara kemudian memberikan lapisan perlindungan tambahan dengan mempertahankan objek yang dihapus selama durasi retensi penghapusan sementara yang terpisah.

  • Notifikasi Pub/Sub: Memulihkan versi objek yang dihapus sementara akan memicu peristiwa OBJECT_FINALIZE.

  • Folder terkelola: Penghapusan sementara tidak dapat memulihkan kebijakan IAM di folder terkelola. Jika Anda menghapus objek sementara dan menghapus folder terkelola yang memberikan kebijakan IAM untuk objek tersebut, Anda mungkin harus membuat ulang kebijakan IAM tersebut sebelum memiliki izin yang diperlukan untuk memulihkan objek yang dihapus sementara.

  • Tag: Jika Anda membuat bucket tanpa menyertakan setelan penghapusan sementara sendiri, setelan default Cloud Storage adalah membuat bucket dengan durasi retensi penghapusan sementara selama tujuh hari. Anda dapat mengubah setelan default ini dengan menggunakan tag. Tag dapat mengubah durasi retensi default untuk bucket baru menjadi nilai apa pun antara 7 dan 90 hari, atau dapat mengubah setelan default untuk menonaktifkan penghapusan sementara di bucket baru. Anda juga dapat menggunakan tag untuk menonaktifkan penghapusan sementara secara default.

Langkah berikutnya