Làm cách nào để sao lưu Xô AWS S3 mà không cần phiên bản nhóm nguồn [đã đóng]


43

Có cách nào để phục hồi sau khi xóa ngẫu nhiên một Nhóm Amazon S3 không?

Chúng tôi đã có thông tin quan trọng trong các thùng của mình và tôi cần giảm thiểu rủi ro khi xóa các thùng vô tình hoặc độc hại.

Tôi biết tôi có thể đồng bộ hóa toàn bộ nhóm cục bộ, nhưng điều này không thực tế nếu kích thước thùng của tôi là 100GB.

Bất kỳ ý tưởng về chiến lược sao lưu?


Dưới đây là hướng dẫn chiến lược sao lưu S3 tôi đã viết: eladnava.com/backing-up-your-amazon-s3-buckets-to-ec2
Elad Nava

Câu trả lời:


23

Một cách tiếp cận khác là kích hoạt phiên bản S3 trên thùng của bạn. Sau đó, bạn có thể khôi phục các tệp đã xóa, v.v ... Xem tài liệu S3 để biết cách bật tính năng này

Sử dụng các công cụ của bên thứ ba như BuckExplorer giúp làm việc với phiên bản khá tầm thường (so với việc tự gọi API trực tiếp).

Bạn cũng có thể kích hoạt xóa xác thực đa yếu tố cho các thùng S3 của mình - điều này khiến cho việc "vô tình xóa" khó khăn hơn một chút;)

Thông tin thêm về Xác thực đa yếu tố Xóa
Thêm về xóa đối tượng


2
Câu hỏi là để đạt được điều này mà không cần phiên bản.
Anuruddha

13

Bạn có thể sử dụng s3cmd http://s3tools.org/s3cmd

Vì vậy, để sao lưu một cái xô gọi là mybucket

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

3
Có cách nào nhanh hơn để làm điều này? Nếu có n khóa trong nhóm, có ít nhất n yêu cầu sao chép cộng với một số để liệt kê (và có thể kiểm tra kết quả). Điều này có thể mất khá nhiều thời gian cho các thùng lớn.
Kariem

1
Bạn có thể nói chi tiết về hoạt động sao lưu khi mybucket bị hỏng và người ta cần khôi phục mybucket_backup không?
Augustin Riedinger

7

Đây không phải là một giải pháp rẻ tiền, nhưng nếu xô của bạn thực sự quan trọng, thì đây là cách bạn thực hiện: khởi động một phiên bản Amazon EC2 và đồng bộ hóa nội dung ở đó theo định kỳ.

Amazon EC2 là nhà cung cấp dịch vụ lưu trữ ảo hóa của họ. Bạn có thể quay các phiên bản Linux, Windows, v.v. và chạy mọi thứ bạn muốn. Bạn trả tiền theo giờ và bạn có được một không gian lưu trữ khá lớn cục bộ cho máy chủ đó. Ví dụ: tôi sử dụng thể hiện kích thước "lớn", đi kèm với 850GB dung lượng đĩa cục bộ.

Điều thú vị là nó nằm trên cùng một mạng với S3 và bạn nhận được chuyển khoản không giới hạn giữa S3 và EC2. Tôi sử dụng phần mềm Jungle Disk $ 20 trên phiên bản Windows EC2, cho phép tôi truy cập các thùng S3 của mình như thể chúng là các thư mục đĩa cục bộ. Sau đó, tôi có thể thực hiện các tệp bó theo lịch trình để sao chép nội dung ra khỏi S3 và vào không gian đĩa EC2 cục bộ của mình. Bạn có thể tự động hóa nó để giữ các bản sao lưu hàng giờ nếu bạn muốn hoặc nếu bạn muốn đánh bạc, hãy thiết lập JungleDisk (hoặc tương đương Linux của nó) để đồng bộ hóa mỗi giờ một lần. Nếu ai đó xóa một tệp, bạn đã có ít nhất vài phút để lấy lại từ EC2. Tôi muốn giới thiệu các bản sao lưu theo kịch bản thông thường - thật dễ dàng để giữ một vài ngày sao lưu nếu bạn nén chúng vào một khối lượng 850GB.

Điều này thực sự hữu ích cho việc vận chuyển nhật ký SQL Server, nhưng tôi có thể thấy nó cũng hoàn thành mục tiêu của bạn như thế nào.


Tôi đoán bạn có thể sử dụng một thể hiện vi mô và thêm bao nhiêu EBS (Bộ lưu trữ khối đàn hồi) khi bạn cần. Có thể là một lựa chọn rẻ hơn.
Shawn Vader

Trên thực tế, bạn không nên, vì băng thông chuyên dụng đến và từ S3 phụ thuộc vào kích thước của thể hiện EC2. Nếu bạn muốn thông lượng lớn, bạn cần một ví dụ lớn (= $$$$). Chủ cũ của tôi tìm thấy điều này một cách khó khăn.
John Cowan

6

Một giải pháp khả thi có thể là chỉ cần tạo một "thùng dự phòng" và sao chép thông tin nhạy cảm của bạn ở đó. Về lý thuyết, dữ liệu của bạn an toàn hơn trong S3 so với trong ổ cứng của bạn.

Ngoài ra, tôi không chắc chắn liệu việc xóa ngẫu nhiên có phải là vấn đề thực sự hay không bởi vì bạn sẽ cần phải vô tình xóa tất cả các phím xô trước khi bạn có thể xóa xô.


+1 vì sẽ rất khó để "vô tình" xóa mọi thứ trong một nhóm và sau đó cũng xóa cả nhóm.

10
nếu bạn đang sử dụng một công cụ như s3cmd, việc xóa toàn bộ cây thư mục bằngrm -rf
jberryman

Amazon Glacier thì sao? Nó là một lựa chọn?
Tony

6

Một giải pháp khả thi khác là tái tạo thùng của bạn sang khu vực Châu Âu trong S3. Điều này có thể tồn tại xô sau khi bạn vô tình xóa đủ lâu để phục hồi.


1
Nhân rộng xô là một lựa chọn tuyệt vời. Đối với một lớp bảo vệ bổ sung, sử dụng sao chép tài khoản chéo để đảm bảo mọi vi phạm tài khoản nguồn không dẫn đến mất dữ liệu.
Gareth Oakley

6

Để sửa đổi câu trả lời của Brent (xuất sắc) một chút; bạn không cần phải tiếp tục chạy. Tạo một EC2 AMI kéo dữ liệu của bạn xuống, đồng bộ hóa nó với âm lượng EBS, chụp nhanh âm lượng đó và tự tắt.

Bạn có thể tự duy trì âm lượng, nhưng chụp nhanh nó là đủ để sao lưu. Nếu AMI tùy chỉnh của bạn thực hiện tất cả những điều này (bao gồm tự tắt sau khi hoàn thành) mà không có tương tác, thì tập lệnh 'sao lưu' của bạn chỉ cần 'ec2run -n 1 -t m1.small ami-' và cháy và quên.


Tôi thích ý tưởng này rằng những người khác, đây là giải pháp hợp lý và rẻ hơn.
BMW
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.