【对象存储 02】2026 媒体存储成本实测:Cloudflare R2 / B2 / Wasabi 怎么选最省
2026-08-16 · DevCraft Studio
对比 Cloudflare R2、Backblaze B2、Wasabi 三大 S3 兼容存储的存储费、出网费和请求费,给出独立站图片/视频托管、rclone 挂载与 CDN 卸载省钱方案。
对象存储选型系列 · 共 2 篇
本文是第 2 篇,聚焦「图床/媒体 + CDN」场景的成本实测;备份异地存储的出网/恢复成本对比见第 1 篇。
延伸阅读
更多相关攻略推荐:高防 VPS 横向评测 2026:什么时候需要高防 IP,怎么选、【VPS 进阶玩法精选 032】用 Headscale 在 VPS 、低配 VPS 也能秒开网站:Cloudflare 优化、Redis 、【Docker实战 01】低配VPS运行10个核心服务、用几台便宜 VPS 组 k3s / Docker Swarm 容器集。
为什么独立站必须把"媒体存储"和"出网费"分开算
做独立站和跨境出海的朋友,最先踩的坑往往不是服务器,而是媒体文件。一个中等体量的 Shopify 外站、或者自建 WooCommerce / 独立商城,商品图动辄几万张,详情页还有主图和视频。很多人一开始把图片直接扔在自己那台便宜 VPS 的硬盘上,结果硬盘撑爆、带宽跑满,月账单里"流量超出"这一项比机器本身还贵。
这里有个关键认知:存储费其实很便宜,真正吃钱的是"出网费"(egress,也叫流量费、下行带宽)。一张商品图存一年可能只要几分钱,但它被全球访客下载十万次,按 0.09 美元/GB 去算,这就是几十上百美元。所以选对象存储,不能只看"每 GB 多少钱",必须连出网费和请求费一起看。
本文聚焦电商场景:商品图片、视频、静态资源(JS/CSS/字体)托管,用 rclone 挂到 VPS 当本地目录,再叠加 CDN 把出网费压到最低。备份那个角度我们站点其他地方写过,这里不重复。
三家 S3 兼容存储 2026 价格总览
下面三家的价格均来自官方 2026 年公开页面(Cloudflare R2 定价页、Backblaze B2 定价页、Wasabi 定价页),单位统一换算成美元。S3 兼容意味着你用的工具(rclone、s3fs、各种 SDK)都能直接对接,不用重写代码。
项目 Cloudflare R2 Backblaze B2 Wasabi
标准存储 0.015/GB-月 0.00695/GB-月 0.0068→0.0078/GB-月
出网(egress) 免费 免费至3倍存储量,超出0.01/GB 免费(公平使用1:1)
请求费(Class A写) 4.50/百万次 免费(2026-05起) 免费
请求费(Class B读) 0.36/百万次 免费 免费
免费额度 10GB存储+1M/10M操作 10GB存储 无(但有1TB起量)
最低消费 无 无 1TB(约7~8美元/月)
最短留存 无(IA档30天) 无 90天
从这张表能直接看出三家完全不同的"性格":R2 存储最贵但出网永远免费;B2 存储最便宜且 2026 年 5 月起连 API 请求都免费了,但出网有 3 倍存储量的免费上限;Wasabi 单价最低,可一旦低于 1TB 也要按 1TB 收费,且删文件 90 天内照样计费。
Cloudflare R2:出网免费,天生适合做图床和静态资源 CDN
R2 是 Cloudflare 的对象存储,最大卖点就一句话:出网流量永远免费。它本身就是 Cloudflare 全球网络(300+ 边缘节点)的一部分,所以文件从 R2 取出来送到访客,全程走 Cloudflare 内网,不收一分钱出网费。
价格上,R2 标准存储 0.015 美元/GB-月,比 B2、Wasabi 贵一倍多,但它有 10GB 存储 + 每月 100 万次写入 + 1000 万次读取的免费额度。对很多中小独立站来说,免费额度就够用大半。另外还有个 Infrequent Access(低频访问)档,存储只要 0.01 美元/GB-月,但读的时候有 0.01 美元/GB 的取回费,且有 30 天最短留存——适合那些"写了基本不读"的归档图,比如下架商品的历史图。
对电商最香的用法:把 R2 桶绑一个自定义域名(如 cdn.yourstore.com),开启公开访问,Cloudflare 自动接管缓存和 TLS。你上传原图,再用 Cloudflare Image Resizing 在边缘实时压成 WebP/AVIF,访客拿到的是优化后的图,存储里只留一份原图。 Core Web Vitals 上去了,出网费还是 0。
Backblaze B2:便宜的存储 + 带宽联盟免费出网
B2 的存储单价是三者里最低的,2026 年 5 月 1 日起从 6 美元/TB 涨到 6.95 美元/TB(约 0.00695 美元/GB-月),同时把 API 请求费直接免了——上传、列举、读取都不收交易费。前 10GB 存储永久免费,没有最低消费,也没有最短留存,删文件立刻停止计费。
B2 的"坑"在出网:免费出网额度是你平均存储量的 3 倍。比如你存了 1TB,每月免费下载 3TB;超出部分按 0.01 美元/GB 收。如果你的独立站图片被疯狂下载,3 倍额度用完了就会开始计费。
但 B2 有个大杀器:Bandwidth Alliance(带宽联盟)。只要把 B2 的出网通过 Cloudflare、Bunny.net、Fastly 等合作 CDN 来取,出网就完全免费,不限 3 倍。也就是说"B2 存 + Cloudflare 当 CDN"这套组合,存储用 B2 的便宜价,出网走联盟免费,等于把两项成本都打到最低。这是很多成本敏感型卖家的标配方案。
Wasabi:单价最低但有 1TB 起量和 90 天留存
Wasabi 一直主打开"热云存储",单价最低:2026 年 7 月 1 日前是 6.99 美元/TB-月,之后涨到 7.99 美元/TB-月(约 0.0068~0.0078 美元/GB-月)。它承诺永远免出网费、免 API 请求费,但有"公平使用"约束:每月出网量不应超过你的存储量(1:1 比例),且绝对值封顶 100TB/月。只要你下载量不超过存的量,出网就是免费。
两个硬约束要注意:第一,最低按 1TB 计费。你只存 50GB 也得交 1TB 的钱(约 7~8 美元/月),对小微卖家反而不划算。第二,90 天最短留存。文件删了或者覆盖重写,90 天内照样按全价收。所以 Wasabi 适合"量大、稳定、不怎么删"的媒体库,比如成体系的商品图库、长期挂着的视频。
用 rclone 把对象存储挂到 VPS 当本地盘
很多建站程序和老板习惯"本地路径",不想改代码去调 S3 API。这时候用 rclone 把桶挂成 VPS 上的一个目录最省事:上传图片就像往文件夹里扔文件,程序读图就像读本地文件。下面以 Ubuntu 为例。
第一步,装软件和建挂载点:
sudo apt update
sudo apt install -y rclone fuse3
sudo mkdir -p /mnt/store
第二步,配一个 S3 兼容远程。以 Cloudflare R2 为例(B2、Wasabi 只是改 endpoint 和 key):
rclone config create mystore s3 \
provider Cloudflare \
access_key_id YOUR_ACCESS_KEY \
secret_access_key YOUR_SECRET_KEY \
region auto \
endpoint YOURACCOUNT.r2.cloudflarestorage.com
第三步,挂载。电商读多写少,推荐用 full 缓存模式,并给足本地缓存盘(建议 VPS 上有 20GB+ 空闲 SSD 做缓存):
rclone mount mystore:my-bucket /mnt/store \
--vfs-cache-mode full \
--vfs-cache-max-size 10G \
--vfs-cache-max-age 24h \
--buffer-size 32M \
--dir-cache-time 12h \
--allow-other --daemon
第四步,设成开机自启(systemd)。建一个 /etc/systemd/system/rclone-store.service,ExecStart 写上面的 mount 命令,enable 后重启自动挂。注意:FUSE 挂载延迟比本地盘高,别拿它当数据库盘,只放图片/视频这类大文件、顺序读写的资源最稳。
如果你不想用 rclone,s3fs 也行(POSIX 兼容更好但更慢):s3fs my-bucket /mnt/store -o passwd_file=~/.passwd-s3fs -o use_cache=/tmp/s3cache。rclone 胜在多云统一、缓存选项细;s3fs 胜在"看起来更像真文件系统"。
用 CDN 卸载流量,把出网费打到 0
就算存储出网免费,也建议再叠一层 CDN,原因有三:一是离用户更近、加载更快,利于转化;二是缓存命中后根本不会回源,进一步省对象存储的读取请求;三是 Cloudflare 自带的压缩和图片处理能再瘦身体积。
具体做法:
- R2 用户:直接在 Cloudflare 里把桶绑自定义域名并开启公开,请求自动走边缘缓存,出网 0 费用。
- B2 用户:把 B2 桶接进 Cloudflare(Bandwidth Alliance 成员),用 CNAME 把 cdn 域名指到 B2,出网同样免费。
- Wasabi 用户:控制好 1:1 出网比例,前面再放 Bunny.net 之类 CDN 做缓存,命中后回源量更小,不容易触发出网上限。
缓存策略上,商品图、CSS、JS 这些基本不变的文件设长 TTL(比如 7~30 天),HTML 设短 TTL。这样 90% 以上的请求在 CDN 边缘就被吃掉了,对象存储只负责"第一次"和"回源漏网"的那点读取。
算一笔账:三种规模的独立站月成本
我们用"存储 + 出网 + 请求"三笔账,对比三家在相同电商负载下的月费(价格取 2026 年公开值,出网均通过各自免费/联盟通道打到 0)。
场景 存储量 月出网 R2月费 B2月费 Wasabi月费
小站(试水) 50GB 200GB 0.75+请求 0.35(免费额度内) 7.99(1TB起量)
中型店 500GB 2TB 7.5+请求 3.47 3.99
大卖场(视频多) 5TB 20TB 75+请求 34.75 39.95
说明:R2 的"请求"按商品图被读取次数算,假设中型店每月 1000 万次读取,Class B 费约 3.6 美元;小站和 B2/Wasabi 在免费通道下请求费为 0。可以清楚看到——小站用 Wasabi 反而最贵(被 1TB 起量坑了),B2 最香;大卖场 R2 因出网全免且量大,综合反而可控。B2 在绝大多数区间都是性价比之王,前提是老老实实走带宽联盟。
给出海卖家的选型建议
- 刚起步、量小、不想折腾:直接上 R2,10GB 免费额度 + 出网免费,绑个域名就能当图床,零运维。
- 量大、想压到极致成本:B2 存储 + Cloudflare 带宽联盟。存储便宜、请求免费、出网免费,三杀。注意别让单次出网超过 3 倍存储量,否则走联盟兜底。
- 媒体库稳定、长期不删、量超 1TB:Wasabi 单价最低,出网请求全免,适合做"大本营"式资源库。但要接受 90 天留存和 1TB 起量。
- 要本地路径 compatibility:rclone 挂到 VPS,配合上面的 CDN 策略,把读取请求尽量挡在边缘。
- 无论选谁,把媒体和 VPS 系统盘分离是铁律:VPS(比如 RackNerd、CloudCone 这类便宜机器)只跑程序,媒体全丢对象存储,既省 VPS 带宽又不怕硬盘爆。