Cloudflare Pages 与 R2 存储
在 Cloudflare Pages 上部署全栈应用,搭配 R2(S3 兼容、零出口费)和 D1 边缘 SQLite。
为什么
R2 出口费 $0(对比 S3 $0.09/GB),图片/视频密集应用省 80%。Pages Functions 运行在 Workers 运行时(300+ 边缘位置、50ms 冷启动)。
组合:全栈边缘应用无出口账单。
何时使用
选择 Pages + R2 用于图库、视频托管、文件分享应用,以及出口费占成本主导的工作负载。避免需要长运行计算(用 Cloud Run)或 VPC 私有资源的应用。
如何做
示例
常见问题
- ⚠R2 对象未找到 — key 区分大小写,检查精确路径和前导斜杠
- ⚠Pages Functions 50ms CPU 限制 — 图片处理撞墙,改用 Image Resizing
- ⚠分片上传 >100MB — R2 单次 PUT 限制,用分片上传 API
- ⚠D1 写入冲突 — 单主库,并发写入失败,计数器用 KV
最佳实践
- ✓所有用户上传用 R2 — 零出口意味着 CDN 服务免费
- ✓用 Cache API 缓存 R2 响应 — 设 Cache-Control,边缘免费缓存
- ✓图片变换用 Cloudflare Images — 把缩放/压缩移出你的代码
- ✓Git 关联 Pages 自动部署 — 推送到 main,每个 PR 预览部署
常见问题解答
什么是Cloudflare Pages 与 R2 存储?它解决什么问题?
在 Cloudflare Pages 上部署全栈应用,搭配 R2(S3 兼容、零出口费)和 D1 边缘 SQLite。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。
如何在 5 分钟内上手Cloudflare Pages 与 R2 存储?
两步即可跑通:① 创建 Pages 项目 — npx wrangler pages project create myapp;② 绑定 R2 — wrangler r2 bucket create assets,在面板添加绑定。建议先用免费套餐验证流程,再接入生产环境。
Cloudflare Pages 与 R2 存储 最容易踩的坑是什么?
最高频的问题是:R2 对象未找到 — key 区分大小写,检查精确路径和前导斜杠。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。
Cloudflare Pages 与 R2 存储 的最佳实践有哪些?
Cloudflare Pages 与 R2 存储 的最佳实践包括:所有用户上传用 R2 — 零出口意味着 CDN 服务免费;用 Cache API 缓存 R2 响应 — 设 Cache-Control,边缘免费缓存;图片变换用 Cloudflare Images — 把缩放/压缩移出你的代码。其中首条「所有用户上传用 R2 — 零出口意味着 CDN 服务免费」应作为团队默认规范写入 IaC 模板。
Cloudflare Pages 与 R2 存储 如何控制成本与避免账单意外?
三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Pages 与 R2 存储 多数提供免费套餐,先在免费额度内验证再放量。