Phân Biệt S3 Storage Classes: Bí Kíp Tối Ưu 70% Chi Phí AWS
Danh Mục Bài Viết
Tháng đầu dùng AWS, mình upload ảnh sản phẩm lên S3 Standard cho tiện. Tháng đó bill chỉ vài chục nghìn. Nhưng 6 tháng sau, khi data lên đến vài trăm GB ảnh cũ không ai xem nữa, tiền S3 vẫn chạy đều đặn như dữ liệu đó được truy cập mỗi ngày. Nguyên nhân: toàn bộ để ở S3 Standard — loại đắt nhất. Một thay đổi nhỏ về Storage Class sau đó đã cắt 68% chi phí lưu trữ chỉ trong 30 ngày.
AWS S3 Storage Class là gì và tại sao nó quan trọng?
Hãy nghĩ S3 như một tòa nhà lưu trữ. S3 Standard là tầng trệt — đắt nhất, nhưng bạn lấy đồ ngay lập tức 24/7. S3 Glacier là tầng hầm sâu nhất — rẻ hơn 90%, nhưng cần vài giờ để kéo dữ liệu lên. Mỗi Storage Class được thiết kế cho một pattern truy cập khác nhau.
AWS tính phí lưu trữ S3 dựa trên 3 yếu tố: dung lượng lưu ($/GB/tháng), số lần request (GET, PUT), và phí truy xuất dữ liệu. Chọn sai class = trả tiền tầng trệt cho đồ đạc mà cả tháng không ai đụng tới. Với hệ thống production xử lý hàng TB dữ liệu, sai lầm này có thể tốn thêm $200-$2000/tháng không cần thiết.
6 Storage Class của S3: Phân tích chi tiết từng loại
Dưới đây là breakdown từng class theo use case thực tế:
- S3 Standard: Dành cho dữ liệu truy cập thường xuyên (hot data). Độ trễ millisecond, 99.999999999% durability, 99.99% availability. Giá ~$0.023/GB/tháng. Dùng cho: ảnh/video đang hiển thị trên website, database backup cần restore nhanh, static assets của web app đang chạy.
- S3 Intelligent-Tiering: AWS tự động di chuyển object giữa các tier dựa trên tần suất truy cập. Object không truy cập 30 ngày → chuyển xuống tier rẻ hơn tự động. Phí thêm $0.0025/1,000 objects/tháng để monitor. Dùng cho: dữ liệu có pattern truy cập không đoán được, mixed-use data lakes.
- S3 Standard-IA (Infrequent Access): Rẻ hơn Standard ~40% về lưu trữ, nhưng có phí truy xuất ($0.01/GB). Phù hợp khi truy cập dưới 1 lần/tháng. Minimum storage duration 30 ngày — nếu xóa trước 30 ngày vẫn bị charge. Dùng cho: backup dữ liệu cần restore nhanh nhưng không thường xuyên, disaster recovery files.
- S3 One Zone-IA: Giống Standard-IA nhưng chỉ lưu ở 1 AZ thay vì 3. Rẻ hơn ~20% so với Standard-IA. Nhược điểm: nếu AZ đó gặp sự cố, dữ liệu có thể mất. Dùng cho: dữ liệu có thể tái tạo được như thumbnail đã resize, transcoded video cache.
- S3 Glacier Instant Retrieval: Cho archival data cần truy cập ngay (millisecond latency). Rẻ hơn Standard ~68%. Minimum 90 ngày. Dùng cho: ảnh y tế, tài liệu pháp lý, audit logs cần truy cập bất ngờ nhưng hiếm.
- S3 Glacier Flexible Retrieval: Truy xuất mất 1-12 giờ (hoặc 1-5 phút với Expedited, tốn thêm phí). Rẻ hơn Standard ~80%. Minimum 90 ngày. Dùng cho: backup hàng tháng, compliance archives, dữ liệu cần giữ nhưng gần như không bao giờ đọc.
- S3 Glacier Deep Archive: Rẻ nhất — chỉ $0.00099/GB/tháng, tức 1/23 giá Standard. Truy xuất mất 12-48 giờ. Minimum 180 ngày. Dùng cho: long-term compliance retention (7-10 năm), dữ liệu đóng băng theo yêu cầu pháp lý.
Chi phí thực tế và cách thiết lập Lifecycle Policy
Chi phí lưu 100GB trong 1 năm với từng class (region us-east-1, không tính retrieval fee): S3 Standard ~$27.6, Standard-IA ~$15.4 (tiết kiệm 44%), Glacier Instant ~$10.8 (61%), Glacier Flexible ~$6.0 (78%), Glacier Deep Archive ~$1.2 (96%).
Cách nhanh nhất để tối ưu là dùng S3 Lifecycle Rules — AWS sẽ tự động di chuyển objects theo quy tắc bạn đặt ra. Không cần viết Lambda, không cần cron job. Ví dụ config:
{
"Rules": [{
"ID": "auto-archive-old-files",
"Status": "Enabled",
"Filter": {"Prefix": "uploads/"},
"Transitions": [
{"Days": 30, "StorageClass": "STANDARD_IA"},
{"Days": 90, "StorageClass": "GLACIER"},
{"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
]
}]
}
Lưu file thành lifecycle.json, rồi apply bằng lệnh:
aws s3api put-bucket-lifecycle-configuration \
--bucket your-bucket-name \
--lifecycle-configuration file://lifecycle.json
Mẹo thực chiến: Glacier Deep Archive có minimum storage 180 ngày. Nếu xóa object ở ngày 45, bạn vẫn bị charge cho 180 ngày. Tính toán kỹ trước khi apply rule cho dữ liệu vòng đời ngắn.
3 sai lầm phổ biến khiến bạn đốt tiền S3
- Để mọi thứ ở Standard mãi mãi: 80% dữ liệu S3 chỉ được truy cập trong 30 ngày đầu. Lifecycle Policy đặt 1 lần, tiết kiệm mãi mãi.
- Dùng Glacier cho dữ liệu warm: Một team từng archive thumbnail vào Glacier để tiết kiệm, rồi phát hiện feature preview cần load thumbnail ngay lập tức. Kết quả: user chờ 4 tiếng. Glacier chỉ phù hợp khi bạn sẵn sàng chờ vài giờ.
- Bỏ qua Intelligent-Tiering cho data lake: Nếu bạn có hàng triệu objects và không chắc cái nào được truy cập, Intelligent-Tiering thường rẻ hơn Standard 30-40% mà không cần quản lý thêm gì.
FAQ — Những câu hỏi hay gặp nhất
Q: Intelligent-Tiering có thực sự đáng tiền monitoring fee không?A: Phụ thuộc vào số lượng objects. Với bucket ít hơn 10,000 objects nhỏ, monitoring fee có thể cao hơn tiền tiết kiệm. Ngưỡng hòa vốn thường ở khoảng 128KB/object — objects nhỏ hơn mức này thì Standard-IA thường rẻ hơn.
Q: Chi phí truy xuất Glacier có đắt không nếu cần restore khẩn?A: Glacier Flexible với Expedited retrieval tốn $0.03/GB + $0.01/1,000 requests — đắt hơn Standard nhiều lần. Nếu cần restore nhanh mà vẫn muốn tiết kiệm, Glacier Instant Retrieval là lựa chọn tốt hơn: millisecond latency với giá chỉ $0.004/GB/tháng.
Q: Có thể dùng nhiều Storage Classes trong cùng một bucket không?A: Có. Mỗi object trong bucket có thể ở class khác nhau. Lifecycle Rules hoạt động ở cấp object dựa trên prefix, tag, hoặc tuổi. Bạn có thể có folder
uploads/recent/ở Standard vàuploads/archive/ở Glacier trong cùng bucket.
Chiến lược tối ưu chi phí S3 cho từng loại dự án
Không có công thức one-size-fits-all cho S3 Storage Classes. Startup với web app thông thường nên bắt đầu bằng Standard + Lifecycle Policy chuyển sang Standard-IA sau 30 ngày — đơn giản, hiệu quả ngay. Hệ thống backup nên dùng Glacier Flexible hoặc Deep Archive tùy mức SLA restore. Data lake lớn với pattern truy cập phức tạp thì Intelligent-Tiering thường là lựa chọn an toàn nhất.
Điều quan trọng nhất: đừng để mặc định. Mỗi tháng dành 15 phút xem S3 Cost Explorer, nhìn vào phân bổ chi phí theo bucket và Storage Class. Thường thì chỉ cần 1-2 thay đổi nhỏ là có thể cắt giảm đáng kể bill hàng tháng. Bài tiếp theo sẽ đi sâu vào cách upload và phân quyền file S3 an toàn — chủ đề mà nhiều người làm sai ngay từ bước đầu.
