ฉันจะสำรองที่ฝากข้อมูล AWS S3 ได้อย่างไรโดยไม่ต้องกำหนดรุ่นที่ฝากข้อมูลต้นฉบับ [ปิด]


43

มีวิธีการกู้คืนจากการลบของ Amazon S3 Bucket โดยไม่ตั้งใจหรือไม่?

เรามีข้อมูลสำคัญในถังของเราและฉันต้องการลดความเสี่ยงของการลบถังโดยไม่ตั้งใจหรือไม่ดี

ฉันรู้ว่าฉันสามารถซิงค์ที่ฝากข้อมูลทั้งหมดในเครื่องได้ แต่นี่ไม่ได้ผลจริงถ้าขนาดที่ฝากข้อมูลของฉันคือ 100GB

ความคิดใด ๆ เกี่ยวกับกลยุทธ์การสำรองข้อมูล?


นี่คือคำแนะนำกลยุทธ์การสำรองข้อมูล S3 ที่ฉันเขียน: eladnava.com/backing-up-your-amazon-s3-buckets-to-ec2
Elad Nava

คำตอบ:


23

อีกวิธีหนึ่งคือการเปิดใช้งานการกำหนดรุ่น S3 บนที่เก็บข้อมูลของคุณ จากนั้นคุณสามารถกู้คืนไฟล์ที่ถูกลบ ฯลฯดูเอกสารประกอบ S3 สำหรับวิธีการเปิดใช้งาน

การใช้เครื่องมือของบุคคลที่สามเช่นBucketExplorerทำให้การทำงานกับเวอร์ชันง่าย ๆ (เทียบกับการเรียก API โดยตรง)

คุณยังสามารถเปิดใช้งานการลบการรับรองความถูกต้องแบบหลายปัจจัยสำหรับถังเก็บ S3 ของคุณซึ่งทำให้ "การลบโดยไม่ตั้งใจ" ที่ยากขึ้นนิดหน่อย;)

เพิ่มเติมเกี่ยวกับการรับรองความถูกต้องด้วยหลายปัจจัยลบ
เพิ่มเติมเกี่ยวกับการลบวัตถุ


2
คำถามคือการบรรลุสิ่งนี้โดยไม่กำหนดเวอร์ชัน
Anuruddha

13

คุณสามารถใช้ s3cmd http://s3tools.org/s3cmd

ดังนั้นการสำรองถังที่เรียกว่า mybucket

s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup

3
มีวิธีที่เร็วกว่าในการทำเช่นนี้? หากมีปุ่ม n ในที่ฝากข้อมูลมีคำขออย่างน้อย n รายการสำหรับการคัดลอกและบางรายการสำหรับรายการ (และอาจตรวจสอบผลลัพธ์) อาจใช้เวลาสักครู่สำหรับถังขนาดใหญ่
Kariem

1
คุณช่วยรายละเอียดการสำรองข้อมูลเมื่อ mybucket เสียหายและต้องการกู้คืน mybucket_backup หรือไม่
Augustin Riedinger

7

นี่ไม่ใช่วิธีแก้ปัญหาราคาถูก แต่หากถังของคุณสำคัญอย่างยิ่งนี่เป็นวิธีที่คุณทำได้: บูตอินสแตนซ์ Amazon EC2และซิงค์เนื้อหาที่นั่นเป็นระยะ

Amazon EC2 เป็นผู้ให้บริการโฮสต์เสมือนจริงของพวกเขา คุณสามารถหมุนอินสแตนซ์ของ Linux, Windows, ฯลฯ และเรียกใช้สิ่งที่คุณต้องการ คุณจ่ายเป็นรายชั่วโมงและคุณจะได้พื้นที่เก็บข้อมูลขนาดใหญ่สำหรับเซิร์ฟเวอร์นั้น ตัวอย่างเช่นฉันใช้อินสแตนซ์ขนาด "ใหญ่" ซึ่งมาพร้อมกับพื้นที่ว่างในดิสก์ 850GB

ส่วนที่เจ๋งคือมันอยู่ในเครือข่ายเดียวกับ S3 และคุณจะได้รับการถ่ายโอนไม่ จำกัด ระหว่าง S3 และ EC2 ฉันใช้ซอฟต์แวร์Jungle Disk $ 20 กับอินสแตนซ์ของ Windows EC2 ซึ่งให้ฉันเข้าถึงที่เก็บ S3 ของฉันราวกับว่าพวกเขาเป็นโฟลเดอร์ดิสก์ในเครื่อง จากนั้นฉันสามารถทำแบทช์ไฟล์ตามกำหนดเวลาเพื่อคัดลอกเนื้อหาจาก S3 และลงในพื้นที่ดิสก์ EC2 ในพื้นที่ของฉัน คุณสามารถทำให้การสำรองข้อมูลรายชั่วโมงเป็นไปโดยอัตโนมัติหากคุณต้องการหรือถ้าคุณต้องการเดิมพันให้ตั้งค่า JungleDisk (หรือเทียบเท่า Linux) เพื่อซิงค์ครั้งละหนึ่งชั่วโมงหรือมากกว่านั้น หากมีคนลบไฟล์คุณมีเวลาอย่างน้อยสองสามนาทีในการเรียกคืนจาก EC2 ฉันขอแนะนำให้สำรองข้อมูลสคริปต์ปกติ แต่ง่ายต่อการสำรองข้อมูลสองสามวันหากคุณบีบอัดข้อมูลเหล่านั้นลงในไดรฟ์ข้อมูลขนาด 850GB

สิ่งนี้มีประโยชน์จริง ๆ สำหรับการจัดส่งบันทึกของ SQL Server แต่ฉันเห็นว่ามันบรรลุวัตถุประสงค์ของคุณได้อย่างไร


ฉันเดาว่าคุณสามารถใช้อินสแตนซ์ขนาดเล็กและเพิ่ม EBS (Elastic Block Storage) ได้มากเท่าที่คุณต้องการ อาจเป็นตัวเลือกที่ถูกกว่า
Shawn Vader

ที่จริงแล้วคุณไม่ควรเพราะแบนด์วิดท์เฉพาะไปและกลับจาก S3 ขึ้นอยู่กับขนาดของอินสแตนซ์ EC2 หากคุณต้องการปริมาณงานจำนวนมากคุณต้องมีอินสแตนซ์ขนาดใหญ่ (= $$$$) อดีตนายจ้างของฉันค้นพบวิธีนี้อย่างหนัก
John Cowan

6

ทางออกหนึ่งที่เป็นไปได้คือเพียงแค่สร้าง "ถังสำรอง" และทำซ้ำข้อมูลที่ละเอียดอ่อนของคุณที่นั่น ในทางทฤษฎีข้อมูลของคุณปลอดภัยกว่า S3 มากกว่าฮาร์ดไดรฟ์ของคุณ

นอกจากนี้ฉันไม่แน่ใจว่าการลบโดยไม่ตั้งใจเป็นปัญหาจริงหรือไม่เพราะคุณจะต้องลบคีย์ถังข้อมูลทั้งหมดโดยไม่ตั้งใจก่อนที่คุณจะสามารถลบที่เก็บข้อมูลได้


+1 เนื่องจากเป็นการยากที่จะ "ตั้งใจ" ลบทุกอย่างในที่เก็บข้อมูลจากนั้นจึงลบที่เก็บข้อมูลออกด้วยเช่นกัน

10
หากคุณกำลังใช้เครื่องมืออย่าง s3cmd มันไม่ยากไปกว่าการลบrm -rf
แผนผัง

สิ่งที่เกี่ยวกับ Amazon Glacier มันเป็นตัวเลือกหรือไม่?
โทนี่

6

อีกวิธีที่เป็นไปได้คือการทำซ้ำถังของคุณไปยังโซนยุโรปใน S3 สิ่งนี้อาจคงอยู่ในที่เก็บข้อมูลหลังจากการลบโดยไม่ตั้งใจของคุณนานพอที่จะกู้คืน


1
การจำลองแบบที่ฝากข้อมูลเป็นตัวเลือกที่ยอดเยี่ยม สำหรับเลเยอร์การป้องกันเพิ่มเติมให้ใช้การจำลองแบบข้ามบัญชีเพื่อให้แน่ใจว่าการละเมิดบัญชีต้นทางไม่ทำให้ข้อมูลสูญหาย
Gareth Oakley

6

ในการแก้ไข Brent's (ยอดเยี่ยม) ให้ตอบเล็กน้อย คุณไม่จำเป็นต้องให้อินสแตนซ์ทำงานต่อไป สร้าง EC2 AMI ที่ดึงข้อมูลของคุณลงแล้วซิงค์ไปยังโวลุ่ม EBS, สแน็ปช็อตของโวลุ่มนั้นและปิดตัวเองลง

คุณสามารถทำให้ไดรฟ์ข้อมูลทำงานได้ด้วยตัวเอง แต่การถ่ายภาพควรจะเพียงพอสำหรับการสำรองข้อมูล หาก AMI ที่กำหนดเองของคุณทำสิ่งนี้ทั้งหมด (รวมถึงการปิดตัวเองลงหลังจากเสร็จสิ้น) โดยไม่มีการโต้ตอบสคริปต์ 'สำรองข้อมูล' ของคุณจะต้อง 'ec2run -n 1 -t m1.small ami-' และไฟและลืม


ฉันชอบความคิดนี้ที่คนอื่น ๆ นี่คือทางออกที่สมเหตุสมผลและราคาถูกกว่า
BMW
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.