Cloudflare R2 对象存储评测:价格、功能与 B2 · Wasabi 全面对比 2026
目录
Cloudflare R2 是什么?
Cloudflare R2 是 Cloudflare 推出的 S3 兼容对象存储服务,直接对标 AWS S3。其核心差异在于:R2 完全不收取出口流量费(Egress Fee)——无论用户从 bucket 中下载多少数据均不计费。相比之下,AWS S3 在美东区域收取 $0.09/GB 的出口费,Google Cloud Storage 收取 $0.08/GB。
凭借覆盖全球 300 多个城市的 CDN 网络,R2 中存储的数据会自动从离用户最近的边缘节点提供服务,兼顾速度与零带宽成本。
R2 于 2022 年正式发布(GA),目前(2026 年)已被各规模企业和开发者广泛应用于生产环境。数据默认跨多个数据中心自动复制,无需手动配置。
对象存储 vs 块存储 vs 文件存储
- 对象存储(R2、S3、B2)——通过 HTTP API 访问的扁平键值存储,适合静态资产、备份、媒体文件、日志
- 块存储(EBS、DO Volumes)——挂载到虚拟机的原始磁盘,适合数据库和需要低延迟随机 I/O 的应用
- 文件存储(NFS、SMB)——共享文件系统,适合团队协作或依赖挂载驱动器的传统应用
R2 适合以 HTTP 方式访问大量文件的工作负载,不适合需要数据库级 I/O 性能的场景。
Cloudflare R2 最新定价 2026
数据来源:developers.cloudflare.com/r2/pricing,截至 2026 年 9 月。购买前请以官网实时价格为准。
| 计费项目 | 标准存储 | 低频访问存储 |
|---|---|---|
| 存储费用 | $0.015/GB-月 | $0.010/GB-月 |
| 出口流量(Egress) | 免费(不限量) | 免费 + $0.01/GB 检索费 |
| A 类操作(PUT、POST、LIST) | $4.50/百万次 | $9.00/百万次 |
| B 类操作(GET、HEAD) | $0.36/百万次 | $0.90/百万次 |
| 删除 / 中止分片上传 | 免费 | 免费 |
| 最低存储时限 | 无 | 30 天 |
费用估算示例:中型电商网站
假设存储商品图片 200 GB,每月出口流量 1 TB,A 类操作 50 万次,B 类操作 2000 万次:
- 存储费:200 GB × $0.015 = $3.00
- 出口流量(1 TB):$0.00(完全免费)
- A 类操作(50 万次):0.5 × $4.50 = $2.25
- B 类操作(2000 万次):20 × $0.36 = $7.20
- 合计:约 $12.45/月
同等条件下使用 AWS S3 美东区域约需 $107/月(含存储、出口流量和操作费)——R2 在此场景下节省约 88%。
R2 免费套餐详情
每月免费额度(仅适用于标准存储):
- 10 GB 存储/月
- 100 万次 A 类操作/月
- 1000 万次 B 类操作/月
- 出口流量:不限量,完全免费
免费额度适合个人项目、静态网站和概念验证测试。使用 R2 前必须在 Cloudflare 账户绑定信用卡,即使在免费额度内也不例外。超出限额后按用量计费,无月度最低消费要求。
Cloudflare R2 vs Backblaze B2 vs Wasabi 全面对比 2026
价格数据均来自各服务商官网,截至 2026 年 9 月。购买前请以官网实时价格为准。
| 服务商 | 存储(/GB-月) | 出口流量 | API 操作 | 免费额度 |
|---|---|---|---|---|
| Cloudflare R2 | $0.015(标准) $0.010(低频) |
免费(不限量) | $4.50/M(A 类) $0.36/M(B 类) |
10 GB/月 |
| Backblaze B2 | 约 $0.0068 ($6.95/TB) |
存储量 3 倍内免费 经 Cloudflare CDN 完全免费 |
A/B/C 类:免费 D 类:$0.004/万次 |
10 GB 永久免费 |
| Wasabi | 约 $0.0078 ($7.99/TB) |
免费(无出口费) | 免费(无 API 费) | 免费试用(见官网) |
| DigitalOcean Spaces | $5/月含 250 GB (超出 $0.02/GB) |
含 1 TB/月 (超出 $0.01/GB) |
含在套餐内 | 无 |
Backblaze B2 + Cloudflare 带宽联盟
B2 是 Cloudflare 带宽联盟(Bandwidth Alliance)成员,意味着从 B2 到 Cloudflare CDN 的出口流量完全免费。B2 + Cloudflare CDN 的组合极具竞争力——以 B2 较低的存储成本(约 $6.95/TB)配合 Cloudflare 的免费传输。
与 R2 的区别在于:B2 需要额外配置 Cloudflare Worker 或 CDN 拉取区域才能享受免费出口,而 R2 原生集成无需额外配置。
Wasabi:90 天最低存储期限须知
Wasabi 不收出口费和 API 费,听起来极具吸引力,但有一项关键限制:90 天最低存储期限。在 90 天内删除文件,仍会按满 90 天计收存储费。
对于日志文件、临时文件或短期保留的用户上传文件等需要频繁删除的场景,Wasabi 的最低存储期限可能完全抵消其价格优势。使用前请查阅 wasabi.com 的最新条款。
适用场景
1. 静态网站资源
已使用 Cloudflare CDN 的网站可将图片、JS 包、CSS、字体、视频等静态资源迁移至 R2,通过 Cloudflare 边缘节点自动提供服务,无论流量多大均无出口费用。尤其适合图片密集型网站和媒体平台。
2. WordPress 媒体卸载
WP Offload Media 等插件支持 S3 兼容端点。将插件的端点指向 R2 bucket,即可自动将 WordPress 上传的媒体文件存储到 R2,而非主机磁盘,减少磁盘占用并通过 Cloudflare CDN 加速访问。
3. 服务器备份目的地
R2 的 S3 兼容性意味着现有备份脚本(rclone、s3cmd、AWS CLI)无需修改即可使用——只需更改端点 URL 和凭据,备份数据即可流入 R2,恢复时也无出口费用。
4. Cloudflare Workers 原生存储
R2 提供 Cloudflare Workers 原生绑定,边缘函数可直接读写 bucket 内容,无需额外 HTTP 请求,延迟极低。适合动态图片缩放、带鉴权的私有文件服务以及用户生成内容存储等场景。
5. 日志归档与数据存储
R2 低频访问存储($0.010/GB/月)适合需要长期保留但访问频率低的应用日志、审计记录和原始分析数据。与真正的冷存储不同,低频访问文件可即时访问,无需等待数小时恢复。
6. 数据库备份
将自动化数据库转储(MySQL、PostgreSQL、MongoDB)存储在 R2,恢复时无出口费——而在 S3 上下载大型备份可能产生高额出口费用。
快速上手 Cloudflare R2
第一步:创建 Bucket
登录 Cloudflare 控制台 → 选择账户 → 左侧菜单点击 R2 Object Storage → 点击 Create bucket → 输入 bucket 名称(小写字母、数字、连字符)→ 选择位置提示(新手选 Automatic 即可)→ 创建。
第二步:生成 API Token
控制台 → Manage Account → API Tokens → Create Token → 选择 "R2 Token" 模板 → 设置权限:
- Account: R2 Storage — Read(读取权限)
- Account: R2 Storage — Edit(写入和删除权限)
保存 Access Key ID 和 Secret Access Key(只显示一次)。
第三步:使用 Python boto3 连接
import boto3
s3 = boto3.client(
's3',
endpoint_url='https://ACCOUNT_ID.r2.cloudflarestorage.com',
aws_access_key_id='ACCESS_KEY_ID',
aws_secret_access_key='SECRET_ACCESS_KEY',
region_name='auto'
)
# 上传文件
s3.upload_file('photo.jpg', 'my-bucket', 'images/photo.jpg')
# 列出 bucket 内容
response = s3.list_objects_v2(Bucket='my-bucket')
for obj in response.get('Contents', []):
print(obj['Key'], obj['Size'])
第四步:启用公共访问
对于需要公开访问的文件:Bucket 设置 → 启用 Allow public access → 获得形如 https://pub-XXXX.r2.dev/images/photo.jpg 的 URL。
如需自定义域名:Bucket 设置 → Custom Domains → 添加域名,若域名托管在 Cloudflare,CNAME 记录将自动配置。
rclone 配置 Cloudflare R2
rclone 是最流行的云存储同步工具,通过 S3 兼容后端原生支持 R2:
[r2]
type = s3
provider = Cloudflare
access_key_id = ACCESS_KEY_ID
secret_access_key = SECRET_ACCESS_KEY
endpoint = https://ACCOUNT_ID.r2.cloudflarestorage.com
acl = private
保存到 ~/.config/rclone/rclone.conf,然后使用标准命令:
# 同步本地目录到 R2
rclone sync /var/backups/ r2:my-bucket/backups/ --progress
# 列出 bucket 内容
rclone ls r2:my-bucket
# 每晚自动备份(cron)
0 2 * * * /usr/bin/rclone sync /var/backups/ r2:my-bucket/daily/ --log-file /var/log/rclone.log
优缺点分析
优势
- 零出口流量费——对比 S3、GCS、Azure Blob 的最大成本优势
- S3 兼容 API——只需更改一个 endpoint URL,所有现有 SDK 和工具立即可用
- Cloudflare 生态原生集成——Workers、Pages、Cache 的原生绑定
- 全球 CDN 内置——自动从 300 多个边缘节点提供内容
- 10 GB 免费额度/月——真实可用,适合小型项目
- 按需计费——无最低消费,无需预订容量
- 自动跨 DC 复制——高耐久性,由 Cloudflare 托管管理
劣势
- 存储价格高于 B2/Wasabi——$0.015/GB 对比约 $0.007/GB;低流量、高存储量场景可能更贵
- A 类操作成本较高——$4.50/百万次,写入密集型工作负载需注意
- 绑定 Cloudflare 生态——必须拥有 Cloudflare 账户并绑定信用卡
- 无客户管理加密密钥——加密由 Cloudflare 管理,无 AWS KMS 级别控制
- 无明确 SLA 发布——不同于 S3 的 11 个 9 耐久性保证
- 低频存储 30 天最低期限——使用前需仔细计算成本
如何选择对象存储?
| 使用场景 | 最佳选择 | 理由 |
|---|---|---|
| 高流量网站 + Cloudflare CDN | R2 | 零出口费,总成本最低 |
| 大容量冷备份,访问频率低 | B2 | 存储最便宜,约 $6.95/TB |
| 对象存储 + 无出口费,不用 Cloudflare | Wasabi | 无出口/API 费(注意 90 天最低存储) |
| 简单固定费率方案 | DO Spaces | $5/月含 250 GB + 1 TB 流量,开箱即用 |
| 开发者测试 / 小型项目 | R2 免费 | 10 GB 免费 + 无限出口流量 |
需要开箱即用的对象存储方案?DigitalOcean Spaces 起价 $5/月,含 250 GB 存储 + 1 TB 出口流量。
查看 DigitalOcean Spaces常见问题 FAQ
相关推荐阅读
价格数据截至 2026 年 9 月——决策前请直接在服务商官网核实最新价格。