it-swarm-vi.tech

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

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?

44
Nikhil Gupte

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 gọi trực tiếp API).

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êm về Xóa xác thực nhiều yếu tố
[.__.] Thêm về cách xóa đối tượng

23
snarkyboojum

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
13
Ian Purton

Đâ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 ví dụ 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 $ 20 Jungle Disk 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 cách nó cũng hoàn thành mục tiêu của bạn.

7
Brent Ozar

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.

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

7
JAG

Để 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ể giữ âm lượng tự chạy, 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.

6
Andrew Lusk

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.

6
shawnswaner