Adakah kebutuhan untuk membuat cadangan data di Amazon S3?

16

Saya hosting 200 GB gambar produk di S3 (ini adalah host file utama saya).

Apakah saya perlu mencadangkan data itu di tempat lain, atau apakah S3 aman seperti itu?

Saya telah bereksperimen dengan memasang bucket S3 ke instance EC2, dan kemudian membuat cadangan rsync setiap malam. Masalahnya adalah sekitar 3 juta file, jadi perlu beberapa saat untuk menghasilkan berbagai kebutuhan rsync. Pencadangan sebenarnya membutuhkan waktu sekitar 3 hari untuk selesai.

Ada ide bagaimana melakukan ini dengan lebih baik? (jika itu diperlukan?)

Chrille
sumber

Jawaban:

5

Saya sudah melakukan penelitian tentang ini, cukup lucu.

Cadangan Anda ke S3 dapat gagal tergantung pada wilayah Anda karena konsistensi akhirnya; peringatan dasarnya adalah bahwa jika Anda cukup melakukan ini, pada titik tertentu Anda akan memiliki kesalahan membuka atau menemukan file sebagai keajaiban sistem file di latar belakang sinkronisasi Amazon di antara server, sehingga cadangan Anda mungkin tidak dapat diandalkan.

Adapun apakah Anda perlu menyelamatkan mereka dengan cara lain, ini tergantung pada manajemen risiko Anda. Apakah Anda mempercayai Amazon untuk menyimpan data Anda?

Mungkin saja mereka kehilangan sesuatu atau mengalami kegagalan sistem penyimpanan yang lebih besar; mereka tidak diragukan memiliki klausul dalam kontrak mereka yang menyatakan bahwa jika mereka kehilangan data Anda, itu masalah Anda . Bukan milik mereka. Juga, mengingat data Anda disimpan di tempat lain, Anda tidak tahu apa yang akan mereka lakukan dengannya; penegak hukum menginginkan data Anda? Anda bahkan mungkin tidak tahu orang lain yang mengaksesnya.

Apakah Anda mempercayainya? Jika data bukan kunci untuk bisnis Anda dan Anda bersedia menerima risiko ini, maka tidak perlu mengunduhnya ke penyimpanan di luar kantor. Jika Anda tidak mau mengambil risiko bahwa data Anda akan aman di server penyimpanan Amazon di luar sana, Anda harus membuat pengaturan untuk secara berkala membuangnya ke penyimpanan Anda sendiri.

Dengan kata lain saya tidak berpikir ada jawaban langsung untuk ini karena tergantung pada toleransi risiko dan kebutuhan bisnis Anda. Banyak orang tidak akan sepenuhnya memercayai pendapatan mereka hanya pada penyimpanan dengan cloud, secara pribadi saya merasa sedikit khawatir tentang itu ...

Untuk melakukan ini dengan lebih baik, dalam diskusi dan penelitian, pendekatan lain yang perlu dipertimbangkan adalah membuat volume EBS yang cukup besar untuk menyimpan data, melampirkannya ke instance EC2, menyimpan data Anda di sana, lalu Anda dapat meng-unmount volume dan menyimpan data itu ke S3 . Saya sedang meneliti apakah ini akan dilakukan sebagai menyimpan file volume itu sendiri ke S3 atau konten ... tapi kemudian Anda dapat menghapus instance EBS ketika dilakukan untuk menghemat biaya penyimpanan.

EDIT Saya melihat dalam membaca kembali bahwa Anda menyimpan FROM S3 KE instance EC2, bukan sebaliknya (walaupun saya tidak tahu apakah masalah konsistensi akhirnya masih dapat menyebabkan masalah di sana). Anda mencoba menyimpan data ke instance EC2 sebagai cadangan? Saya akan berpikir bahwa hemat biaya itu bukan taktik yang sehat; mungkin lebih murah untuk membuat cadangan ke drive lokal ketika Anda memfaktorkan penyimpanan jangka panjang dari data semacam itu, bersama dengan waktu VM. Dengan biaya drive, Anda dapat menyalin data ke disk lokal sebagai cadangan.

Saya masih akan menyimpan peringatan tentang mempercayai Amazon dan penyimpanannya. Jika Anda ingin menyimpan semuanya di Amazon S3 tetapi memiliki lebih banyak redundansi, duplikat ember S3 Anda di seluruh wilayah, dan jika mereka memiliki pemadaman yang mempengaruhi satu wilayah, itu tidak akan menghancurkan semuanya. Anda berharap. Apa pun itu mungkin.

Itu tergantung pada seberapa besar Anda menghargai data Anda, seberapa banyak Anda bersedia membayar untuk itu dan berapa banyak risiko yang ingin Anda toleransi.

Bart Silverstrim
sumber
Terima kasih atas jawaban Anda, tapi saya pikir Anda salah paham. Saya menggunakan S3 sebagai penyimpanan utama saya (saya hosting file langsung dari sana sebagai cdn). Jadi pertanyaan saya adalah apakah file-file tersebut aman di sana, atau jika saya perlu membuat cadangannya di suatu tempat (mungkin ke S3 bucker lain dan dan contoh EC2)?
Chrille
Ditambahkan pada hasil edit.
Bart Silverstrim
Hmm, ya mungkin cadangan lokal akan lebih aman. Apakah Anda tahu jika S3 dan EC2 berbagi perangkat keras yang sama - jika gagal, baik S3 dan cadangan EC2 saya akan hilang? Dua alasan saya membuat cadangan ke EC2 adalah: (1) Tidak ada biaya transfer antara EC2 dan S3. Akan cukup mahal untuk menyalin 200 GB secara lokal setiap minggu atau lebih. (2) dalam hal terjadi bencana pada S3, saya bisa dengan cepat mengkonversi instance EC2 saya untuk berbagi gambar dari cadangan sebagai gantinya. Tapi saya mendapatkan bahwa cadangan lokal juga memiliki banyak keuntungan ...
Chrille
Jujur saya tidak tahu bagaimana perangkat keras Amazon diatur di latar belakang; bahkan jika saya tahu, tidak ada jaminan mereka tidak akan mengubahnya di masa depan.
Bart Silverstrim
4

Saya telah menggunakan s3cmd s3cmd sync untuk melakukan ini. Ini agak mirip rsync dalam operasinya, dan dapat mendorong dan menarik seluruh direktori antara S3 dan sistem linux lain pilihan Anda.

Saya tidak melihat alasan mengapa Anda tidak s3cmd syncdapat menjalankan instance EC2, atau bahkan workstation pengembang Anda sendiri (atau server penyimpanan).

Anda mungkin ingin mengatur instance VPC, dan kemudian Anda bisa menetapkan node kecil di dalam VPC Anda peran server cadangan, dan memberikannya IP di dalam jaringan Amazon, serta di dalam subnet lokal Anda.

Tom O'Connor
sumber
Kekhawatiran saya, yang harus dia putuskan dengan keuangannya sendiri, adalah biaya untuk mempertahankan instance EC2 dan ruang EBS untuk menyimpan data semacam itu dibandingkan dengan menyimpannya ke hard drive eksternal lokal untuk beberapa ratus dolar saja. Jika uang memungkinkan untuk biaya transfer, saya hanya akan mengunduhnya ke drive lokal dan tetap menyinkronkannya secara berkala (yang juga merupakan bagian dari solusi Anda.)
Bart Silverstrim
Amazon EC2 tidak murah menurut ukuran istilah apa pun, terutama jika Anda ingin melakukan level perusahaan, atau apa pun selain hal-hal sederhana. Jika Anda tidak suka itu, maka mungkin itu bukan untuk Anda.
Tom O'Connor
@ BartSilverstrim: bukankah transfer dalam AWS gratis? Jika demikian, mungkin lebih murah bagi saya untuk menyalin ke EC2 daripada secara lokal. Saya punya instance EC2 yang menjalankan 24/7, jadi itu hanya ruang EBS yang biayanya.
Chrille
2

Saran saya adalah data Anda adalah tanggung jawab Anda, bukan milik Amazon. Jika kehilangan data bukan masalah besar, maka jangan lakukan backup Anda sendiri. Jika ya, maka bawa cadangan Anda sendiri ke (paling tidak) JBOD murah (dan verifikasi secara teratur) seperti yang saya lakukan.

Anda akan mengetahui berapa banyak tanggung jawab yang bersedia diambil Amazon untuk data Anda, pada hari mereka kehilangannya.

Tom Donnelly
sumber
0

Jika Anda mampu membelinya (seperti yang saya lakukan ini) semua data saya disimpan di server saya, tetapi menariknya dari Amazon s3. Jadi, jika Amazon turun karena alasan apa pun (sentuh kayu), saya cukup menarik semua data saya langsung dari server saya. Dari server saya, saya membuat backup bulanan ke drive lokal saya. Karena situs web saya lebih dari 2TB di situs.

daniel27lt
sumber
Saya merasa agak tidak jelas apa rekomendasi Anda. Apa server Anda dan di mana lokasinya?
kasperd
0

Meskipun ini adalah utas lama, ini adalah hal pertama yang muncul saat pencadangan Googling S3, jadi saya pikir saya akan menambahkannya ...

Melakukan riset sendiri, saya menemukan Rclone https://rclone.org/ - ini adalah perangkat lunak rsync-ish yang dirancang untuk menyalin antara layanan penyimpanan file cloud dan mendukung sebagian besar dari mereka. Tidak ada afiliasi dan saya belum menggunakannya jadi saya tidak bisa mengatakan apakah itu baik atau buruk, tetapi saya pikir itu mungkin membantu seseorang.

Tampaknya bagi saya bahwa ada peluang untuk layanan yang dihosting yang melakukan backup 'di luar' file-file yang di-hosting cloud (S3, Google Storage, Rackspace Cloud Files, dll) ....

ckm
sumber