Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Advanced amazon s3

    ADVANCED AMAZON S3

    1. Chuyển đổi Storage Class trong S3


    Trong S3, mỗi tệp (object) có thể nằm ở một “cấp lưu trữ” khác nhau. Mỗi cấp này có chi phí và tốc độ truy xuất khác nhau.
    Bạn có thể tự động chuyển object sang cấp rẻ hơn khi chúng ít được truy cập. Ví dụ:
    • Nếu file không cần xem thường xuyên → chuyển sang Standard-IA
    • Nếu file chỉ dùng để lưu trữ lâu dài → chuyển sang Glacier hoặc Glacier Deep Archive
    S3 có nhiều nhóm Storage Class như Standard, Standard-IA, One Zone-IA, Intelligent Tiering, Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive…
    Thay vì bạn phải tự chuyển thủ công, S3 cho phép cấu hình Lifecycle Rules để tự động hóa quá trình. 2. Lifecycle Rules – Tự động hóa quản lý file


    Lifecycle Rules giúp bạn tự động chuyển tệp sang lớp lưu trữ khác hoặc xóa tệp khi không cần thiết nữa.
    Có hai nhóm hành động chính: 1. Transition Actions (Chuyển lớp lưu trữ)


    Bạn có thể đặt quy tắc như:
    • Chuyển file sang Standard-IA sau 60 ngày
    • Chuyển file sang Glacier sau 6 tháng
    2. Expiration Actions (Xóa file định kỳ)


    Bạn có thể:
    • Xóa log sau 365 ngày
    • Xóa phiên bản cũ (nếu dùng Versioning)
    • Xóa các phần upload thất bại ở chế độ Multipart Upload
    Lifecycle Rules có thể áp dụng theo tiền tố (prefix), ví dụ:
    tất cả file trong s3://mybucket/mp3/*
    Hoặc áp dụng theo Tag, ví dụ file có tag: Department=Finance. 3. Hai tình huống thực tế (Scenarios)

    Scenario 1: Ảnh đại diện + ảnh thumbnail


    Ứng dụng EC2 tạo thumbnail sau khi người dùng upload ảnh gốc lên S3.
    • Ảnh gốc cần lấy nhanh trong 60 ngày
      → để ở Standard, sau đó chuyển sang Glacier để tiết kiệm chi phí.
    • Thumbnail chỉ là dữ liệu phụ, có thể tạo lại bất kỳ khi nào
      → lưu vào One-Zone IA và tự động xóa sau 60 ngày.
    Scenario 2: Công ty yêu cầu khôi phục file đã xóa


    Công ty muốn:
    • Trong 30 ngày đầu: có thể khôi phục ngay
    • Sau 30 ngày đến 365 ngày: cho phép khôi phục trong vòng 48 giờ
    Giải pháp:
    • Bật Versioning để khi xóa file, S3 không xóa thật mà chỉ đánh dấu bằng “delete marker”.
    • Các phiên bản cũ sẽ được chuyển lần lượt:
      • Trước tiên sang Standard-IA
      • Sau đó sang Glacier Deep Archive
    Nhờ vậy, file cũ vẫn có thể được phục hồi dù bị xóa lâu. 4. S3 Analytics – phân tích để tối ưu chi phí Storage Class


    Nếu bạn không biết thời điểm nào phù hợp để chuyển file sang lớp rẻ hơn, S3 có công cụ phân tích Storage Class Analysis để giúp bạn.
    Công cụ này:
    • Đưa ra khuyến nghị chuyển file sang Standard-IA
    • Hỗ trợ phân tích theo ngày
    • Cập nhật báo cáo mỗi 24–48 giờ
    • Trích xuất dữ liệu dưới dạng CSV
    Nhờ đó bạn biết tệp nào ít truy cập → chuẩn bị xây Lifecycle Rules hợp lý. 5. S3 Requester Pays – “Ai tải, người đó trả tiền”


    Thông thường:
    • Chủ sở hữu bucket trả tiền lưu trữ & băng thông tải xuống.
    Tuy nhiên, nếu bật chế độ Requester Pays, thì:
    • Người tải file (Requester) sẽ trả phí tải xuống.
    • Chủ bucket chỉ trả phí lưu trữ.
    Cách này dùng khi bạn muốn chia sẻ dữ liệu lớn cho người khác nhưng không muốn trả tiền thay họ.
    Lưu ý: người tải phải có tài khoản AWS (không chấp nhận người dùng ẩn danh). 6. S3 Event Notifications – Thông báo sự kiện


    S3 có thể gửi sự kiện khi file:
    • Được tạo
    • Bị xóa
    • Được restore
    • Được replicate
      ...
    Bạn có thể lọc sự kiện bằng kiểu file, ví dụ *.jpg
    S3 cho phép gửi sự kiện đến:
    • SQS
    • SNS
    • Lambda
    • EventBridge
    Ứng dụng thực tế:
    • Tự động tạo thumbnail khi người dùng upload ảnh
    • Gửi cảnh báo khi file bị xóa
    7. EventBridge – nâng cấp mạnh mẽ cho sự kiện S3


    EventBridge cung cấp tính năng mạnh hơn S3 events:
    • Lọc sự kiện bằng JSON (lọc theo metadata, tên file, kích thước…)
    • Gửi sự kiện đến hơn 18 dịch vụ như Step Functions, Kinesis…
    • Hỗ trợ lưu trữ, replay và đảm bảo gửi sự kiện thành công
    Nếu bạn cần workflow phức tạp → dùng EventBridge thay vì S3 Event Notification. 8. Baseline Performance – hiệu năng S3


    S3 tự mở rộng để xử lý lượng request rất lớn.
    Bạn có thể đạt:
    • 3,500 yêu cầu PUT/COPY/POST/DELETE / giây / mỗi prefix
    • 5,500 yêu cầu GET/HEAD / giây / mỗi prefix
    Prefix là phần đường dẫn của object. Nếu bạn chia file ra nhiều prefix, S3 cho phép xử lý nhiều request song song hơn.
    Ví dụ:
    • /folder1/sub1/
    • /folder1/sub2/
    • /1/
    • /2/
    Nếu phân tải đều, bạn có thể đạt 22.000 request/giây hoặc cao hơn. 9. Multi-part Upload – tăng tốc upload file lớn


    Khi file lớn hơn 100MB, AWS khuyến nghị dùng multipart upload để:
    • Chia file thành nhiều phần nhỏ
    • Upload song song
    • Nhanh hơn & ổn định hơn
    • Nếu một phần lỗi → chỉ cần upload lại phần đó
    Bắt buộc dùng multipart nếu file lớn hơn 5GB. 10. S3 Transfer Acceleration – tăng tốc truyền dữ liệu toàn cầu


    Dùng S3 Transfer Acceleration:
    • File được gửi đến “Edge Location” gần bạn nhất
    • Sau đó AWS tự chuyển đến bucket đích
    • Tốc độ nhanh hơn nhiều, đặc biệt cho upload xuyên lục địa
    • Tương thích với multipart upload
    Ví dụ:
    Người ở Mỹ tải file lên S3 ở Australia → vẫn rất nhanh. 11. S3 Byte-Range Fetches – tải một phần file để tăng tốc


    Bạn có thể tải từng phần của file bằng cách yêu cầu:
    • Bytes từ 0 đến 100
    • Bytes từ 100 đến 500
      ...
    Điều này cho phép:
    • Tăng tốc tải file bằng cách tải song song
    • Tải riêng phần header của file mà không cần tải toàn bộ
    12. S3 Select & Glacier Select – lọc dữ liệu bằng SQL


    S3 Select cho phép bạn “tải ít hơn bằng cách hỏi thông minh hơn”.
    Thay vì tải toàn bộ file CSV lớn:
    • Bạn gửi câu lệnh SQL để chỉ lấy dòng hoặc cột cần thiết
    • Do AWS xử lý phía server → tiết kiệm băng thông, giảm chi phí, tăng tốc
    Glacier Select tương tự nhưng dành cho dữ liệu lưu trữ lạnh. 13. S3 Batch Operations – xử lý hàng loạt object


    Bạn có thể xử lý hàng triệu file bằng một thao tác duy nhất:
    • Thay đổi metadata
    • Sao chép object
    • Mã hóa file
    • Thay đổi ACL hoặc Tag
    • Restore file từ Glacier
    • Kích hoạt Lambda cho từng object
    Batch Operations:
    • Quản lý retry
    • Theo dõi tiến độ
    • Gửi thông báo khi hoàn thành
    • Hỗ trợ báo cáo kết quả
    Bạn có thể dùng S3 Inventory + S3 Select để lọc danh sách object trước khi chạy job.

    KẾT LUẬN – BẠN ĐÃ NẮM S3 Ở CẤP ĐỘ CHUYÊN SÂU


    Những kiến thức trong tài liệu là phần nâng cao nhất của Amazon S3.
    Nắm vững phần này giúp bạn tự tin trong các vai trò:
    • AWS Solutions Architect
    • DevOps Engineer
    • Cloud Engineer
    • Data Engineer (Data Lake, ETL)
    S3 không chỉ là nơi “lưu file”, nó là nền tảng của cả hệ sinh thái AWS.​
Working...
X