Cloudflare R2 vs Amazon S3:对象存储该先算出网还是生态?
核验日期:2026年10月17日,Europe/London。本文依据双方官方资料与场景分析,未进行性能、安全或成本实测,不设统一赢家。面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队,先评估 Cloudflare R2;需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用,先评估 Amazon S3。

快速建议
核验日期:2026年10月17日,Europe/London。本文依据双方官方资料与场景分析,未进行性能、安全或成本实测,不设统一赢家。面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队,先评估 Cloudflare R2;需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用,先评估 Amazon S3。
Cloudflare R2
面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队
Amazon S3
需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用
快速比较
表格可横向滚动查看全部产品。
| 产品 | 适合谁 | 主要定位 |
|---|---|---|
| Cloudflare R2 | 面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队 | 面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队 |
| Amazon S3 | 需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用 | 需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用 |
功能对比
表格可横向滚动查看全部产品。
| 比较维度 | Cloudflare R2 | Amazon S3 |
|---|---|---|
| 接口兼容 | S3-compatible API,逐项核对限制 | AWS S3 API 与 AWS 原生服务 |
| 出网费用 | R2 直接出网无数据传输费,其他费用另计 | 依来源、目的地、区域及传输类型核算 |
| 存储类别 | 按 R2 当前产品和类别核验 | Standard、IA、Glacier 等类别丰富 |
| 生态集成 | Cloudflare Workers、S3 SDK 与 API | IAM、CloudTrail、AWS 服务广泛 |
| 版本保护 | 核验 R2 当前对象版本能力及政策 | S3 Versioning 保存多个对象版本 |
| 生命周期 | 确认 R2 生命周期条件与类别支持 | Lifecycle 可转类别或过期删除 |
| 运维边界 | 适合已使用 Cloudflare 分发的栈 | 适合已在 AWS 的数据与权限栈 |
| 成本模型 | 存储、操作、检索等仍需计费核验 | 存储、请求、检索、出网按实际组合 |
| 迁移检查 | Endpoint、签名、功能差异和回滚 | Bucket、区域、IAM 与对象策略 |
详细比较
问题核心:先看对象如何被访问
Cloudflare R2 与 Amazon S3 都能存储图片、备份、日志和应用对象,但成本与运维选择由访问路径决定。如果对象经常被互联网终端下载、媒体内容占比高,直接出网费用可能是关键;若应用已运行在 AWS,服务集成、IAM 和数据生命周期可能更重要。
不要把“无出网费”理解成 R2 所有场景免费,也不要因为 S3 名称熟悉就默认它一定更贵。先从访问日志得出读写次数、对象大小、缓存命中和下载目的地,再算每个请求路径的费用。存储容量只是一项成本,API 操作、检索、复制、网络和运维也要进入估算。
API 兼容是迁移起点,不是验收结论
Cloudflare R2 支持 S3-compatible API,因此不少 AWS SDK、工具和应用可以改用 R2 endpoint。迁移评估仍需列出代码具体使用的 API:签名版本、预签名 URL、多段上传、对象锁、版本、复制、事件通知和策略。实际支持情况要按 Cloudflare 当前兼容清单逐个验证。
S3 的好处是 AWS SDK 与云内服务围绕同一对象接口发展较久;但“使用 S3”也不是说迁移到另一个兼容存储就可原样复制所有 bucket 配置。IAM policy、加密密钥、事件通知、库存报告和跨服务身份都可能是 AWS 专属集成。用自动化测试检查行为和错误码,而非只看上传下载成功。
出网和缓存路径
R2 官方定价说明直接从 R2 传输数据不收出网费用;这对公开文件托管和用户生成内容服务可能很有吸引力。仍需考察 Worker、缓存、对象操作和存储本身的费用。若架构使用 Cloudflare CDN,测量缓存命中和源站请求量,防止将缓存配置失误造成的请求成本忽略。
S3 的传输费用会随区域、目的地及服务组合变化,应以当前 AWS 定价页面为准。若数据在 AWS 内被计算服务读取,跨服务、同区域和跨区域路径可能成本不同。架构图应标出对象到计算、用户、备份账户的每条流量线,并区分数据传输与请求费用。
类别与对象生命周期
S3 提供多个类别供高频、低频和归档数据使用;生命周期规则可以转换类别或按年龄设置过期。它适合需要将对象从活跃期逐步转入长期保留的设计,但过早转低频或归档可能增加检索时间和费用。先定义数据保留义务,再设置生命周期规则。
R2 的产品类别和生命周期能力应以当前开发文档和价格为准。若目前只需标准对象存储与访问,不必为了拥有更多类别而选择复杂平台;若要满足低成本长期归档、恢复演练或地区隔离,应确认 R2 当前能力是否满足,不能从 S3 API 兼容推断产品特性相同。
版本、删除保护与恢复
S3 Versioning 能保留对象的多个版本,配合生命周期管理可以恢复误覆盖或误删除。它也可能让对象空间和存储费用持续增长;制定非当前版本清理规则前,确认法律保留与恢复周期。访问策略、Object Lock 与版本控制承担的保护目的不同,不能互相代替。
R2 的对象版本保护与治理语义应在本次配置范围核对官方说明。若应用依赖版本 ID、条件写入或不可变保留,先用非生产 bucket 验证调用和恢复流程。备份存储不要只保存第二份数据,还要定期测试账号权限失效、误删和密钥轮换时能否由另一管理边界恢复。
安全与权限治理
S3 有 IAM policy、bucket policy 和访问点等机制;私有对象默认需明确授权。团队应使用最小权限、区分运行服务与人工运维身份、启用审计,并避免把长期访问密钥写在客户端或 CI 日志。跨账号备份还要避免主账号被攻破时可同时删除备份。
R2 应结合 Cloudflare 账户访问、API token 权限和应用凭据管理来设计。把公开分发访问与写权限分开;预签名 URL 要有短时效并限制对象范围。若使用 Workers 绑定,仍需确认脚本权限、环境配置和部署审查。无论选哪家,生命周期删除规则应当先在测试桶验证。
成本模型怎么做
准备代表性月度模型:总存储字节、平均对象大小、GET/PUT/LIST 数量、上传下载区域、缓存命中比例、归档检索、版本保留和复制。分别映射到官方价目表的计费项。小规模免费额度会变化,不建议将免费额度当长期成本保证。
把成本拆为云账单、带宽、迁移、监控和人员运营。S3 的成熟工具和原生分析集成可以减少连接工作;R2 减少出网成本的价值则可能依赖边缘网络路径。迁移对象时还会出现双写、校验和回滚成本。只有按实际流量分析,才能避免把一种计费项目的节省误判为整体便宜。
何时选 R2
如果公开下载、图片或媒体分发占用大部分流量,当前 Cloudflare 服务栈已经管理 DNS/CDN/Workers,且实际使用的 S3 API 都受支持,R2 值得优先评估。可先复制一类不敏感对象,验证签名、缓存、跨域、上传限制、删除和回滚,然后观察一个完整账期。
如果业务依赖 AWS 原生分析、密钥管理、事件服务或对象锁等功能,先对照迁移边界再计算出网节省。不能因为 R2 能接 S3 SDK,就把权限策略、事件触发、审计和恢复方式视为自动迁移。
何时选 S3 与结论
如果现有系统和数据治理以 AWS 为中心,需要多个存储类别、跨服务访问和细粒度 IAM,S3 的生态广度可以降低整合成本。团队要持续管控区域、版本、生命周期与跨区费用。规模较小也可以用 S3,但应选择简单、可审计的配置并设置账单告警。
如果主要诉求是网络分发成本,R2 可能符合目标;如果主要诉求是综合对象生命周期和 AWS 服务互操作,S3 往往更自然。先用账单和 API 测试作决定。保持对象导出、校验和及迁移演练,避免将供应商可移植性寄托在一个兼容 API 标签上。
逐项比较:这些差异会怎样影响选择
在“出网费用”维度,Cloudflare R2采用R2 直接出网无数据传输费,其他费用另计,Amazon S3采用依来源、目的地、区域及传输类型核算。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“存储类别”维度,Cloudflare R2采用按 R2 当前产品和类别核验,Amazon S3采用Standard、IA、Glacier 等类别丰富。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“生态集成”维度,Cloudflare R2采用Cloudflare Workers、S3 SDK 与 API,Amazon S3采用IAM、CloudTrail、AWS 服务广泛。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“版本保护”维度,Cloudflare R2采用核验 R2 当前对象版本能力及政策,Amazon S3采用S3 Versioning 保存多个对象版本。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“生命周期”维度,Cloudflare R2采用确认 R2 生命周期条件与类别支持,Amazon S3采用Lifecycle 可转类别或过期删除。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“运维边界”维度,Cloudflare R2采用适合已使用 Cloudflare 分发的栈,Amazon S3采用适合已在 AWS 的数据与权限栈。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“成本模型”维度,Cloudflare R2采用存储、操作、检索等仍需计费核验,Amazon S3采用存储、请求、检索、出网按实际组合。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“迁移检查”维度,Cloudflare R2采用Endpoint、签名、功能差异和回滚,Amazon S3采用Bucket、区域、IAM 与对象策略。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
官方参考资料与核验范围
核验日期:2026年10月17日,Europe/London。以下链接为产品或标准官方资料,用于核对功能与边界;本文未进行性能、安全或成本实测。当前版本、套餐及部署组合应按实际采用范围复核。
- https://developers.cloudflare.com/r2/pricing/
- https://developers.cloudflare.com/r2/get-started/s3/
- https://developers.cloudflare.com/r2/how-r2-works/
- https://aws.amazon.com/s3/pricing/
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html
各项对比结果
- 面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队 → 优先评估 Cloudflare R2
- 需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用 → 优先评估 Amazon S3
优点与限制
Cloudflare R2
优点
- R2 对象存储提供 S3-compatible API,可复用不少现有 SDK
- Cloudflare 文档称直接从 R2 出网不收数据传输费
- R2 可通过 Workers binding、S3 API 和 Wrangler 等接口访问
不足
- S3 兼容不意味着每个 AWS S3 API、行为和生态集成都相同
- 需核对账户区域、存储类别、操作请求及迁移工具的支持边界
Amazon S3
优点
- S3 提供多种存储类别、版本控制、生命周期与访问控制能力
- AWS SDK、IAM、CloudTrail 和各类 AWS 数据服务集成广泛
- 适用从高频在线对象到归档、合规保留的多种需求
不足
- 价格随区域、类别、请求、检索和出网场景变化,估算不简单
- 功能灵活同时增加策略、生命周期和权限治理工作量
如何选择
- 选择 Cloudflare R2,如果你:
- 面向互联网频繁分发对象、希望把出网费用纳入优先考量的团队
- 选择 Amazon S3,如果你:
- 需要丰富存储类别、AWS 服务集成及成熟生命周期治理的应用
最终建议
依据代表性工作负载验证功能、维护责任与恢复条件;已有可靠流程不必仅因工具名称而迁移。
常见问题
Cloudflare R2 与 Amazon S3 完全兼容吗?
R2 文档称提供 S3-compatible API,使用现有 SDK 通常需要调整 endpoint。兼容面不应理解为 AWS 的所有 API、语义和服务集成完全一致,迁移前测试实际调用。
R2 是否没有任何费用?
不是。Cloudflare 的无出网费指直接从 R2 传输对象不收数据传输费用;存储、操作等项目仍需按当前价目和使用量核算。
S3 的多存储类别适合所有项目吗?
类别选择取决于访问频率、检索时间、最低存储期限和请求成本。先分析对象生命周期,低存储价不一定意味着低总成本。
怎样比较真实成本?
从账单或流量日志统计存储量、GET/PUT 请求、缓存命中、区域、检索和外网传输,再用双方官方计算器估算。本文不提供固定价格胜负。