Apakah ada cara untuk pulih dari penghapusan Amazon S3 Bucket yang tidak disengaja?
Kami memiliki informasi penting dalam keranjang kami dan saya perlu mengurangi risiko penghapusan yang tidak disengaja atau jahat dari ember itu sendiri.
Saya tahu saya dapat menyinkronkan seluruh bucket secara lokal, tetapi ini tidak terlalu praktis jika ukuran bucket saya 100GB.
Ada ide tentang strategi cadangan?
Jawaban:
Pendekatan lain adalah mengaktifkan versi S3 pada bucket Anda. Anda kemudian dapat mengembalikan file yang dihapus dll. Lihat dokumentasi S3 untuk cara mengaktifkan ini
Menggunakan alat pihak ketiga seperti BucketExplorer membuat bekerja dengan versi cukup sepele (vs langsung memanggil API sendiri).
Anda juga dapat mengaktifkan penghapusan otentikasi multi-faktor untuk keranjang S3 Anda - yang membuat "penghapusan tidak disengaja" menjadi sedikit lebih sulit;)
Lebih lanjut tentang Multi Factor Authentication Hapus
Lebih Banyak tentang Menghapus Objek
sumber
Anda dapat menggunakan s3cmd http://s3tools.org/s3cmd
Jadi untuk mencadangkan ember bernama mybucket
sumber
Ini bukan solusi yang murah, tetapi jika ember Anda sangat penting, inilah cara Anda melakukannya: booting instance Amazon EC2 dan sinkronkan konten di sana secara berkala.
Amazon EC2 adalah penyedia hosting virtualisasi mereka. Anda dapat memutar instance Linux, Windows, dll dan menjalankan apa pun yang Anda inginkan. Anda membayar per jam, dan Anda mendapatkan ruang penyimpanan yang cukup besar secara lokal untuk server itu. Sebagai contoh, saya menggunakan contoh ukuran "besar", yang dilengkapi dengan ruang disk lokal 850GB.
Bagian kerennya adalah ia berada di jaringan yang sama dengan S3, dan Anda mendapatkan transfer tanpa batas antara S3 dan EC2. Saya menggunakan perangkat lunak Jungle Disk $ 20 pada instance Windows EC2, yang memungkinkan saya mengakses keranjang S3 saya seolah-olah itu adalah folder disk lokal. Kemudian saya dapat melakukan file batch terjadwal untuk menyalin hal-hal dari S3 dan ke ruang disk EC2 lokal saya. Anda dapat mengotomatiskannya untuk menyimpan cadangan per jam jika Anda ingin, atau jika Anda ingin berjudi, mengatur JungleDisk (atau yang setara dengan Linux) untuk disinkronkan satu jam atau lebih. Jika seseorang menghapus file, Anda punya setidaknya beberapa menit untuk mendapatkannya kembali dari EC2. Saya akan merekomendasikan cadangan skrip biasa - mudah untuk menyimpan cadangan beberapa hari jika Anda mengompresnya ke volume 850GB.
Ini sangat berguna untuk pengiriman log SQL Server, tapi saya bisa melihat bagaimana itu akan mencapai tujuan Anda juga.
sumber
Salah satu solusi yang mungkin bisa dilakukan adalah dengan membuat "ember cadangan" dan menggandakan informasi sensitif Anda di sana. Secara teori, data Anda lebih aman di S3 daripada di hard drive Anda.
Selain itu, saya tidak yakin apakah penghapusan yang tidak disengaja adalah masalah nyata karena Anda harus menghapus semua kunci ember Anda secara tidak sengaja sebelum Anda bisa menghapusnya.
sumber
rm -rf
Solusi lain yang mungkin adalah mereplikasi ember Anda ke zona Eropa di S3. Ini dapat tetap bertahan setelah penghapusan yang tidak disengaja Anda cukup lama untuk pulih.
sumber
Untuk memodifikasi jawaban Brent (luar biasa) sedikit; Anda tidak perlu membuat instance berjalan. Buat EC2 AMI yang menarik data Anda ke bawah, menyinkronkannya ke volume EBS, memotret volume itu dan menutupnya sendiri.
Anda bisa menjaga volume tetap berjalan dengan sendirinya, tetapi snapshotting harus cukup untuk cadangan. Jika AMI khusus Anda melakukan semua ini (termasuk mematikan sendiri setelah selesai) tanpa interaksi, maka skrip 'cadangan' Anda hanya perlu 'ec2run -n 1 -t m1.small ami-' dan fire-and-forget.
sumber