经常有事没事去逛Cloudflare的Dashboard的,大概会发现不知道什么时候他们家的控制台侧边栏多了R2(BETA)按钮。
R2事甚麽(迫真)?
零出口费用的分布式对象存储
不错R2事Cloudflare他家推出的对象存储,其实对标的是AWS(Amazon Web Server)的S3对象存储服务。
对象存储其实算是云服务商提供的一种最基本的服务了,腾讯云的COS、阿里云的OSS、字节跳动的TOS、七牛云的Kodo、Azure Blob存储、AWS S3(老本家了)等等都提供了这样的服务。而在这服务之中有一个贯通的标准就是AWS率先提出的S3标准 (Simple Storage Service,简单存储服务),为了获得更好的兼容性云厂商通常都会提供支持这一标准的服务,当然也有些例外(如又拍云的USS,Bunny Storage)就仅支持自家的SDK和FTP协议。您可以参考《一文读懂 AWS S3》这篇文章更好理解。
那它有什么特点呢?我们逐一来看。
价格方面/Cost
由于每个人的存储需求不一,另外各个云厂商的收费条目的标准亦不一样。这里,我们只能简单的从单位存储价格,流量流出费用,GET等请求的费用来进行比较。
单位存储价格
R2为每位用户提供了10GB/month的免费额度,超出用量后将收取0.015 美元/GB的费用。我们也对比了友商的服务,以美国US-east地域为地点,标准储存规格为标准进行比较。
云厂商 | R2(CLOUDFLARE) | AWS S3 | ALIBABACLOUD OSS | Google Cloud Storage | Oracle Cloud Storage | Backblaze B2 Cloud Storage |
单价(USD/GB*Month) | 0.015 | 0.023 | 0.014 | 0.020 | 0.0255 | 0.005 |
可以看到,在存储单价上算是比较低的,尽管卷不过Backblaze那样价格杀手。值得一提的是,与其他普通对象存储不同的是,Cloudflare的R2存储是分布式的,这也就意味着您的数据在全球多个Cloudflare数据中心都有repeation,这也就意味着您可以普通单一地域存储节省在全球部署可能遇到的CDN费用和节点缓存问题。另外,这里也顺便提一下,在后面配置s3兼容访问的时候您需要将region设定为auto。
流量流出价格&&单get object请求价格
这一点Cloudflare似乎直接碾压其他服务商,依靠着Cloudflare强大的带宽联盟流量流出费用直接免掉了,这一特点就直击了其他厂商收取高昂流量的痛点,这样妈妈就再也不用担心我的对象存储被刷流量啦!
戳啦,还有objectget费用!
而get请求方面就复杂了,首先Cloudflare将对对象存储的请求分为了A、B两类请求,A类请求包括ListBuckets, PutBucket, ListObjects, PutObject, CopyObject, CompleteMultipartUpload, CreateMultipartUpload, UploadPart还有UploadPartCopy.
B类请求包括HeadBucket, HeadObject,和GetObject,而DeleteObject, DeleteBucket and AbortMultipartUpload则是免费。
在免费套餐中,cloudflare默认赠送了一百万次的A类操作和一千万次B类操作,超量后价格分别为4.50刀和0。36刀每百万次请求。
而Cloudflare创建的对象存储空间是私有,这就意味着如果您想要通过s3兼容的api访问,您需要携带token进行访问。
因此,cloudflare也机智的将r2存储与他们家的SERVERLESS应用worker绑定在一起,即若您需要实现公开访问,您需要考虑worker的费用。Worker方面有每天十万次免费额度,超出后0.15刀每百万次请求。
云厂商 | R2(CLOUDFLARE) | AWS S3 | ALIBABACLOUD OSS | Google Cloud Storage | Oracle Cloud Storage | Backblaze |
流量流出价格(USD/100GB) | - | 2.00 | 7.6 | 12 | 前1t免费 | 1 |
objectGet费用(USD/Million) | 自己算 | 0.4 | 0-5亿次免费,5亿次以上0.1 | 0.4 | 0.34 | 每天免费2,500次,然后0.4 |
大概就这样吧。
总的来说,如果您需要存储一些尺寸比较大的文件,并且需要经常进行下载等get操作的,像xx公司的几百MB的软件等,那么cloudflare会比较划算。然而存储空间不能直接公开访问的这一特点又其实让人不爽,希望以后能有机会看到可以权限设置为public吧。
下一篇文章将介绍创建对象存储空间,S3兼容协议的访问以及worker绑定使用。