---
---
Amazon S3 + CloudFront vs Cloudflare R2 Comparison
Presigned URLs Comparison
Feature |
Amazon S3 + CloudFront |
Cloudflare R2 |
Presigned URL Support |
✅ Yes (S3 presigned URLs) |
✅ Yes (S3-compatible) |
Custom Expiry Time |
✅ Yes |
✅ Yes |
CloudFront Signed URLs |
✅ Yes (separate from S3) |
❌ No |
Authentication Method |
AWS Signature v4 |
S3-compatible signature |
Caching Comparison
Feature |
Amazon S3 + CloudFront |
Cloudflare R2 |
Default Caching |
❌ Only via CloudFront |
✅ Built-in |
CDN Integration |
✅ CloudFront |
✅ Cloudflare CDN |
Cache Control Headers |
✅ Supported |
✅ Supported |
Edge Caching |
✅ CloudFront Edge Locations |
✅ Cloudflare Global Network |
Cache Purging |
✅ $0.005 per path |
✅ Free |
Cache TTL Customization |
✅ Configurable |
✅ Via Cache-Control |
Pricing Comparison
Cost Factor |
Amazon S3 + CloudFront |
Cloudflare R2 |
Storage Cost |
$0.023-$0.025/GB/month |
$0.015/GB/month |
Egress Costs |
$0.085-$0.09/GB |
FREE |
PUT/POST Requests |
$0.005/1,000 requests |
$0.36/1M requests |
GET Requests |
$0.0004/1,000 requests |
$0.15/1M requests |
CDN Costs |
$0.085/GB + additional fees |
Built-in (Free) |
Cache Purging |
$0.005 per path |
Free |
Cost Scenarios
1TB Storage + 500GB Downloads
Scenario 1: Small Business (1TB Storage + 500GB Downloads)
Service |
Storage Cost |
Egress Cost |
Request Costs* |
Total Monthly |
S3 + CloudFront |
$23 |
$42.50 |
~$5 |
~$70.50 |
Cloudflare R2 |
$15 |
$0 |
~$1 |
~$16 |
Scenario 2: Enterprise (10TB Storage + 50TB Downloads)
Service |
Storage Cost |
Egress Cost |
Request Costs* |
Total Monthly |
S3 + CloudFront |
$250 |
$4,250 |
~$50 |
~$4,550 |
Cloudflare R2 |
$150 |
$0 |
~$10 |
~$160 |
How to use R2 Cloudflare
Cloudflare R2 is fully S3 API-compatible, we can change the S3 endpoint and credential to use Cloudflare R2 API
Sample: https://ruanmartinelli.com/blog/cloudflare-r2-pre-signed-urls/