
Cloudflare R2还是Amazon S3:免出网费也要先算请求量

对象直接向互联网提供大量下载时,Cloudflare R2通常比Amazon S3 Standard便宜,但免收出网费不等于免收请求费。R2官方价目表列出的标准层价格为每GB每月0.015美元、每百万次A类操作4.50美元、每百万次B类操作0.36美元,互联网出网免费;每月另有10 GB存储、100万次A类和1000万次B类操作的免费额度。
Amazon S3要按实际使用的存储层和交付路径比较。S3官方定价将存储、请求、数据取回和传输分别计费;除中国区和GovCloud外,互联网出网的每月前100 GB免费额度由相关AWS服务及区域合并计算,而S3向同区域其他AWS服务或CloudFront传输数据另有免费规则。因此,直连下载、经CloudFront分发和长期少读的备份,不能共用一个成本结论。
先固定区域、存储层和计费口径
下列均为假设情景:对象稳定存放一个月,按美元和美国东部(弗吉尼亚北部)区域计价,AWS账户尚未用掉共享的免费互联网出网额度。美东S3价格整理列出的Standard单价为每GB每月0.023美元、每千次PUT等写入0.005美元、每千次GET读取0.0004美元,免费额度后的首档互联网出网为每GB 0.09美元;Glacier Instant Retrieval的存储、写入、读取和数据取回单价则分别为每GB每月0.004美元、每千次0.02美元、每千次0.01美元和每GB 0.03美元。
计算时,读取次数指到达对象存储的GET请求,写入次数指实际PUT请求;流量指对象存储向互联网传出的数据,而非CDN最终交付给用户的全部数据。这里不计税费、CDN与计算服务、跨区域复制、迁移时的一次性费用或协议折扣。若业务还使用HEAD、LIST、分段上传或复制对象,这些调用也会增加相应的请求费用;缓存则可能同时减少回源GET次数和存储端传输量。
四种工作负载的月账单
静态资源:假设存储100 GB,每月发生2000万次GET、10万次PUT,直接向互联网发送500 GB。R2标准层的存储费为1.35美元,超出免费额度的读取费为3.60美元,写入和出网不再增加费用,合计4.95美元。S3 Standard的存储费为2.30美元、读取费8美元、写入费0.50美元;扣除共享的100 GB免费出网量后,传输费为36美元,合计46.80美元。在这组条件下,S3的互联网出网费是主要差额。
软件下载:假设稳定存放500 GB安装文件,每月10万次GET、1000次PUT,直接向互联网交付5000 GB。R2标准层扣除免费存储量后,490 GB产生7.35美元存储费,请求仍在免费额度内,合计7.35美元。S3 Standard的存储费为11.50美元、读取费0.04美元、写入费约0.005美元;4900 GB计费出网量产生441美元传输费,合计约452.55美元。这类文件单次读取量较大,请求费相对于直接出网费很小;若实际由CloudFront交付,就需要另算CloudFront费用。
长期备份:假设稳定保存2000 GB,每月100次PUT、1000次GET,取回并向互联网发送20 GB;对象均达到Glacier Instant Retrieval的最低计费大小和保存期限。R2标准层的存储费为29.85美元,读写及出网均未产生额外费用。S3 Glacier Instant Retrieval约有8美元存储费、0.002美元写入费、0.01美元读取费和0.60美元数据取回费;出网仍在免费额度内,合计约8.61美元。这组少读且长期保存的数据,S3低价层更便宜。
同一备份若放入R2低频访问层,账单也不是简单的2000 GB乘以较低存储单价。该层没有标准层免费额度,Cloudflare还会把使用量向上进位到计费单位:假设这些请求都落在该层,20美元存储费、9美元A类操作费、0.90美元B类操作费及0.20美元取回费,合计30.10美元。少量请求也可能形成完整计费单位,这使它在本例中略贵于R2标准层。
API小对象:假设存储10 GB,每月执行3亿次GET、5000万次PUT,向互联网发送20 GB。R2标准层的存储量落在免费额度内,超额读取费为104.40美元、写入费为220.50美元,合计324.90美元。S3 Standard的存储费为0.23美元、读取费120美元、写入费250美元,出网仍在免费额度内,合计370.23美元。R2在这一固定价格口径下仍较低,但它的费用几乎全部来自请求;只盯着20 GB出网量会严重低估预算。
备份的转折点在哪里
月账单可以写成:存储费+写入费+读取费+按GB计的数据取回费+互联网出网费。对象平均大小决定一次GET通常带出多少数据,因此同样的读取次数可能对应不同的取回量;反过来,同样的传输量若拆成更多小对象,请求费就会增加。对上述R2标准层与美东S3 Standard的公开单价而言,R2的存储和读写单价本身也较低,所以在这些限定条件下,并不存在一个必须跨过的出网量门槛,才能让R2的直接存储账单更低。
低频备份会出现另一种交点。沿用2000 GB、100次PUT和1000次GET的假设,设每月取回并直接发往互联网的流量为E GB:R2标准层约为29.85美元;S3 Glacier Instant Retrieval约为8.012+0.03×E美元,超过100 GB的部分还要加上每GB 0.09美元互联网出网费。按此算式,E接近257 GB时两者月费相近。20 GB取回时S3低价层明显占优;取回量超过交点后,R2的免出网费逐渐抵消较高的存储费。这个交点依赖所选区域、存储层、对象规模以及AWS免费额度是否仍可用。
迁移还要核对接口和访问路径
费用差额只有在应用功能保持可用时才有意义。R2的S3 API兼容清单逐项标出已实现和未实现的操作;其中对象标签及存储桶复制相关调用未实现。应用若依赖这些能力,应在迁移前核对调用清单;GET、PUT、HEAD、LIST、分段上传、预签名URL、权限与生命周期规则,以及SDK端点和区域配置,也应按现有用法逐项验证。
延迟没有可套用到所有地区和架构的单一数值。面向中国大陆、香港或新加坡用户的服务,应分别考察真实所在地的直连与CDN路径,记录读取延迟、失败率、缓存命中率和回源次数;这些结果同时决定账单中该填多少次存储请求、多少GB存储端出网。若应用运行在同区域AWS计算服务上,S3向该服务传输数据的规则也会改变比较。选择应落在同一业务流量、同一交付架构和实际需要的功能上。
相关阅读:
相关文章
订阅我们的新闻通讯
将最新 Web3、AI 和加密货币新闻直接发送到您的邮箱。




