为什么我选用Cloudflare R2云存储
这篇文章完整复盘了我从零接入 Cloudflare R2 对象存储的实际过程,重点放在免费 10GB 存储额度、域名接入逻辑以及自定义域名访问文件这三个最关键的点上。R2 本身不复杂,但第一次上手时,真正容易卡人的地方在于:域名服务器切换、DNS 是否自动识别、以及如何把存储桶和子域名正确绑定。我会按照真实操作顺序,把每一步拆开讲清楚,确保你照着做就能跑通。
我接入 R2 的原因很简单,也很现实:
- 免费 10GB 存储,对早期项目非常友好
- 不按流量“明目张胆地割”,整体成本可控
- 天然和 Cloudflare 生态打通,后面做 CDN、缓存都顺手
一句话总结:白嫖阶段足够用,往后也不容易被卡脖子。
接入 R2 的前置条件
在用 R2 之前,有一个绕不开的前提条件:
你的域名,必须接入 Cloudflare 的域名服务器。
如果你之前已经把域名绑定到 Vercel,也不用太紧张:
- Cloudflare 会自动扫描现有 DNS 记录
- 正常情况下不会影响你现有的网站解析
一、添加域名到 Cloudflare
这一部分,本质是“把域名的控制权交给 Cloudflare”。
1. 在 Cloudflare 添加域名
操作路径很简单:
- 进入 Cloudflare 控制台首页
- 点击添加域名
- 输入你的域名
- 选择 免费计划
2. 检查 DNS 记录
在 DNS 检查这一步,Cloudflare 会扫描你原有的解析记录。
我的实际情况是:
- 新域名
- 我把原来的 DNS 全部清空了
- 所以这里基本是一个“干净状态”
如果你是老域名,一定要确认:
- A 记录、CNAME 是否被正确扫描进来
- 不要误删正在使用的解析记录
3. 绑定 Cloudflare 的域名服务器
这一步是关键动作。
我的域名注册商是 Spaceship,操作逻辑如下:
- 进入域名管理后台
- 找到 NameServer 设置
- 选择自定义 NameServer
- 填入 Cloudflare 提供的两条域名服务器地址
本质就是: 用 Cloudflare 的 NS,替换掉原来注册商的 NS。
4. 等待域名服务器生效
这一步只能等,没有捷径。
- 我个人的经验是:大概 10 分钟左右
- 有时也可能更久,取决于注册商和 DNS 缓存情况
Cloudflare 后台会显示一个“生效中”的状态,等它变绿即可。
二、创建 R2 存储桶
域名接入完成后,才能真正开始用 R2。
1. 创建存储桶
路径如下:
- R2 对象存储
- 概述
- 创建存储桶
接下来只需要:
- 输入一个存储桶名称
- 点击创建
不需要额外配置,存储桶立刻可用。
2. 为什么一定要绑定自定义域名
默认情况下,R2 的访问方式并不适合直接对外使用。
在真实项目里,我强烈建议你做一件事:
给存储桶绑定一个自定义域名。
好处非常明确:
- URL 更干净
- 可控性更高
- 后期做 CDN、缓存策略更灵活
三、为 R2 绑定自定义域名
这是 R2 使用体验好不好的分水岭。
1. 找到自定义域名设置
进入:
- 存储桶设置
- 自定义域名
2. 使用子域名绑定
这里有一个非常重要的细节:
一定要用子域名,不要直接用主域名。
原因很简单:
- 避免和现有网站、API 冲突
- 也符合对象存储的常规做法
比如:
- 主域名:16781678.xyz
- R2 子域名:cdn.16781678.xyz
3. 自动配置 DNS
这一步 Cloudflare 做得非常好。
你只需要:
- 输入子域名
- 预览 DNS 记录
- 点击连接域
Cloudflare 会:
- 自动帮你创建 DNS 记录
- 不需要你手动加 CNAME 或 A 记录
4. 绑定完成后的效果
绑定成功后,你就可以直接通过域名访问存储桶里的文件。
比如我实际使用的文件地址(下面url仅为示例,不可真实访问):
https://cdn.16781678.xyz/veo-test.mp4
到这一步,R2 对你来说,已经是一个“可直接上线使用”的对象存储了。
关键结论
整个流程跑下来,Cloudflare R2 给我的感受可以总结为三点:
- 免费 10GB,对早期项目非常友好
- 域名 + R2 + DNS 全在一个后台,操作成本低
- 自定义域名绑定体验很好,几乎不踩坑
如果你正在做 SaaS、内容站、工具站,或者只是想找一个靠谱的对象存储方案, R2 在“免费 + 可扩展”这个维度上,确实是一个很稳的选择。
下一步,无非就是: 把它接进你自己的业务逻辑里,用它承载真正的文件流量。