Cloudflare R2 免费额度全拆解:10GB 存储 + 零出站流量,但"免费"是有边界的

壹贰线报 · 一篇文章说清 R2 免费额度、计费口径、托管能力边界和 5 条最容易踩的规则。


导语

这是这批线报里少见的"几乎全对"的一篇。每月 10GB 存储、100 万次 Class A 操作、1000 万次 Class B 操作、零出站费用、S3 兼容 API——这几条和 Cloudflare 官方定价页完全一致,不需要更正。

所以这篇不做纠错,重点是补全资料里没写、但真正决定"能不能用起来、会不会被扣费"的那些规则:免费额度只给标准存储、是按账号共享的、计费单位向上取整、激活必须先绑支付方式、r2.dev 域名不能上生产。

最后再说清楚一件事:R2 能"托管"什么、不能"托管"什么——它和 Cloudflare Pages 是两回事,很多人第一次就会搞混。


一、核心数字速览

计费项

免费额度

超出后单价

标准存储(Standard)

10 GB-month / 月

$0.015 / GB-月

Class A 操作(写入 / 列表)

100 万次 / 月

$4.50 / 百万次

Class B 操作(读取)

1000 万次 / 月

$0.36 / 百万次

出网流量(Egress)

免费

免费(任何存储类都不收)

另一档「低频访问存储(Infrequent Access)」的单价:

计费项

单价

说明

低频访问存储

$0.01 / GB-月

存储更便宜

低频访问 Class A

$9.00 / 百万次

比标准档贵一倍

低频访问 Class B

$0.90 / 百万次

比标准档贵 1.5 倍

低频访问数据检索

$0.01 / GB

标准档没有这项


二、你给的资料:这几条都对,需要补的是边界

你给的描述

官方现行规则

判定

每月 10 GB 存储免费

标准存储 10 GB-month / 月,账号级共享,且只适用标准存储

✅ 准确,但适用范围要说清

每月 100 万次 Class A(写入 / 列表)

标准 A 类操作 100 万次 / 月

✅ 准确

每月 1000 万次 Class B(读取)

标准 B 类操作 1000 万次 / 月

✅ 准确

零出站费用(无下载带宽费)

任何存储类的出网流量均免费

✅ 准确,这是 R2 的核心卖点

S3 兼容 API

兼容 AWS S3 API,可用 aws-cli / rclone / 各语言 S3 SDK

✅ 准确

与 R2 公共存储桶绑定直接托管

支持公开桶 + 自定义域名做资源分发,但 r2.dev 子域名仅限测试,且 R2 不是静态站点托管服务

⚠️ 要补边界


三、免费额度逐项拆解

1. 标准存储:10 GB-month / 月

"GB-month"不是"月底看剩多少",而是把计费周期内每天的峰值存储量取平均。官方给的算法例子是:前 5 天存 1GB、后 25 天存 3GB,就是 1×5/30 + 3×25/30 ≈ 2.66 GB-month。

所以临时传一批大文件、隔天删掉,也不会按"最大值"扣你一整个月的量,按时间加权平均就好。

2. Class A 100 万次 / Class B 1000 万次

官方定义很清楚:

  • Class A 操作:更贵、倾向改变状态——上传(PUT)、复制、列出对象等;

  • Class B 操作:倾向读取——下载(GET)、读取头信息等。

对图床、博客、文档站这类"读多写少"的场景,主要消耗的是 Class B 那 1000 万次,个人站基本用不完;真正要留意的是批量上传、批量列举、以及有程序反复扫桶的情况。

3. 出网流量:永久免费

这是 R2 敢和 AWS S3 正面比价的底气。官方表述是"从 R2 访问数据无需支付出口费用"。对图片站、视频站、大文件分发站来说,这一条几乎直接决定了整套方案的成本结构——流量涨了不会立刻变成账单。

4. 但免费额度只给"标准存储"

官方文档有一句明确警告:免费额度仅适用于标准存储,不适用于低频访问存储。

低频访问档存储单价更低($0.01/GB-月),但它有数据检索费 $0.01/GB,还要求数据最短存储 30 天。图片、网页资源这种天天被读的东西,老老实实用标准档,别为了省存储费反而多出检索费。

5. 免费额度是"账号级"的,不是每个桶一份

这 10GB 和这些操作次数,是整个 Cloudflare 账号下所有存储桶合计的额度。也就是说,多开几个桶,并不能让免费额度翻倍——这一点在规划 AI 数据集、备份归档等多桶场景时要想清楚。


四、5 条容易被忽略的规则

  1. 用量一律向上取整。 官方明确"把用量向上取整到下一个计费单位":做了 100 万零 1 次操作,就按 200 万次计费;用了 1.1 GB-month,就按 2 GB-month 计费;低频检索取了 1.1GB,按 2GB 计费。误差永远朝着平台那一侧走。

  2. 激活 R2 必须先绑定一种支付方式。 免费额度内不会扣费,但绑卡是开通 R2 的前置步骤,超出后会自动按量扣费。建议顺手在控制台把用量告警配上(比如存储到 8GB 就邮件提醒)。

  3. r2.dev 子域名只能测试用。 Cloudflare 默认给每个桶一个 xxx.r2.dev 开发地址,官方明确不适用于生产环境,并施加了可变速率限制,超过(数百次/秒量级)会被临时限流并返回 429 Too Many Requests,带宽也可能被限。而且 WAF 自定义规则、缓存策略、访问控制、Bot Management 这些能力,只有绑定自定义域名之后才有。

  4. 公开桶不能"列目录"。 官方说明:公开桶目前不允许在(子)域名根目录列出桶内容。所以它不适合做网盘式文件列表站,只适合"你给出确切 URL、它返回这个对象"。

  5. 没有中国大陆节点。 R2 依托 Cloudflare 全球网络分发,中国大陆没有节点,国内访问会路由到就近的海外节点。纯国内业务要考虑这一层延迟,海外业务和跨境分发则不受影响。


五、R2 到底能"托管"什么——能力边界

R2 是对象存储,不是网站托管产品。它和 Cloudflare Pages 的分工,建议这样理解:

你想做的事

该用哪个

放图片 / CSS / JS / 视频,用 CDN 分发

R2(绑自定义域名 + 缓存)

放大文件供下载(安装包、数据集、备份)

R2(出网免费是最大优势)

构建并部署一个多页静态网站(要目录索引、路由)

Cloudflare Pages

R2 侧能被用起来的能力大致有这些:

  • 图床 / 静态资源源站:绑定自定义域名后走 Cloudflare 缓存加速;默认只缓存部分文件类型,要缓存全部文件需配一条 Cache Everything 页规则;

  • 大文件与视频分发:零出站费用让成本和访问量脱钩;

  • AI 数据 / 异地备份:官方定位里明确包含"存储和训练 AI 数据";也常被当作 VPS 数据库的异地备份目标,让备份离开原机器;

  • S3 兼容生态:aws-cli、rclone、boto3、PicGo、Wrangler、各语言 S3 SDK 都能直连;

  • 与 Workers 集成:Worker 可通过绑定直接读写桶,配合边缘缓存把回源请求压到最低;

  • 官方迁移工具:Sippy(按需渐进迁移,被请求时再拷贝)与 Super Slurper(批量迁移)。

边界再强调一次:R2 没有构建/部署管线,也不会在访问目录时自动返回 index.html。纯静态站点(多个页面、需要路由)请直接用 Pages;R2 更适合放"被引用的资源"和"被下载的文件"。


六、适合 / 不适合

✅ 适合

  • 个人博客、文档站、图床:10GB 标准存储 + 1000 万次读操作,起步成本几乎为零

  • 视频站、素材站、大文件分发:零出站费用,流量增长不直接变账单

  • 海外 / 跨境业务:Cloudflare 全球网络就近分发

  • AI / ML 数据集与模型检查点存储

  • VPS 数据库异地备份的第二份存储

  • 已经在用 Cloudflare 生态(Workers / Pages / CDN)的团队

❌ 不适合

  • 纯国内业务、对大陆节点延迟敏感:R2 没有中国大陆节点

  • 需要完整静态站点托管(构建、部署、目录索引):应该用 Cloudflare Pages

  • 想做网盘式"可列目录"的文件站:公开桶不支持在根目录列内容

  • 完全不想绑定任何支付方式的用户:R2 激活需要先加支付方式


七、7 步上手(拿到免费额度)

  1. 注册 Cloudflare 账号,完成邮箱验证(免费账号即可);

  2. 添加支付方式:控制台 → Billing → Add Payment Method,免费额度内不扣费;

  3. 激活 R2:控制台 → 存储和数据库 → R2 对象存储 → 把 R2 订阅添加到账户;

  4. 创建存储桶:起个有意义的名字(如 blog-media),位置按用户分布选择;

  5. 绑定自定义域名:桶 → 设置 → 自定义域名 → 连接域(域名需已托管在 Cloudflare;非 Cloudflare 域名可用 CNAME 方式接入),系统自动配 DNS 与 SSL 证书;

  6. 配置访问策略:私有桶用签名 URL / 预签名;要做 CDN 分发就配好 CORS 与缓存规则(需缓存全部文件类型时加 Cache Everything);

  7. 接入客户端:用 S3 SDK / rclone / PicGo / Wrangler 上传,通过 https://<自定义域名>/<对象键> 访问。


八、付费单价速览(超出免费额度后)

项目

标准存储

低频访问存储

存储

$0.015 / GB-月

$0.01 / GB-月

Class A 操作

$4.50 / 百万次

$9.00 / 百万次

Class B 操作

$0.36 / 百万次

$0.90 / 百万次

数据检索

无

$0.01 / GB

出网流量

免费

免费

换算参考:存储超 10GB 后,每多 1GB 约 $0.015/月;Class A 每多用 100 万次约 $4.50;Class B 每多用 1000 万次约 $0.36。对中小站点来说,多半长期停留在免费区间内。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。