Saya memiliki instance EC2 menjalankan server web yang menyimpan file yang diunggah pengguna ke S3. File ditulis sekali dan tidak pernah berubah, tetapi kadang-kadang diambil oleh pengguna. Kami kemungkinan akan mengakumulasikan sekitar 200-500GB data per tahun. Kami ingin memastikan data ini aman, terutama dari penghapusan tidak disengaja dan ingin dapat memulihkan file yang dihapus tanpa alasan apa pun.
Saya telah membaca tentang fitur versi untuk bucket S3, tetapi sepertinya saya tidak dapat menemukan apakah pemulihan dapat dilakukan untuk file tanpa riwayat modifikasi. Lihat dokumen AWS di sini pada versi:
http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html
Dalam contoh-contoh itu, mereka tidak menunjukkan skenario di mana data diunggah, tetapi tidak pernah dimodifikasi, dan kemudian dihapus. Apakah file yang dihapus dalam skenario ini dapat dipulihkan?
Kemudian, kami pikir kami dapat mencadangkan file S3 ke Glacier menggunakan manajemen siklus hidup objek:
http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
Tapi, sepertinya ini tidak akan bekerja untuk kita, karena objek file tidak disalin ke Glacier tetapi dipindahkan ke Glacier (lebih tepatnya sepertinya itu adalah atribut objek yang diubah, tetapi toh ...).
Jadi sepertinya tidak ada cara langsung untuk mencadangkan data S3, dan mentransfer data dari S3 ke server lokal mungkin memakan waktu dan dapat menimbulkan biaya transfer yang signifikan dari waktu ke waktu.
Akhirnya, kami pikir kami akan membuat ember baru setiap bulan untuk berfungsi sebagai cadangan penuh bulanan, dan menyalin data ember asli ke yang baru pada Hari 1. Kemudian menggunakan sesuatu seperti duplikat ( http://duplicity.nongnu.org/ ) kami akan menyinkronkan ember cadangan setiap malam. Pada akhir bulan kami akan meletakkan isi ember cadangan di penyimpanan Gletser, dan membuat ember cadangan baru menggunakan salinan ember asli yang baru ... dan ulangi proses ini. Sepertinya ini akan berhasil dan meminimalkan biaya penyimpanan / transfer, tetapi saya tidak yakin apakah duplikat memungkinkan transfer bucket ke bucket secara langsung tanpa membawa data ke klien pengendali terlebih dahulu.
Jadi, saya kira ada beberapa pertanyaan di sini. Pertama, apakah versi S3 memungkinkan pemulihan file yang tidak pernah dimodifikasi? Apakah ada cara untuk "menyalin" file dari S3 ke Glacier yang saya lewatkan? Bisakah duplikasi atau alat lain mentransfer file antara bucket S3 secara langsung untuk menghindari biaya transfer? Akhirnya, apakah saya jauh dari sasaran dalam pendekatan saya untuk mencadangkan data S3?
Terima kasih sebelumnya atas segala wawasan yang bisa Anda berikan!
Memperbarui
Amazon baru-baru ini mengumumkan bahwa versi sekarang berfungsi dengan aturan siklus hidup
sumber
Jawaban:
Saya baru saja mencoba ini. Ya, Anda dapat memulihkan dari versi aslinya. Ketika Anda menghapus file itu membuat penanda hapus dan Anda dapat mengembalikan versi sebelum itu, yaitu: satu-satunya, revisi.
Gletser benar-benar dimaksudkan untuk penyimpanan jangka panjang, yang jarang diakses. Ini juga bisa menjadi sangat mahal untuk mengambil sebagian besar data Anda dalam sekali jalan, karena itu tidak dimaksudkan untuk pemulihan banyak data secara point-in-time (berdasarkan persentase).
Jangan lakukan ini, Anda hanya dapat memiliki 100 ember per akun, jadi dalam 3 tahun Anda akan mengambil sepertiga dari uang saku ember Anda hanya dengan cadangan.
Iya
Tidak yang saya tahu
sumber
Saya tidak suka memiliki s3 mount, karena lambat dan dapat menggantung dan melakukan seperti nfs sekolah lama. lebih baik naik / turun sesuai kebutuhan.
mudah untuk skrip ... jangan lupa file ~ / .s3cfg Anda
sumber
Kedengarannya seperti Anda mungkin perlu S3FS yang pada dasarnya memasang ember S3 Anda seolah-olah mereka adalah sistem file lokal:
http://code.google.com/p/s3fs/wiki/FuseOverAmazon
Saya lebih suka menggunakan versi bercabang ini karena ia mempertahankan struktur folder yang sama dengan apa yang dibuat di panel kontrol web untuk Amazon S3:
https://github.com/tongwang/s3fs-c
Kemudian saya memiliki beberapa skrip shell di tempat yang pada dasarnya digunakan
rsync
untuk menyinkronkan data ke pengaturan lokal saya.Secara umum, saya menemukan S3FS berfungsi paling baik untuk membaca konten yang ditempatkan di dalam ember S3 Amazon. Menulis tidak konsisten. Tetapi untuk keperluan mencadangkan ember S3, garpu Tony Wang dari S3FS sangat bagus.
sumber