如果你托管大量图片,悄悄摧毁你预算的那一项不是存储,而是出口:云服务商在每次有人下载文件时收取的费用。Amazon S3 和大多数竞争对手按每提供一个 GB 计费,所以单单一篇病毒式传播的帖子或一个繁忙的产品目录,就可能产生一份远超你存储文件费用的带宽账单。Cloudflare R2 完全去掉了这一项。它对出口收费零,这使其成为 2026 年图片 CDN 的天然基础。
本指南展示如何在 R2 上托管图片、通过 Cloudflare 的全球网络分发它们、为完美的 Core Web Vitals 即时转换它们,以及与 S3 相比实际成本如何。这是我在在 Cloudflare 上托管图片 概览中所述图片策略的存储那一半。
摘要
- R2 对出口收费 0 美元,因此提供图片永远不会产生带宽账单
- 存储为每月每 GB 0.015 美元,配有 10 GB 的免费额度,外加每月 100 万 次 Class A 操作和 1000 万 次 Class B 操作
- 将自定义域名连接到存储桶,你的图片就会自动从 Cloudflare 的边缘提供
- 将 R2 与图片转换 搭配,在不存储派生文件的情况下交付优化的 WebP/AVIF
- 用我的免费桌面应用 Easy Cloudflare R2 可视化地管理一切
- 想要更深入的成本拆解,请看我专门的 R2 价格指南
为什么出口才是图片托管的真实成本
存储图片几乎在哪里都便宜。开销在于提供它们。每个采用传统定价的服务商都收取出口费用,即向访客发出数据的带宽成本。在 Amazon S3 上,超出少量免费额度后,出口约为每 GB 0.09 美元。这听起来微不足道,直到你算一笔账。
设想一个媒体站点在一个月内提供 5 TB 图片。在 S3 上,仅出口那个月就约 450 美元,还不算存储和请求成本。在 R2 上,同样的 5 TB 出口费用为 0 美元。你只为存储和操作付费。对于任何图片密集型站点,这个差额不是舍入误差,而是整个商业理由。
这就是为什么 R2 成为图片、整个媒体库、视频缩略图、下载和静态资源的首选源站,以及一个真正的 S3 替代品:你提供得越多,相对于按出口计费的老牌厂商就省得越多。
什么是 Cloudflare R2 图片托管
Cloudflare R2 是 R2 图片托管背后的存储层,是位于 Cloudflare 网络上的与 S3 兼容的对象存储。「与 S3 兼容」意味着它使用与 Amazon S3 相同的 API,因此现有的工具、SDK 和库只需极少改动即可工作:你将它们指向 R2 的端点并使用 R2 凭据即可。你可以获得存储桶、对象、元数据、分段上传和生命周期规则,就像 S3 一样,但没有出口费用,也没有锁定。
具体到图片,R2 为你的原图提供了一个持久的归宿,而它已经位于将对其优化和交付的网络内部。
图片托管的 R2 价格
数字简单得令人耳目一新。根据 2026 年的官方 R2 价格 :
| 你为何付费 | 费用 |
|---|---|
| 标准存储 | 每 GB / 月 0.015 美元 |
| Class A 操作(写入、上传) | 每百万次 4.50 美元 |
| Class B 操作(读取) | 每百万次 0.36 美元 |
| 出口(出站带宽) | 0 美元(免费) |
以及每月免费额度,它覆盖了出人意料的大量真实使用:
| 免费额度(标准存储) | 数量 |
|---|---|
| 存储 | 10 GB-月 |
| Class A 操作 | 100 万 |
| Class B 操作 | 1000 万 |
一个实际示例:一个拥有 20 GB 原图、面向活跃受众提供服务的作品集站点,每月为超出免费额度的 10 GB 支付 0.15 美元,而无论有多少访客查看这些图片,带宽都分文不取。我在 R2 价格指南 中进一步拆解了成本模型,包括 Infrequent Access 存储类。
将 R2 图片托管设置为 CDN
以下是从空账户到一个可用图片 CDN 的实用路径。
- 创建一个存储桶。 在 Cloudflare 仪表板中打开 R2 并创建一个存储桶,例如
my-site-images。 - 上传你的图片。 使用仪表板、与 S3 兼容的 API,或我的免费桌面应用 Easy Cloudflare R2 ,它在 Windows、macOS 和 Linux 上支持拖放上传、文件夹和元数据编辑。
- 连接一个自定义域名。 在存储桶设置中,附加一个自定义域名,例如
images.example.com。这是公开存储桶的推荐方式:它会自动经过 Cloudflare 的缓存和边缘,因此你的图片会被快速且全球地提供。 - 设置缓存头。 在图片对象上添加一个长的
Cache-Control值(例如public, max-age=31536000, immutable),让边缘积极地缓存它们。你可以在上传时为每个对象设置。 - 引用图片。 你的图片现在可在
https://images.example.com/<path>获取,由 Cloudflare 的网络以零出口成本提供。
关于访问的一点说明:不要公开你的 S3 API 凭据。通过连接的自定义域名(公共读取)提供图片,并仅将 S3 密钥用于上传和管理。如果某个令牌泄露,你可以在仪表板中按 IP 限制 R2 API 令牌。
添加即时优化
从 R2 存储和提供解决了成本问题。要同时搞定性能和 Core Web Vitals,请在其上叠加 Cloudflare Image Transformations 。转换会按需将你托管在 R2 的原图调整尺寸并转换为 WebP 或 AVIF,因此你存储一个母文件,就能向每个设备提供尺寸完美、格式现代的图片。
一个指向以 R2 为后端图片的转换 URL 看起来像这样:
1https://images.example.com/cdn-cgi/image/width=800,quality=75,format=auto/photo.jpg
因为 R2 没有出口费用,而且每月前 5,000 次唯一转换免费,一个小站点可以用几美分运行一个完全优化的图片 CDN。在我的经验里,这种 R2 加转换的组合是 2026 年在任何规模下托管和提供图片最具成本效益的方式。
图片之 R2 对比 S3:诚实的比较
| 标准 | Cloudflare R2 | Amazon S3 |
|---|---|---|
| 出口费用 | 无 | 每 GB 约 0.09 美元 |
| 存储价格 | 每 GB 0.015 美元 | 每 GB 约 0.023 美元(标准) |
| API 兼容性 | 与 S3 兼容 | 原生 S3 |
| 边缘交付 | 内置于 Cloudflare | 需要 CloudFront(额外成本) |
| 免费额度 | 每月 10 GB + 操作 | 仅 12 个月 5 GB |
| 最适合 | 任何公开提供的内容 | 深度 AWS 集成 |
如果你深度投入 AWS 并需要其周边生态,S3 仍是一款出色的产品。但纯粹为了托管和提供图片,R2 在对该工作负载最重要的两个指标上胜出:出口(免费 vs 计量)和内置边缘交付(包含 vs 单独的 CloudFront 账单)。
无需命令行管理图片
通过仪表板或原始 API 调用上传和整理数千张图片很慢。我构建了 Easy Cloudflare R2 ,一款免费的跨平台桌面应用,正是为了让这件事变得舒适:把存储桶当作文件夹浏览、直接从桌面拖入文件、附加自定义元数据和 cache-control 头、处理大型分段上传,并查看你的存储和操作指标,这一切都在一个简洁的界面中完成。你的 API 密钥在你自己的机器上保持加密,绝不会被传输到任何其他地方。
要点总结
- R2 的零出口费用是选择它进行 R2 图片托管的最大单一理由;带宽永远不会出现在你的账单上
- 存储为每月每 GB 0.015 美元,配有真正实用的 10 GB 免费额度外加每月操作
- 连接一个自定义域名,以积极缓存的方式自动从 Cloudflare 的边缘提供图片
- 在其上叠加图片转换,从单个已存储的原图交付优化的 WebP/AVIF
- 对于纯图片托管,R2 在出口和内置边缘交付上胜过 S3;在深度 AWS 集成上 S3 仍然胜出
- 使用我的免费 Easy Cloudflare R2 应用可视化地管理上传和存储桶
常见问题
Cloudflare R2 真的没有出口费用吗? 是的。R2 在所有存储类上都不对出口带宽收费。你只为存储以及 Class A 和 Class B 操作付费。这是它与 S3 及大多数其他对象存储服务商的决定性区别。
我如何公开提供 R2 图片? 在 R2 设置中将一个自定义域名连接到你的存储桶。对该域名的请求会通过 Cloudflare 的缓存和边缘网络提供。这比公开 S3 API 端点或凭据更可取。
我可以调整尺寸并优化存储在 R2 中的图片吗? 可以。使用 Cloudflare Image Transformations 即时调整尺寸、压缩并将托管在 R2 的图片转换为 WebP 或 AVIF。你存储一个原图,并提供为每个设备调整好尺寸的优化版本。
对图片而言,R2 比 Amazon S3 便宜吗? 对于公开提供图片,几乎总是如此,因为 R2 消除了出口费用并包含边缘交付。S3 对出口收取每 GB 约 0.09 美元,并需要 CloudFront 进行边缘交付,从而增加进一步成本。R2 的存储费率也略低。
R2 免费额度是什么? 你每月获得 10 GB 标准存储、100 万次 Class A 操作和 1000 万次 Class B 操作,均不收费。对许多小站点而言,图片托管会停留在这一额度内或略高于它。
我如何轻松地向 R2 上传大量图片? 使用我的免费桌面应用 Easy Cloudflare R2 进行拖放上传、文件夹整理和元数据编辑,或使用任何指向 R2 端点的 S3 兼容工具。
评论