Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah pembuatan versi
Topik berikut ini dapat membantu Anda memecahkan beberapa masalah umum Penentuan Versi Amazon S3.
Topik
Saya ingin memulihkan objek yang secara tidak sengaja dihapus dalam bucket dengan Penentuan Versi diaktifkan
Secara umum, ketika versi objek dihapus dari bucket S3, tidak ada cara bagi Amazon S3 untuk memulihkannya. Namun, jika Anda sudah mengaktifkan Penentuan Versi S3 di bucket S3, permintaan DELETE
yang tidak menentukan ID versi tidak dapat menghapus objek secara permanen. Sebagai gantinya, penanda hapus ditambahkan sebagai placeholder. Penanda hapus ini menjadi versi objek saat ini.
Untuk memverifikasi apakah objek yang dihapus telah dihapus secara permanen atau dihapus sementara (ditandai dengan penanda hapus), lakukan hal berikut:
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi kiri, pilih Bucket.
-
Di dalam daftar Bucket, pilih nama bucket yang berisi objek.
-
Pada daftar Objek, Aktifkan tombol Tampilkan versi di sebelah kanan bilah pencarian, lalu cari objek yang dihapus di bilah pencarian. Tombol beralih ini hanya tersedia jika Penentuan Versi sebelumnya telah diaktifkan di bucket.
Anda juga dapat menggunakan Inventaris S3 untuk mencari objek yang dihapus.
-
Jika Anda tidak dapat menemukan objek setelah mengalihkan Tampilkan versi atau membuat laporan inventaris, dan Anda juga tidak dapat menemukan penanda hapus objek, penghapusan bersifat permanen dan objek tidak dapat dipulihkan.
Anda juga dapat memverifikasi status objek yang dihapus dengan menggunakan operasi HeadObject
API dari AWS Command Line Interface (AWS CLI). Untuk menggunakannya, ganti perintah head-object
dengan
informasi Anda sendiri: user input
placeholders
aws s3api head-object --bucket
amzn-s3-demo-bucket
--key
index.html
Jika Anda menjalankan perintah head-object
pada objek berversi yang versinya saat ini adalah penanda hapus, Anda akan menerima kesalahan 404 Tidak Ditemukan
. Misalnya:
Terjadi kesalahan (404) saat memanggil HeadObject operasi: Tidak Ditemukan
Jika Anda menjalankan perintah head-object
pada objek berversi dan memberikan ID versi objek, Amazon S3 mengambil metadata objek, mengonfirmasi bahwa objek tersebut masih ada dan tidak dihapus secara permanen.
aws s3api head-object --bucket
amzn-s3-demo-bucket
--key
index.html
--version-id
versionID
{ "AcceptRanges": "bytes", "ContentType": "text/html", "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT", "ContentLength": 77, "VersionId": "Zg5HyL7m.eZU9iM7AVlJkrqAiE.0UG4q", "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"", "Metadata": {} }
Jika objek ditemukan dan versi terbaru adalah penanda hapus, versi objek sebelumnya masih akan ada. Karena penanda hapus adalah versi objek saat ini, Anda dapat memulihkan objek dengan menghapus penanda hapus.
Setelah Anda menghapus penanda hapus secara permanen, versi terbaru kedua dari objek akan menjadi versi objek saat ini, sehingga objek Anda akan kembali tersedia. Untuk gambaran visual tentang bagaimana objek dipulihkan, lihat Menghapus penanda hapus.
Untuk menghapus versi objek tertentu, Anda harus menjadi pemilik bucket. Untuk menghapus penanda hapus secara permanen, Anda harus menyertakan ID versinya dalam permintaan DeleteObject
. Untuk menghapus penanda hapus, gunakan perintah berikut, lalu ganti
dengan informasi Anda sendiri: user input placeholders
aws s3api delete-object --bucket
amzn-s3-demo-bucket
--key
index.html
--version-id
versionID
Untuk informasi selengkapnya tentang perintah delete-object
, lihat delete-object di Referensi Perintah AWS CLI . Untuk informasi selengkapnya tentang cara menghapus penanda hapus secara permanen, lihat. Mengelola penanda hapus
Saya ingin menghapus objek berversi secara permanen
Pada bucket dengan Penentuan Versi diaktifkan, permintaan DELETE
tanpa ID versi tidak dapat menghapus objek secara permanen. Sebaliknya, permintaan semacam itu akan menyisipkan penanda hapus.
Untuk menghapus objek berversi secara permanen, Anda dapat memilih dari metode berikut:
Buat aturan Siklus Hidup S3 untuk menghapus versi tidak terkini secara permanen. Untuk menghapus versi tidak terkini secara permanen, pilih Hapus versi objek tidak terkini secara permanen, lalu masukkan nomor di bawah Hari setelah objek menjadi tidak terkini. Anda dapat secara opsional menentukan jumlah versi yang lebih baru untuk dipertahankan dengan memasukkan nilai di bawah Jumlah versi yang lebih baru untuk dipertahankan. Untuk informasi selengkapnya tentang membuat aturan ini, lihat Menyetel konfigurasi Siklus Hidup S3.
Hapus versi tertentu dengan menyertakan ID versi dalam permintaan
DELETE
. Untuk informasi selengkapnya, lihat Cara menghapus objek berversi secara permanen.Buat aturan siklus hidup untuk mengakhiri versi saat ini. Untuk mengakhiri versi objek saat ini, pilih Akhiri versi objek saat ini, lalu tambahkan angka di bawah Hari setelah pembuatan objek. Untuk informasi selengkapnya tentang membuat aturan siklus hidup ini, lihat Mengatur konfigurasi Siklus Hidup S3.
Untuk menghapus semua objek berversi dan menghapus penanda secara permanen, buat dua aturan siklus hidup: satu untuk mengakhiri versi saat ini dan menghapus versi objek yang tidak terkini secara permanen, dan yang lainnya untuk menghapus penanda hapus objek yang kedaluwarsa.
Dalam bucket dengan Penentuan Versi yang diaktifkan, permintaan DELETE
yang tidak menentukan ID versi hanya dapat menghapus objek dengan ID versi NULL
. Jika objek diunggah saat Penentuan Versi diaktifkan, permintaan DELETE
yang tidak menentukan ID versi akan membuat penanda hapus dari objek tersebut.
catatan
Untuk bucket berkemampuan Kunci Objek S3, permintaan objek DELETE
dengan ID versi objek yang dilindungi menyebabkan kesalahan 403 Akses Ditolak
. Permintaan objek DELETE
tanpa ID versi menambahkan penanda hapus sebagai versi terbaru dari objek dengan respons 200 OK
. Objek yang dilindungi oleh Kunci Objek tidak dapat dihapus secara permanen sampai periode retensi dan penahanan hukumnya dihapus. Untuk informasi selengkapnya, lihat Cara kerja Kunci Objek S3.
Saya mengalami penurunan kinerja setelah mengaktifkan Penentuan Versi bucket
Penurunan kinerja dapat terjadi pada bucket berkemampuan Penentuan Versi jika ada terlalu banyak penanda hapus atau objek berversi, dan jika praktik terbaik tidak diikuti.
Terlalu banyak penanda hapus
Setelah Anda mengaktifkan Penentuan Versi pada bucket, permintaan DELETE
tanpa ID versi yang dibuat pada objek akan membuat penanda hapus dengan ID versi unik. Konfigurasi siklus hidup dengan aturan Akhiri versi objek saat ini menambahkan penanda hapus dengan ID versi unik ke setiap objek. Penanda hapus yang berlebihan dapat mengurangi kinerja dalam bucket.
Saat Penentuan Versi ditangguhkan pada bucket, Amazon S3 menandai ID versi sebagai NULL
pada objek yang baru dibuat. Tindakan pengakhiran dalam bucket yang ditangguhkan Penentuan Versi menyebabkan Amazon S3 membuat penanda hapus dengan NULL
sebagai ID versi. Dalam bucket yang ditangguhkan Penentuan Versi, penanda hapus NULL
dibuat untuk permintaan penghapusan apa pun. Penanda hapus NULL
ini juga disebut penanda hapus objek kedaluwarsa ketika semua versi objek dihapus dan hanya satu penanda hapus yang tersisa. Jika terlalu banyak penanda hapus NULL
yang terakumulasi, akan terjadi penurunan kinerja dalam bucket.
Terlalu banyak objek berversi
Jika bucket berkemampuan Penentuan Versi berisi objek dengan jutaan versi, peningkatan kesalahan 503 Layanan Tidak Tersedia
dapat terjadi. Jika Anda menyadari adanya peningkatan signifikan dalam jumlah HTTP 503 Layanan Tidak Tersedia
yang diterima untuk permintaan objek PUT
atau DELETE
ke bucket dengan Penentuan Versi yang diaktifkan, Anda kemungkinan memiliki satu atau beberapa objek dalam bucket yang memiliki jutaan versi. Jika Anda memiliki objek dengan jutaan versi, Amazon S3 secara otomatis membatasi permintaan ke bucket tersebut. Permintaan pembatasan melindungi bucket Anda dari jumlah lalu lintas permintaan yang berlebihan, yang dapat berpotensi mengganggu permintaan lain yang dilakukan ke bucket yang sama.
Untuk menentukan objek mana yang memiliki jutaan versi, gunakan Inventaris S3. S3 Inventory menghasilkan laporan yang menyediakan daftar file datar dari objek dalam bucket. Untuk informasi selengkapnya, lihat Membuat katalog dan menganalisis data Anda dengan S3 Inventory.
Untuk memverifikasi apakah ada banyak objek berversi dalam bucket, gunakan metrik Lensa Penyimpanan S3 untuk melihat Jumlah objek versi saat ini, Jumlah objek versi tidak terkini, dan Jumlah objek penanda hapus. Untuk informasi lebih lanjut tentang metrik Lensa Penyimpanan, silakan lihat Glosarium metrik Lensa Penyimpanan Amazon S3.
Tim Amazon S3 menganjurkan pelanggan untuk menyelidiki aplikasi yang berulang kali menimpa objek yang sama, yang berpotensi menciptakan jutaan versi untuk objek tersebut, sehingga memastikan apakah aplikasi bekerja sebagaimana mestinya. Misalnya, aplikasi menimpa objek yang sama setiap menit selama seminggu dapat membuat lebih dari sepuluh ribu versi. Kami merekomendasikan menyimpan kurang dari seratus ribu versi untuk setiap objek. Jika Anda memiliki kasus penggunaan yang membutuhkan jutaan versi untuk satu atau lebih objek, hubungi AWS Dukungan tim untuk bantuan dalam menentukan solusi yang lebih baik.
Praktik terbaik
Untuk mencegah masalah penurunan performa terkait Penentuan Versi, kami sarankan Anda menerapkan praktik terbaik berikut:
Aktifkan aturan siklus hidup untuk mengakhiri versi objek sebelumnya. Misalnya, Anda dapat membuat aturan siklus hidup untuk mengakhiri versi tidak terkini setelah 30 hari objek menjadi tidak terkini. Anda juga dapat mempertahankan beberapa versi tidak terkini jika Anda tidak ingin menghapus semuanya. Untuk informasi selengkapnya, lihat Mengatur konfigurasi Siklus Hidup S3.
Aktifkan aturan siklus hidup untuk menghapus penanda penghapusan objek kedaluwarsa yang tidak memiliki objek data terkait di bucket. Untuk informasi selengkapnya, lihat Menghapus penanda hapus objek kedaluwarsa.
Untuk praktik terbaik pengoptimalan kinerja Amazon S3 tambahan, lihat Pola desain praktik terbaik.