Is Cloudflare R2 actually distributing objects?

Last year I made a post on this forum displaying that R2 does in fact NOT distribute to multiple regions, at that time the product was still in beta.

Now the product is not in Beta & is being billed/sold as workable.

But I haven’t seen any difference in the distribution or speeds. Use a VPN to USA, files uploaded & delivered from USA, use a VPN to Europe, files uploaded and distributed from EU, use a VPN in Asia, files are uploaded & distributed from Singapore.

Then remove the VPN & all these locations then continue to deliver from the same regions they were first placed in.

Can someone with knowledge, update on why the ‘Globally distributed’ part is actually not true? If it is, what am I missing? I don’t seem to be seeing this in any testing.

Here is a test from today using the same file in 3 locational buckets, EUR, USA, SIN

Pay attention to the latency and download times, they’re quite erratic still and they’re definitely NOT ‘globally distributed’. Maybe because it’s GA?




I had to make 3 seperate posts for the posts as only one image is allowed per post. When testing in real time there is a much, much more noticeable difference, such as testing a video file or large distributable as those have longer latency times to start.

Is all this testing for the first request? How do subsequent requests look like?

Cloudflare hasn’t publicly or officially announced any changes to Cloudflare R2 geographical distribution. So I assume it’s still the same - that is the location of the R2 bucket is whichever geographical location you created it from i.e. non CF dashboard created buckets i.e. using S3 client to create a R2 bucket on a server located in a specific geographical region.

These are all subsequent requests, if you run the test again and again, you’ll find the latency is always lowest at the point where the files were upload, aka, not distributed.

I assume, the geographic distribution is not yet a feature, geographic in terms of that there are 3-4 server locations, but not geographic replication, which is what Cloudflare advertises.

Our vision for R2 includes multi-region storage that automatically replicates objects to the locations they’re frequently requested from.

R2 is designed with redundancy across a large number of regions for reliability. We plan on starting from automatic global distribution and adding back region-specific controls for when data has to be stored locally

Our vision for R2 includes automatically globally distributed storage, where R2 seamlessly places each object into the storage region closest to where the request comes from.

I assume the videion has not been a reality yet, and it’s more like a normal storage solution, just more expensive than those solutions, such as say 3x the price of Wasabi, B2 & a few others.

Be nice to see Cloudflare actually do what they say their marketing does.

The main attraction of R2 is the lack of egress costs, so when you factor that in R2 is actually less expensive.

But yes, that marketing is somewhat confusing.

Yeah no egress is surely a good thing, but it’s quite useless without a CDN for global delivery, of which you would use Cloudflare CDN, which isn’t free & has a pretty locked down TOS.

Considering egress from Wasabi is free to a CDN, or S3 is egress free to Cloudfront. B2 is free to alliance member CDN’s or Bunny, DO free to DO CDN, Linode will be free to Akamai etc.

The main attraction is global distribution (main hubs) + free egress in my mind, without that, delivering files from the USA directly is probably much cheaper in a different object store + a CDN that has a partnership.

The vision was global replication from main hubs at $0.015/GB egress free, without that, it’s just an object store like any other.

You don’t need a paid plan to use CDN :thinking:

R2 ToS is very open. Unless you intend to host illegal stuff, I wouldn’t exactly worry.

1 Like

Wasn’t talking about R2 TOS, was talking about Cloudflare CDN cache which definitely is not an open ToS unless on enterprise plan & you’ll very likely have your account banned for not reading that clearly, one look online will suffice that point.

Moving back to the original & actual point, the object store is not globally distributed, or globally replicated. R2 is just steering to regional locations & delivering from that same region, according to both the docs, Twitter & their blog posts.

If it’s backed by R2 this is not true. You can host videos and whatever on R2 and cache it, it’s acceptable. Again, the R2 ToS is very open.

(also, we do not ban accounts for that. Your video would instead be killed from being served until you addressed it. Let’s not spread misinformation here. Obviously repeated offenses may but that’s up to the T&S team - I am not on that team, I do not handle that nor do I have insight into it).


Are you a Cloudflare employee?


Here’s some further confirmation on the topic:

Awesome, maybe you can provide some insight into R2’s timeline for distributing objects globally as is in the developer docs. :hugs:

Not on the R2 team, cannot comment on their timeline. I’d suggest the #r2-storage channel in Discord, the team is active there.

1 Like

Great will do.

Where do I find the TOS to confirm this? I don’t see on the TOS page that hosting video is free or available to use in conjunction with the paid plans, when using R2 + the CDN.