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ụ:
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ư:
Bạn có thể:
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.
Công ty muốn:
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:
5. S3 Requester Pays – “Ai tải, người đó trả tiền”
Thông thường:
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:
S3 cho phép gửi sự kiện đến:
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:
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:
Ví dụ:
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 để:
10. S3 Transfer Acceleration – tăng tốc truyền dữ liệu toàn cầu
Dùng S3 Transfer Acceleration:
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:
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:
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:
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ò:
ADVANCED AMAZON S3
1. Chuyển đổi Storage Class trong S3Trong 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
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ý fileLifecycle 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
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
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.
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ờ
- 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
4. S3 Analytics – phân tích để tối ưu chi phí Storage ClassNế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
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.
- Người tải file (Requester) sẽ trả phí tải xuống.
- Chủ bucket chỉ trả phí lưu trữ.
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ệnS3 có thể gửi sự kiện khi file:
- Được tạo
- Bị xóa
- Được restore
- Được replicate
...
S3 cho phép gửi sự kiện đến:
- SQS
- SNS
- Lambda
- EventBridge
- 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 S3EventBridge 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
8. Baseline Performance – hiệu năng S3S3 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
Ví dụ:
- /folder1/sub1/
- /folder1/sub2/
- /1/
- /2/
9. Multi-part Upload – tăng tốc upload file lớnKhi 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 đó
10. S3 Transfer Acceleration – tăng tốc truyền dữ liệu toàn cầuDù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
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ốcBạ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
...
- 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 SQLS3 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
13. S3 Batch Operations – xử lý hàng loạt objectBạ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
- 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ả
KẾT LUẬN – BẠN ĐÃ NẮM S3 Ở CẤP ĐỘ CHUYÊN SÂUNhữ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)