[Cloud 101] AWS S3 Glacier là gì? Giải bài toán lưu trữ "lãnh cung" cho hàng Terabyte dữ liệu với giá bèo
Nếu anh em đã làm quen với AWS, chắc hẳn không lạ gì Amazon S3 – kho lưu trữ Object Storage phổ biến nhất thế giới. S3 Standard giống như cái Tủ lạnh trong bếp của bạn: bạn cất đồ ăn vào đó và có thể mở ra lấy bất cứ lúc nào, tốc độ phản hồi tính bằng mili-giây.
Nhưng với những loại dữ liệu như: bản backup Database từ 3 năm trước, log truy cập cũ rích của hệ thống đẩy ra từ Kafka/Elasticsearch, hay hóa đơn điện tử của khách hàng từ thuở công ty mới thành lập... Việc để chúng trong "tủ lạnh" S3 Standard là cực kỳ lãng phí.
Đó là lúc bạn cần đem chúng xuống Tủ đông dưới tầng hầm – và đó chính là S3 Glacier.
1. S3 Glacier thực chất là gì?
Amazon S3 Glacier là một tập hợp các hạng (Storage Classes) lưu trữ dài hạn của AWS S3, được thiết kế chuyên biệt cho việc Lưu trữ (Archiving) và Sao lưu dữ liệu (Backup) ít khi đụng tới.
Đặc điểm cốt lõi của nó gói gọn trong 2 chữ: RẤT RẺ và RẤT CHẬM. Mức giá của nó rẻ đến mức có thể chỉ bằng 1/10 hoặc 1/20 so với S3 Standard thông thường. Tuy nhiên, đánh đổi lại, khi bạn muốn "rã đông" (retrieval) để lấy lại file, bạn sẽ không thể lấy ngay lập tức mà phải đợi từ vài phút, vài giờ, thậm chí vài ngày tùy gói.
2. Các "hạng ghế" trong chuyến tàu S3 Glacier
AWS không chỉ có một mà chia Glacier ra thành 3 tier chính để bạn tối ưu chi phí tùy theo nhu cầu:
- S3 Glacier Instant Retrieval: Dành cho dữ liệu ít truy cập (khoảng 1-2 lần/năm) nhưng một khi cần là phải lấy được ngay lập tức (trong mili-giây). Nó rẻ hơn S3 Standard nhưng phí truy xuất dữ liệu lại khá cao.
- S3 Glacier Flexible Retrieval: Đây là cấu hình "quốc dân". Dữ liệu được lưu với giá cực rẻ. Khi cần lấy lại, bạn có thể chọn tốc độ "rã đông":
- Expedited (Nhanh): 1 - 5 phút.
- Standard (Tiêu chuẩn): 3 - 5 giờ.
- Bulk (Số lượng lớn): 5 - 12 giờ (hoàn toàn miễn phí truy xuất).
- S3 Glacier Deep Archive: Rẻ tận đáy, là hạng lưu trữ rẻ nhất của toàn bộ AWS. Phù hợp cho những dữ liệu lưu trữ vì mục đích tuân thủ pháp luật (compliance) từ 7-10 năm. Thời gian lấy lại dữ liệu mất từ 12 đến 48 tiếng.
3. Kiến trúc luồng đi: Sức mạnh của S3 Lifecycle Rules
Với vai trò là người thiết kế kiến trúc hệ thống backend, bạn sẽ không rảnh rỗi log vào console AWS mỗi tháng để chuyển tay từng file log sang Glacier. AWS cung cấp một công cụ tuyệt vời gọi là Lifecycle Rules (Vòng đời dữ liệu).
Bạn có thể thiết lập một rule tự động cực kỳ thông minh và mượt mà. Giả sử với hệ thống hóa đơn điện tử:
- Ngày 1 - Ngày 30: File PDF hóa đơn mới tạo được lưu ở S3 Standard. Khách hàng tải về liên tục, tốc độ cực nhanh.
- Ngày 31 - Ngày 90: Hóa đơn ít được xem hơn, hệ thống tự động chuyển nó sang S3 Standard-IA (Infrequent Access) để giảm chút chi phí.
- Sau 90 ngày: Gần như chả ai xem hóa đơn cũ nữa. File tự động bị "đày" xuống S3 Glacier Flexible Retrieval. Giá lưu trữ giảm kịch sàn.
- Sau 5 năm: Tự động xóa vĩnh viễn (Expiration) để giải phóng dung lượng.
Tất cả luồng này diễn ra tự động hoàn toàn (Auto-transition) ở tầng hạ tầng, code API hay logic xử lý của bạn không cần thay đổi bất cứ thứ gì!
Lời kết
Việc hiểu và vận dụng S3 Glacier không chỉ giúp anh em ghi điểm tuyệt đối trong mắt sếp (vì tiết kiệm được cả đống tiền Server), mà còn thể hiện tư duy thiết kế hệ thống có tầm nhìn xa. Một hệ thống tốt không chỉ chạy đúng chức năng, mà còn phải biết "dọn dẹp" và tối ưu tài nguyên của chính nó một cách thông minh.
Anh em đang xử lý log hệ thống và backup Database cũ như thế nào? Xóa luôn, ném vào ổ cứng vật lý hay đẩy lên Cloud? Cùng chia sẻ kiến trúc anh em đang dùng ở phần comment nhé!
All Rights Reserved