Nếu doanh nghiệp từng vận hành ứng dụng lưu trữ và phân phối dữ liệu trên các dịch vụ cloud truyền thống, chi phí data transfer ra ngoài có thể trở thành một phần đáng kể trong hóa đơn khi lưu lượng truy cập tăng. Đây cũng là một trong những bài toán mà Cloudflare R2 hướng tới giải quyết: cung cấp object storage cho dữ liệu phi cấu trúc mà không tính phí egress bandwidth khi dữ liệu được đưa ra Internet.
Cloudflare R2 vẫn tính phí dựa trên dung lượng lưu trữ và các loại operations, đồng thời Infrequent Access có thêm retrieval fee, nhưng egress bandwidth không bị tính phí ở cả Standard và Infrequent Access.
Vậy Cloudflare R2 là gì, hoạt động như thế nào, khác biệt ra sao so với các dịch vụ object storage truyền thống như Amazon S3, và trong trường hợp nào doanh nghiệp nên cân nhắc đưa R2 vào kiến trúc lưu trữ? Bài viết này sẽ lần lượt làm rõ các khía cạnh đó.
1. Cloudflare R2 là gì?

Cloudflare R2 là dịch vụ object storage (lưu trữ đối tượng) cho phép các nhà phát triển lưu trữ khối lượng lớn dữ liệu phi cấu trúc mà không phải trả phí egress bandwidth thường gặp ở các dịch vụ cloud storage truyền thống. R2 được xây dựng trên mạng lưới toàn cầu của Cloudflare, tương thích với S3 API và phù hợp với các loại dữ liệu như web assets, media, user-generated content, dataset hoặc dữ liệu phục vụ các ứng dụng cloud-native.
Nói một cách đơn giản, bạn có thể lưu trữ hình ảnh, video, tài liệu, bản backup hoặc dataset trên R2 và phân phối dữ liệu ra Internet mà Cloudflare không tính phí egress bandwidth. Tuy nhiên, điều này không có nghĩa mọi hoạt động trên R2 đều miễn phí: chi phí vẫn có thể phát sinh dựa trên dung lượng lưu trữ và các Class A/Class B operations; với Infrequent Access còn có thêm phí data retrieval.
1.1 Các trường hợp sử dụng phổ biến
R2 phù hợp với nhiều trường hợp sử dụng khác nhau, bao gồm:
- Lưu trữ cho ứng dụng cloud-native cần object storage có khả năng mở rộng mà không phải tự vận hành hạ tầng lưu trữ.
- Lưu trữ nội dung web như hình ảnh, tài liệu, file tĩnh hoặc các tài nguyên phục vụ website và ứng dụng.
- Lưu trữ podcast và các file media có dung lượng lớn, đặc biệt trong những trường hợp nội dung được truy cập hoặc phân phối thường xuyên.
- Xây dựng data lake và các workflow phân tích dữ liệu; khi kết hợp với R2 Data Catalog, dữ liệu trong R2 có thể được quản lý theo mô hình tương thích Apache Iceberg và sử dụng trong các workflow lakehouse hoặc truy vấn bằng những công cụ được hỗ trợ.
- Lưu trữ output từ các batch process, chẳng hạn dataset hoặc machine learning model artifacts, phù hợp với những workload cần lưu trữ và truy xuất lượng dữ liệu lớn.
1.2 Các tính năng nổi bật của R2
Bên cạnh việc không tính phí egress bandwidth — một trong những điểm khác biệt đáng chú ý của R2 — R2 còn cung cấp một số tính năng giúp việc quản lý và truy cập dữ liệu linh hoạt hơn:
- Location Hints – tham số tùy chọn khi tạo bucket, cho phép bạn chỉ định khu vực địa lý chính mà dữ liệu dự kiến sẽ được truy cập từ đó. Cloudflare sử dụng thông tin này theo cơ chế best effort để đặt dữ liệu gần người dùng hơn và tối ưu hiệu năng; Location Hints không đảm bảo dữ liệu sẽ được lưu tại vị trí được chỉ định.
- CORS – cho phép cấu hình chính sách Cross-Origin Resource Sharing để ứng dụng web từ các origin khác có thể tương tác với object trong bucket theo các quy tắc được thiết lập.
- Public buckets – cho phép đưa nội dung trong R2 bucket trực tiếp ra Internet khi cần.
- Bucket-scoped tokens – cho phép tạo token giới hạn phạm vi truy cập theo bucket, giúp kiểm soát chi tiết hơn những tài nguyên mà token có thể truy cập.
R2 cũng có thể kết hợp với nhiều sản phẩm khác trong hệ sinh thái Cloudflare:
- Workers – môi trường thực thi serverless cho phép xây dựng ứng dụng mới hoặc mở rộng ứng dụng hiện có mà không cần cấu hình hay duy trì hạ tầng máy chủ.
- R2 Data Catalog – data catalog được quản lý dựa trên Apache Iceberg và tích hợp trực tiếp vào R2 bucket, cho phép biến bucket thành data warehouse hoặc lakehouse có thể được truy vấn bằng các engine như Spark, Snowflake và R2 SQL.
- Stream – cho phép upload, lưu trữ, encode và phân phối video live hoặc on-demand thông qua một API mà không cần tự cấu hình hay duy trì hạ tầng video.
- Images – bộ sản phẩm của Cloudflare phục vụ các nhu cầu xử lý và phân phối hình ảnh.
2. Cách bắt đầu sử dụng Cloudflare R2 Storage
Để bắt đầu sử dụng R2, bạn cần có tài khoản Cloudflare và đăng ký R2. Trong Cloudflare Dashboard, truy cập Storage & databases > R2 > Overview và hoàn tất quy trình đăng ký R2 cho tài khoản.
Cloudflare cung cấp mức sử dụng miễn phí hàng tháng để người dùng bắt đầu với R2. Với Standard storage, Free Tier hiện bao gồm 10 GB-month dung lượng lưu trữ, 1 triệu Class A operations và 10 triệu Class B operations mỗi tháng. Egress bandwidth khi dữ liệu được truyền trực tiếp từ R2 ra Internet không bị tính phí. Free Tier này chỉ áp dụng cho Standard storage, không áp dụng cho Infrequent Access.
Sau khi có bucket, bạn có thể truy cập và thao tác với R2 theo bốn cách, tùy vào nhu cầu và bối cảnh kỹ thuật của dự án:
Phương thức | Phù hợp khi |
Workers API | Ứng dụng được xây dựng trên Cloudflare Workers và cần đọc hoặc ghi dữ liệu trực tiếp từ R2 |
S3-compatible API/SDKs | Muốn sử dụng các SDK tương thích S3 để tương tác với R2 trong ứng dụng hiện có |
CLI tools | Cần upload, download hoặc quản lý object trực tiếp từ terminal |
Dashboard | Muốn nhanh chóng xem và quản lý bucket hoặc object thông qua giao diện trình duyệt |
Tùy theo nhu cầu sử dụng, developer có thể lựa chọn phương thức truy cập R2 phù hợp với kiến trúc và workflow của ứng dụng.
Một điểm đáng chú ý là khả năng tương thích với S3. Với những ứng dụng đang sử dụng các S3-compatible SDK, R2 cung cấp S3 API để developer có thể tích hợp R2 vào workflow hiện có. Tuy nhiên, trước khi chuyển một ứng dụng đang sử dụng Amazon S3 sang R2, developer vẫn nên kiểm tra mức độ tương thích của những S3 API operations mà hệ thống đang sử dụng.
3. Cloudflare R2 Storage vs S3: So sánh chi tiết
Cloudflare R2 và Amazon S3 đều là các dịch vụ object storage được thiết kế để lưu trữ lượng lớn dữ liệu phi cấu trúc. Tuy nhiên, hai nền tảng có những khác biệt đáng chú ý về mô hình chi phí, khả năng tương thích, hệ sinh thái tích hợp và cách doanh nghiệp triển khai workload.
Điểm khác biệt nổi bật của R2 là không tính phí egress bandwidth, trong khi Amazon S3 áp dụng cơ chế data transfer pricing tùy theo destination và cách dữ liệu được truyền. Ngược lại, S3 có lợi thế về hệ sinh thái AWS rộng và nhiều storage class phục vụ các access pattern khác nhau.
Tham khảo R2 Pricing Calculator
Tiêu chí | Cloudflare R2 | Amazon S3 |
Loại dịch vụ | Object storage | Object storage |
Egress bandwidth | Không tính phí egress | Có thể phát sinh phí data transfer tùy destination và cách sử dụng |
API | S3-compatible API, Workers API | Amazon S3 API |
Storage class | Standard, Infrequent Access | Nhiều storage class cho các access pattern khác nhau |
Hệ sinh thái | Tích hợp với Workers và các dịch vụ Cloudflare | Tích hợp sâu với hệ sinh thái AWS |
Migration | Sippy, Super Slurper và S3-compatible tooling | Có các công cụ migration trong hệ sinh thái AWS |
Phù hợp khi | Muốn giảm tác động của egress, sử dụng Cloudflare Developer Platform hoặc cần S3-compatible storage | Workload phụ thuộc sâu vào AWS hoặc cần các capability đặc thù của S3 |
3.1 Phí egress: khác biệt đáng chú ý giữa R2 và S3
Một trong những điểm khác biệt quan trọng nhất của Cloudflare R2 là mô hình không tính phí egress bandwidth. Khi dữ liệu được đưa trực tiếp từ R2 ra Internet, Cloudflare không tính thêm phí dựa trên lượng bandwidth egress.
Tuy nhiên, zero egress không có nghĩa toàn bộ hoạt động trên R2 đều miễn phí. Chi phí R2 vẫn phụ thuộc vào dung lượng lưu trữ và số lượng Class A, Class B operations. Với Infrequent Access, Cloudflare còn áp dụng data retrieval fee và minimum storage duration.
Amazon S3 có mô hình data transfer pricing khác. Chi phí phụ thuộc vào destination, loại traffic và các dịch vụ AWS liên quan. Vì vậy, khi so sánh tổng chi phí giữa R2 và S3, doanh nghiệp không nên chỉ nhìn vào giá lưu trữ trên mỗi GB mà còn cần đánh giá lượng dữ liệu được truy cập và truyền ra ngoài.
Với những workload có lượng dữ liệu được phân phối thường xuyên như media, web assets hoặc các file được tải xuống nhiều lần, mô hình không tính phí egress của R2 có thể trở thành một yếu tố đáng cân nhắc khi đánh giá tổng chi phí lưu trữ.
3.2 Chi phí lưu trữ và Storage Classes
Cloudflare R2 hiện cung cấp hai storage class chính là Standard và Infrequent Access. Standard phù hợp với dữ liệu được truy cập thường xuyên, trong khi Infrequent Access hướng đến dữ liệu ít được truy cập và có mức giá lưu trữ thấp hơn nhưng đi kèm retrieval fee.
Storage Class | Phù hợp với | Retrieval fee | Minimum storage duration |
Standard | Dữ liệu được truy cập thường xuyên | Không | Không |
Infrequent Access | Dữ liệu ít được truy cập | Có | 30 ngày |
R2 Standard hiện có mức giá lưu trữ 0,015 USD/GB-tháng, trong khi Infrequent Access là 0,01 USD/GB-tháng. Standard cũng có Free Tier hàng tháng gồm 10 GB-month storage, 1 triệu Class A operations và 10 triệu Class B operations. Free Tier không áp dụng cho Infrequent Access.
Amazon S3 cung cấp nhiều storage class hơn để phục vụ các access pattern khác nhau. Vì vậy, thay vì chỉ so sánh giá storage/GB giữa hai nền tảng, doanh nghiệp nên xác định dữ liệu được truy cập với tần suất như thế nào, thời gian lưu trữ bao lâu và lượng data transfer dự kiến trước khi đánh giá chi phí.
3.3 Khả năng tương thích S3 và hệ sinh thái
Một lợi thế đáng chú ý của R2 là S3-compatible API. Developer có thể sử dụng nhiều SDK và công cụ được xây dựng cho S3 để tương tác với R2 bằng cách cấu hình endpoint và credentials phù hợp. Điều này giúp các ứng dụng đang sử dụng S3-compatible tooling có thêm lựa chọn khi tích hợp R2.
Tuy nhiên, S3 compatibility không có nghĩa R2 hỗ trợ toàn bộ API và feature của Amazon S3. Cloudflare duy trì tài liệu riêng về S3 API compatibility, trong đó chỉ rõ những operations và functionality đã được hỗ trợ hoặc chưa được triển khai. Vì vậy, trước khi migration, developer nên kiểm tra các API dependency mà ứng dụng hiện tại đang sử dụng.
Amazon S3 có lợi thế khi workload đã phụ thuộc sâu vào hệ sinh thái AWS. Ngược lại, R2 phù hợp hơn để cân nhắc khi ứng dụng đang sử dụng Cloudflare Developer Platform hoặc muốn kết hợp object storage với Workers và các dịch vụ Cloudflare khác.
3.4 Tích hợp với hệ sinh thái Cloudflare

R2 có thể được kết hợp trực tiếp với Cloudflare Workers. Thông qua R2 bindings và Workers API, application có thể đọc, ghi và quản lý object từ Workers mà không cần xây dựng một lớp server lưu trữ riêng.
Ngoài Workers, R2 còn có thể kết hợp với các dịch vụ như R2 Data Catalog, Stream và Images tùy theo workload. Điều này cho phép doanh nghiệp xây dựng kiến trúc kết hợp compute, object storage, data và media trong hệ sinh thái Cloudflare.
Điểm cần lưu ý là việc R2 hoạt động trên hạ tầng Cloudflare không đồng nghĩa mọi object tự động được cache hoặc phân phối như một CDN. Cách public và phân phối object vẫn cần được thiết kế phù hợp với kiến trúc của ứng dụng.
Tìm hiểu thêm: Hệ sinh thái Cloudflare Developer Platform
3.5 Migration từ Amazon S3 sang R2
Đối với những hệ thống muốn chuyển dữ liệu từ S3-compatible storage sang R2, Cloudflare cung cấp nhiều phương thức migration thay vì yêu cầu chuyển toàn bộ dữ liệu theo một cách duy nhất.
Super Slurper được thiết kế để copy lượng lớn dữ liệu từ các provider tương thích sang R2. Trong khi đó, Sippy hỗ trợ incremental migration: khi application request một object chưa tồn tại trong R2, object có thể được lấy từ source bucket và đồng thời copy sang R2.
Cloudflare cũng hướng dẫn chiến lược kết hợp Sippy và Super Slurper, giúp application có thể bắt đầu sử dụng R2 trong khi phần dữ liệu còn lại tiếp tục được migration.
4. Khi nào nên cân nhắc R2 hoặc S3?
Tình huống | Nền tảng nên cân nhắc |
Egress chiếm tỷ trọng đáng kể trong chi phí lưu trữ | Cloudflare R2 |
Dữ liệu được tải xuống hoặc phân phối thường xuyên | Cloudflare R2 |
Ứng dụng đang sử dụng Workers hoặc Cloudflare Developer Platform | Cloudflare R2 |
Cần S3-compatible object storage và muốn đánh giá mô hình chi phí không tính egress | Cloudflare R2 |
Workload phụ thuộc sâu vào các dịch vụ hoặc capability đặc thù của AWS | Amazon S3 |
Cần nhiều storage class chuyên biệt cho các access pattern khác nhau | Amazon S3 |
Muốn chuyển khỏi S3 nhưng chưa phù hợp để migration toàn bộ cùng lúc | Có thể đánh giá Sippy, Super Slurper hoặc migration theo từng giai đoạn |
Nhìn chung, R2 không nên được xem đơn giản là phiên bản “rẻ hơn của S3”. Việc lựa chọn giữa hai nền tảng cần dựa trên access pattern, lượng egress, storage class, API dependency và hệ sinh thái mà ứng dụng đang sử dụng. Với workload có lượng dữ liệu được đọc và phân phối lớn, mô hình không tính phí egress của R2 có thể tạo ra khác biệt đáng kể; trong khi S3 vẫn có lợi thế với những hệ thống đã tích hợp sâu vào hệ sinh thái AWS.
5. Quy trình di chuyển từ S3 sang R2
Cloudflare cung cấp nhiều phương thức để di chuyển dữ liệu từ Amazon S3 và các dịch vụ object storage tương thích sang R2. Tùy vào khối lượng dữ liệu, cách ứng dụng truy cập object và yêu cầu chuyển đổi, doanh nghiệp có thể sử dụng Super Slurper, Sippy hoặc kết hợp cả hai trong quá trình migration.
Bước 1: Đánh giá dữ liệu và workload hiện tại
Trước khi migration, cần xác định source bucket, lượng dữ liệu cần chuyển và cách application hiện tại đang truy cập object. Đồng thời, nếu ứng dụng sử dụng Amazon S3 API, developer nên kiểm tra các operations và functionality mà R2 hỗ trợ để đảm bảo khả năng tương thích trước khi chuyển workload.
Bước 2: Tạo R2 bucket và cấu hình quyền truy cập
Tạo bucket đích trên Cloudflare R2 và chuẩn bị credentials cần thiết cho quá trình migration. Nếu application sẽ sử dụng S3-compatible API sau khi chuyển đổi, cần cấu hình endpoint và credentials tương ứng của R2.
Bước 3: Lựa chọn phương thức migration
Cloudflare cung cấp hai công cụ đáng chú ý:
- Super Slurper phù hợp khi cần copy một lượng lớn object từ source bucket sang R2. Công cụ này hỗ trợ migration dữ liệu từ Amazon S3, Google Cloud Storage, S3-compatible storage và một số nguồn được Cloudflare hỗ trợ.
- Sippy thực hiện migration theo nhu cầu. Khi application request một object chưa có trong R2, R2 có thể lấy object từ source bucket, trả object cho request và đồng thời lưu object đó vào R2.
Bước 4: Bắt đầu chuyển application sang R2
Với Sippy, application có thể bắt đầu gửi request tới R2 trước khi toàn bộ dữ liệu được copy. Những object chưa tồn tại trong R2 sẽ được lấy từ source bucket khi được truy cập và sau đó được lưu lại trong R2.
Cách tiếp cận này giúp quá trình migration diễn ra dần theo access pattern của application thay vì yêu cầu toàn bộ dataset phải được chuyển trước khi R2 bắt đầu phục vụ traffic.
Bước 5: Di chuyển phần dữ liệu còn lại
Cloudflare đề xuất có thể kết hợp Sippy với Super Slurper. Sau khi Sippy được thiết lập để xử lý những object được application truy cập, Super Slurper có thể được sử dụng để copy phần dữ liệu còn lại từ source bucket sang R2.
Bước 6: Hoàn tất migration
Sau khi dữ liệu cần thiết đã được chuyển sang R2 và application hoạt động với R2 theo kiến trúc mong muốn, doanh nghiệp có thể hoàn tất quá trình chuyển đổi và đánh giá việc ngừng sử dụng source bucket cũ theo yêu cầu của hệ thống.
6. Kết luận
Cloudflare R2 mang đến một cách tiếp cận khác cho bài toán object storage, đặc biệt với những workload có lượng dữ liệu được truy cập và phân phối thường xuyên. Việc không tính phí egress bandwidth giúp doanh nghiệp giảm một thành phần chi phí đáng kể, trong khi S3-compatible API tạo điều kiện để R2 được tích hợp vào các ứng dụng và workflow đang sử dụng công cụ tương thích S3.
Bên cạnh object storage, R2 còn có thể kết hợp với Workers, R2 Data Catalog và các dịch vụ khác trong hệ sinh thái Cloudflare. Với những hệ thống đang sử dụng Amazon S3 hoặc S3-compatible storage, các công cụ như Sippy và Super Slurper cũng cung cấp nhiều phương án để doanh nghiệp từng bước đưa dữ liệu sang R2 thay vì phải chuyển toàn bộ workload cùng một lúc.
Tuy nhiên, lựa chọn R2 hay tiếp tục sử dụng S3 cần dựa trên access pattern, lượng egress, API dependency, storage class và kiến trúc tổng thể của ứng dụng. Doanh nghiệp nên đánh giá cả chi phí lẫn yêu cầu kỹ thuật trước khi quyết định thay đổi hạ tầng lưu trữ.
Là Cloudflare Partner, LionTech đồng hành cùng doanh nghiệp trong quá trình đánh giá, tư vấn và triển khai Cloudflare R2 cũng như các giải pháp trong hệ sinh thái Cloudflare. Từ lựa chọn kiến trúc lưu trữ, tích hợp R2 với Workers đến xây dựng phương án migration từ S3 sang R2, LionTech hỗ trợ doanh nghiệp triển khai giải pháp phù hợp với workload thực tế, đồng thời tối ưu chi phí và khả năng vận hành lâu dài. Liên hệ LionTech để được tư vấn giải pháp Cloudflare phù hợp với hệ thống của doanh nghiệp.
Nguồn tham khảo:
Nguồn Cloudflare






