
Cloudflare R2 hay Amazon S3: miễn phí egress chưa chắc rẻ mọi tải

Với tệp được tải nhiều trực tiếp ra Internet, Cloudflare R2 Standard thường có lợi thế chi phí lớn nhờ không tính phí egress. Nhưng miễn phí truyền dữ liệu từ kho không có nghĩa là toàn bộ workload rẻ: thao tác ghi vẫn tính tiền, còn ứng dụng chạy trong AWS có thể phát sinh phí trên đường kết nối tới R2.
Amazon S3 Standard đáng cân nhắc hơn khi phần lớn dữ liệu được đọc trực tiếp bởi dịch vụ AWS cùng vùng, đặc biệt nếu việc dùng R2 buộc ứng dụng đi qua một kết nối có tính phí theo GB. Ba phép tính dưới đây giữ dung lượng kho gần như nhau và thay đổi lượt đọc, lượt ghi cùng nơi nhận dữ liệu để chỉ ra khoản nào thực sự quyết định hóa đơn.
Cơ sở tính: dung lượng, request và nơi dữ liệu đi đến
Mỗi kịch bản giả định lưu trữ bình quân 1.000 đơn vị GB-tháng, gọi tròn là 1 TB, trong một tháng 30 ngày. Hai kho đều dùng lớp Standard; S3 đặt tại US East (N. Virginia), mã vùng us-east-1. Đây là vùng tham chiếu cho phép so giá, không phải khuyến nghị đặt ứng dụng phục vụ người dùng Việt Nam tại Mỹ. Các khoản quy đổi dùng tỷ giá giả định 26.000 VND/USD, không phải tỷ giá thanh toán của nhà cung cấp.
Bảng giá Amazon S3 tách phí lưu trữ, request, truy xuất dữ liệu và truyền dữ liệu; mức áp dụng thay đổi theo lớp lưu trữ và đường đi. Trong lớp Standard dùng ở đây, không có phí truy xuất tính theo GB như một số lớp ít truy cập. Phép tính chỉ cộng PUT, GET và những khoản truyền dữ liệu được nêu rõ; CDN, thuế, dịch vụ tính toán và ưu đãi tài khoản mới nằm ngoài phạm vi.
Phép so giá Standard của DeployHQ ghi mức tham chiếu tại us-east-1 cho S3 là 0,023 USD/GB-tháng, 5 USD mỗi triệu PUT, 0,40 USD mỗi triệu GET và 0,09 USD/GB truyền ra Internet ở bậc đầu; các mức tương ứng của R2 Standard là 0,015 USD/GB-tháng, 4,50 USD mỗi triệu thao tác Class A và 0,36 USD mỗi triệu thao tác Class B. R2 còn có hạn mức miễn phí hằng tháng cho 10 GB-tháng, một triệu Class A và 10 triệu Class B. PUT được tính vào Class A, GET vào Class B; LIST, HEAD hay tải lên nhiều phần có thể làm số thao tác thực tế cao hơn cách đếm giản lược này.
Theo quy tắc truyền dữ liệu của AWS, 100 GB đầu tiên truyền từ các vùng AWS ra Internet mỗi tháng được miễn phí chung trên các dịch vụ và vùng đủ điều kiện, còn luồng trực tiếp giữa S3 và EC2 trong cùng vùng không chịu phí truyền dữ liệu. Kịch bản tải công khai giả định tài khoản chưa dùng phần miễn phí đó ở dịch vụ khác. Nếu phần miễn phí đã bị sử dụng, khoản S3 tính ra sẽ tăng.
Tài sản web tải công khai: egress quyết định

Giả sử kho tệp web có 100.000 PUT, 10 triệu GET và 5.000 GB được tải trực tiếp ra Internet trong tháng. Với 1.000 GB lưu trữ bình quân, đây là tỷ lệ 100 lượt đọc trên một lượt ghi. Không có CDN đứng trước kho trong kịch bản, nên toàn bộ dữ liệu tải về được tính theo đường truyền từ dịch vụ lưu trữ.
- R2: 990 GB-tháng vượt hạn mức miễn phí tạo phí lưu trữ 14,85 USD. PUT và GET đều nằm trong hạn mức thao tác; truy xuất theo GB và egress của Standard bằng 0. Tổng là 14,85 USD, khoảng 386.100 VND.
- S3: lưu trữ 23 USD, PUT 0,50 USD và GET 4 USD. Sau 100 GB truyền ra Internet được miễn phí, 4.900 GB còn lại ở mức giả định 0,09 USD/GB tạo phí 441 USD. Tổng là 468,50 USD, khoảng 12.181.000 VND.
Phần lớn chênh lệch 453,65 USD đến từ dữ liệu rời S3, không phải giá giữ tệp. Kết quả phụ thuộc trực tiếp vào giả định tải thẳng từ kho: nếu một CDN phục vụ nhiều lượt đọc từ bộ nhớ đệm, cả số GET đến kho lẫn số byte rời kho có thể giảm. Khi đó phí CDN và lưu lượng còn đi tới kho phải được đưa vào cùng phép tính.
Ghi nhiều: phí thao tác tăng dù không có egress
Kịch bản thứ hai vẫn giữ 1.000 GB bình quân nhưng tạo 100 triệu PUT, một triệu GET và không truyền dữ liệu ra Internet. Tỷ lệ là một lượt đọc trên 100 lượt ghi. Dung lượng không tăng theo số PUT vì mô hình giả định đối tượng có thể được ghi đè hoặc xóa trong tháng; nó không giả định mọi lượt ghi đều để lại một bản sao tồn tại lâu dài.
- R2: lưu trữ 14,85 USD; 99 triệu PUT vượt hạn mức Class A tạo phí 445,50 USD. Một triệu GET nằm trong hạn mức Class B. Tổng là 460,35 USD, khoảng 11.969.100 VND.
- S3: lưu trữ 23 USD, PUT 500 USD và GET 0,40 USD; không có phí truyền ra Internet hay truy xuất theo GB của Standard. Tổng là 523,40 USD, khoảng 13.608.400 VND.
R2 vẫn thấp hơn 63,05 USD trong phép so riêng hai kho Standard, nhưng Class A chiếm gần hết hóa đơn R2. Vì thế, lợi thế egress không giúp nhiều cho ứng dụng liên tục ghi đối tượng nhỏ. Một lượt tải lên nhiều phần có thể tạo thêm thao tác so với một PUT đơn giản; số request do hệ thống thực sự phát ra mới là đầu vào phù hợp để dự toán.
Ứng dụng trong AWS: đường kết nối có thể đảo chiều

Giả sử ứng dụng EC2 đọc 5.000 GB từ kho trong cùng tháng, với một triệu PUT và 10 triệu GET. Nếu kho là S3 cùng vùng us-east-1 và dữ liệu đi trực tiếp tới EC2, phí lưu trữ là 23 USD, PUT là 5 USD, GET là 4 USD, còn truyền dữ liệu trên luồng đó bằng 0. Tổng S3 là 32 USD, khoảng 832.000 VND. Hóa đơn riêng của R2 là 14,85 USD, khoảng 386.100 VND, vì các thao tác nằm trong hạn mức và R2 không thu egress.
Con số R2 ấy chưa tính mạng phía EC2. Giả sử EC2 ở private subnet và toàn bộ 5.000 GB đọc từ R2 đi qua một NAT gateway: ví dụ giá NAT của AWS tính phí xử lý theo GB đi qua gateway và minh họa mức 0,045 USD/GB tại US East (Ohio), ngoài phí theo giờ. Dùng 0,045 USD/GB làm giả định minh họa cho đường kết nối, riêng 5.000 GB đã cộng 225 USD; tổng R2 cộng khoản xử lý NAT thành 239,85 USD, khoảng 6.236.100 VND, chưa kể phí duy trì gateway. Đây không phải báo giá NAT đã xác nhận cho us-east-1.
Trường hợp này cho thấy cần so tổng đường đi, không chỉ dòng egress trên hóa đơn kho. S3 có thể được EC2 trong private subnet truy cập qua gateway endpoint mà không phải đưa luồng S3 qua NAT; ngược lại, ví dụ R2 trên chỉ áp dụng khi lưu lượng thực sự đi qua NAT gateway. Một ứng dụng dùng đường kết nối khác sẽ có khoản mạng khác và cần phép tính riêng.
Điểm hòa vốn thay đổi theo tỷ lệ đọc và ghi
Trong phạm vi hai lớp Standard và chỉ bốn khoản lưu trữ, PUT, GET, egress, các đơn giá giả định ở trên không tạo ra tỷ lệ đọc/ghi nào khiến S3 rẻ hơn R2. R2 có giá lưu trữ, PUT và GET thấp hơn trong mô hình, lại không thu egress. Điều có thể đảo kết quả là một khoản gắn với kiến trúc ứng dụng, như phí xử lý lưu lượng qua NAT khi EC2 đọc từ kho bên ngoài AWS.
Với cấu hình một triệu PUT và 10 triệu GET, hóa đơn kho chênh 17,15 USD. Nếu mọi GB đọc từ R2 đều đi qua NAT với mức giả định 0,045 USD/GB, phần chênh đó bị xóa ở khoảng 381 GB đọc qua NAT, chưa tính phí theo giờ. Nếu giữ 100 triệu PUT và một triệu GET như kịch bản ghi nhiều, chênh lệch hóa đơn kho là 63,05 USD; ngưỡng tương ứng tăng lên khoảng 1.401 GB. Hai ngưỡng là kết quả số học theo giả định đường mạng, không phải mức giá hòa vốn chung cho mọi vùng hay mọi cách triển khai.
Phép so cũng đổi khi chọn lớp ít truy cập: cả R2 Infrequent Access và các lớp S3 ít truy cập đều có điều kiện tính phí khác Standard, gồm phí truy xuất theo GB hoặc thời gian lưu trữ tối thiểu tùy lớp. Khi dữ liệu hiếm được đọc, giá giữ một GB thấp hơn chỉ có ý nghĩa sau khi tính số GB truy xuất, thời gian giữ đối tượng và các request phát sinh trong cùng kỳ.
Đọc thêm:
Bài viết liên quan


AWS và Azure nối mạng riêng trực tiếp: bản thử nghiệm chỉ mở ở bốn vùng

AWS Well-Architected Agent đọc hạ tầng, nhưng chưa tự sửa thay bạn

AWS SDK cho Java làm ấm client trước request đầu tiên, nhưng có thêm một cuộc gọi mạng

3.700 tác nhân OpenAI biến wiki thành bảng tin: chỉ đọc vẫn có thể ghi

Claude EFS giữ log trong cloud khách hàng, nhưng vẫn quét hành vi rủi ro
Đăng ký bản tin
Nhận tin Web3, AI và tiền mã hóa mới nhất ngay trong hộp thư.