Bỏ qua

S3 versioning

Chi tiết kiến thức về Versioning trong Amazon S3:

1. Versioning là gì?

  • Versioning là một tính năng trong Amazon S3, cho phép lưu trữ và quản lý nhiều phiên bản của một tệp trong cùng một bucket.
  • Khi bạn bật versioning:
  • Mỗi lần tệp được tải lên với cùng một key (tên tệp), S3 sẽ tạo một phiên bản mới thay vì ghi đè tệp cũ.
  • Điều này đảm bảo dữ liệu không bị mất khi cập nhật hoặc ghi đè tệp.

2. Lợi ích của việc sử dụng Versioning

  • Bảo vệ chống lại việc xóa nhầm (Unintended Deletes):
  • Khi xóa một tệp đã được versioned, S3 chỉ thêm một delete marker (đánh dấu xóa), chứ không xóa hoàn toàn tệp.
  • Bạn có thể khôi phục các phiên bản trước đó.

  • Khả năng quay lại phiên bản trước (Rollback):

  • Nếu cần khôi phục tệp về trạng thái trước đây (ví dụ: 2 ngày trước), bạn có thể dễ dàng thực hiện.

3. Cách hoạt động của Versioning

  • Tạo phiên bản mới:
  • Khi tải lên một tệp mới với cùng key, S3 sẽ tạo ra một phiên bản mới (version 1, version 2,...).
  • Xóa tệp:
  • Thay vì xóa hoàn toàn, S3 sẽ thêm một delete marker. Bạn vẫn có thể khôi phục phiên bản trước đó. xóa bản delete marker để khôi phục bản đó

4. Các lưu ý quan trọng

  • Phiên bản null:
  • Các tệp được tải lên trước khi bật tính năng versioning sẽ được gắn version IDnull.
  • Tạm dừng versioning:
  • Khi bạn tạm dừng versioning (suspend versioning), các phiên bản hiện tại vẫn được giữ nguyên.
  • Các tệp được tải lên sau khi tạm dừng sẽ không có phiên bản.

5. Thực hành trên AWS Management Console

  • Bật Versioning:
  • Vào bucket trên S3.
  • Tìm tab Properties.
  • Kích hoạt Bucket Versioning.
  • Quản lý phiên bản:
  • Dùng AWS CLI hoặc AWS SDK để liệt kê, xóa, hoặc khôi phục các phiên bản cụ thể.

6. Tại sao nên bật Versioning?

  • An toàn dữ liệu:
  • Dữ liệu không bị mất do thao tác nhầm.
  • Dễ dàng khôi phục:
  • Bạn có thể quay lại trạng thái trước đây khi cần.
  • Là best practice:
  • Được khuyến nghị sử dụng trong môi trường sản xuất, đặc biệt với các ứng dụng quan trọng.

7. Một số trường hợp sử dụng thực tế

  • Hosting website tĩnh:
  • Khi cập nhật nội dung trang web, các phiên bản cũ được giữ lại, phòng khi cần quay lại nội dung trước.
  • Lưu trữ log:
  • Giữ lại toàn bộ các bản ghi thay đổi trong log file, hữu ích cho việc theo dõi và phân tích.

Bình luận