OSS 的计费方式众多,无论是个人还是企业,在实际应用中希望找出较优的 OSS 存储方案,达到节约成本的目的。我整理了下 OSS 的计费方式,提供了几个优化后的方案和思路。
先基本介绍下 OSS 的基本存储类型和收费方式。
存储类型
OSS 的存储类型包含:标准存储类型(Standard)、低频访问存储类型(Infrequent Access)、归档存储类型(Archive)。
标准存储类型(Standard)
标准存储主要用来存储需要频繁访问的数据,比如:用户头像、商品图片、社交图片、音频、视频等。
低频访问存储类型(Infrequent Access)
低频访问存储适合长期保存不经常访问的数据(平均每月访问频率 1 到 2 次),例如:企业数据库的定期备份。
归档存储类型(Archive)
归档存储类型在三种存储类型中单价最低,适合需要长期保存(建议半年以上)的归档数据,在存储周期内极少被访问,数据进入到可读取状态需要 1 分钟的解冻时间。适合需要长期保存的档案数据、医疗影像、科学资料、影视素材。
以上就是 3 种存储类型的一些特性和简单介绍,详细介绍可以查看存储类型介绍。
OSS 的计费模式
- 包年包月:预先购买指定资源包,之后使用资源时,扣除相应的额度。一般情况下,包年包月比按量付费更加优惠。资源包目前仅提供标准型存储包、归档型存储包、下行流量包、 回源流量包,可购买地域请参见购买对象存储OSS资源包。超出部分按照[按量付费]的方式计费。包年包月收费价格如下:
- 按量付费:按实际使用量 * 单价的方式计费,每小时统计前一小时的实际用量并从账户余额中扣除实际消费金额。例如,当前时间是 9:30,结算的是 8:00-9:00 产生的费用。OSS 提供的所有付费服务都支持按量付费。以下是按量付费的价格:
费用组成
- OSS 的费用组成包括:存储费用、流量费用、请求费用、数据处理费用。
- OSS 有 2 项流量费用是免费的,OSS 的所有内网传输都是免费的;从本地上传到 OSS 服务器的流量也是免费的。
OSS 省钱攻略介绍
选择合适的存储类型
- 根据自己的业务选择合适的存储类型,选对存储类型能够节省一笔费用开支。例如,企业数据库的备份文件,属于访问频率比较低的文件,可以作为[低频访问存储类型]存储。存储类型价格从高到底排序:标准存储类型 > 低频访问存储类型 > 归档存储类型
- 长期存储,一般选择[包年包月]类型,一般来说[包年包月]比[按量付费]更加优惠。
选择合适的购买时长
在 OSS 购买页面,购买时长选择 1 年或者 1 年以上,可以享受 7.5 折优惠。
生命周期管理
- 生命周期功能可以高效地管理存储数据,节省人工成本。可以定期将不常使用的数据,转换为[低频存储]或[归档存储],从而达到节省成本的目的。
- 比如:电商公司的商品下架后,对外将不再提供商品详情页面访问,只有在已购用户的订单中,偶尔会打开详情页。OSS 存储中可以将已下架的商品图片转为[低频存储类型],从而节省费用。
- 企业的数据库备份一般会备份 15 天左右的版本,可以将 7 天之前的数据库备份文件转为[归档存储类型],节省存储费用。
- 文件生命周期详细介绍。
利用 SelectObject
- OSS 中如果存储了大文件的 Excel 或者 Json 文件,想要筛选其中部分数据,就需要将整个文件全部下载到本地。外网下载属于[外网流出流量],需要产生费用,但是我们只需要其中的部分数据,这样就造成了流量的浪费,造成额外的费用。
- OSS 的 SelectObject 就是针对以上问题的解决方案,SelectObject 提供了类似 SQL 语言的筛选功能,可以直接筛选想要的数据,样例语句如下:
// 查询第 4 列值大于 40 的数据
select * from ossobject where _4 > 40
利用 CDN 回源流量
- OSS 的其中一项费用来自于[流量费用],而[流量费用]又主要来自于[外网流出流量],CDN 能降低 OSS 的外网流量费用。CDN 会将 OSS 的源文件分发到全国的服务器节点上,用户访问时,会直接访问离用户最近的节点数据,并不会读取 OSS 的源文件,所以也不会消耗 OSS [外网流出流量]费用,从而达到节约[外网流出流量]费用的目的。
CDN 相对于 OSS 访问,有 2 个明显的优势。
- 提高速度和体验。CDN 在全国大部分地区都部署了节点,能够明显提升 OSS 的访问速度。
- CDN 的外网流量费用相对 OSS 外网流量较低,仅为 OSS 外网流量的 50%。
- 使用 CDN 加速 OSS,阿里云实行了优化的回源策略,CDN 回源 OSS 请求产生的 OSS 流量费用单价为 0.15元/GB,即使 OSS 的源文件没有在 CDN 节点存储,产生的总费用也还是低于 OSS 的[外网流出费用]。
- CDN 如果已经缓存 OSS 文件,则不会再产生 OSS [外网流出费用]。
实际举例
- 例如公司的图片存储量大约为 1TB,下行流量大约为 1TB/月,请求次数大约为 1000 万/月,以下存储计算方式按照[标准存储类型]计算,外网流出流量费用按照[忙时流量费用]计算。
选型 | 存储费用 元/月 | 流量费用 元/月 | 请求费用 元/月 | 总费用 元/月 |
---|---|---|---|---|
按量付费 | 0.12元/GB/月 * 1024GB = 122.88 元 | 0.50元/GB * 1024GB/月 = 512 元 | 10,000,000 * 0.01 元/10000 = 10 元 | 644.8 元 |
包年包月(6 个月) | 555(6 个月 1 TB 价格) / 6 = 92.5 元 | 2,525(6 个月 1 TB 流量费用) / 6 = 420.83 元 | 10,000,000 * 0.01 元/10000 = 10 元 | 523.23 元 |
包年包月(1 年时长) | 999(1 年期 1 TB 价格) / 12 = 83.25 元 | 4545(1 年期 1 TB 流量费用) / 12 = 378.75 元 | 10,000,000 * 0.01 元/10000 = 10 元 | 472 元 |
CDN(1 年期) | 999(1 年期 1 TB 价格) / 12 = 83.25 元 | 76.8 + 180 = 256.8 元(见附1 和 附2) | 1 元(见附3) | 341.05 元 |
CDN 费用计算方式
- 热度较高的文件 CDN 的回源率大约在 10% 左右,所以计算的时候,直接按照 10% 计算,1000 万的请求数,回源请求数量大约为:1000 万 * 10% = 1,000,000(1 百万)。
- 附 1:CDN 回源流量费用 = 512 GB(回源流量) * 0.15元/GB = 76.8,我们设定每月的流量是 1TB,512 GB 是简单的按照一半大小来估算的,CDN 回源率在 10% 左右,实际上真实的流量不会到 512 GB 这么大。况且每一张的图片大小都不一样,所以无法估算出具体的真实流量,所以只能简单的按照一半大小举例来做计算。
- 附 2:CDN 公网流量费用:180 元(1 年期 1 TB 费用)。
- 附 3:CDN 回源请求费用 = 1,000,000 * 0.01 元/10000 = 1 元