且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

正确使用OSS Lifecycle机制节约数据存储费用

更新时间:2021-07-31 05:29:02

背景

​​OSS提供标准、低频访问、归档三种存储类型,全面覆盖从热到冷的各种数据存储场景。用户可以对一个Bucket中有需要的Object设置Lifecycle规则,实现一个Object从Standard -> 低频 -> 归档 -> 过期删除的生命周期管理。 只要规则设置合理,且使用场景设计好,就可以利用Lifecycle机制节约数据存储费用。

数据转为低频、归档类型规则设置

规则设置步骤:
正确使用OSS Lifecycle机制节约数据存储费用

点击添加或者编辑已有规则时,天数设置请按照转换到低频访问 < 转换到归档冷备 < 删除Object的标准,且尽量设置一个合理的值。规则设置完成之后,在24小时内会生效。一旦规则生效,匹配规则的Object将会转换执行转低频、归档类型,或者删除,且无法逆转(即无法将过期删除的数据恢复出来,也无法将归档、低频的数据恢复到标准类型)。
正确使用OSS Lifecycle机制节约数据存储费用

​​注意事项:
Lifecycle能够实现从Standard转IA、Archive, IA转Archive。
如果一个object已经从Standard转为IA或者Archive后,无法再从Archive或者IA转为Standard。​

存储容量及费用计算

  1. 标准类型的存储费用:0.148元/GB/月
  2. 低频类型的存储费用:0.08元/GB/月
  3. 归档类型的存储费用:0.033元/GB/月

低频访问存储类型与归档存储类型有最小计量大小为:128 KB, 即IA或者Archive类型的Object小于128KB也按128KB计费。

考虑如下两种场景:
1. 假设某个Standard类型的Bucket有102400个1 byte的standard类型Object,102400个1byte的 IA类型Object, 102400个1byte的Archive类型Object:
则它的存储容量为:  102400 * 1 byte + 102400 * 1byte + 102400 * 1byte = 300 KB
它的月存储费用为: (102400 * 1B * 0.148  +  102400  * 128KB  * 0.08 + 102400 * 128KB * 0.033) / 1GB = 5.125元

2. 假设某个Standard类型的Bucket有307200个1 byte的standard类型Object. 
则它的存储容量为:307200 * 1 byte = 300KB
它的月存储费用为:307200 * 1B * 0.148 / 1GB = 0.00004元

注意事项:
Lifecycle转IA/Archive适用于Object普遍大于(128KB)的场景。
如果一个Bucket下面小文件(小于128KB)居多,使Lifecycle将Object转成IA或Archive后,未必能够节省存储费用。

最小存储时间要求及费用计算

  1. 标准存储类型的Object没有最短存储时间的限制
  2. 低频存储类型的Object有30天的最短存储时间要求
  3. 归档存储类型的Object有60天的最短存储时间要求
如下场景:
1.  1个100GB的Standard类型 Object,上传24小时后删除,则它的存储费用为:0.148元/月 * 100GB /30天  = 0.9元
2. 1个100GB的IA类型Object,上传24小时转IA后删除,则它的存储费用为: 0.08元/月 * 100GB * 1月 = 8 元
3. 1个100GB的Archive类型Object, 上传24小时转Archive后删除,则它的存储费用为: 0.033元/月 * 100GB * 2月 = 6.6元

注意事项:
Lifecycle转IA/Archive场景适用于需要保存较长时间的Object。
如果被频繁的覆盖与删除,则适合使用Standard类型。​​​

低频、归档数据类型的取回费用计算

  1. 标准存储类型的Object没有数据取回费用;
  2. IA存储类型的Object,在每次调用GetObject接口(即下载数据)时产生: 0.06元/GB
  3. Archive存储类型的Object,在调用Restore接口(即解冻数据)时产生:0.06元/GB
如下场景:
1. 1个100GB的Standard类型 Object,调用10次GetObject接口,数据取回费用为: 0元
2. 1个100GB的IA类型Object, 调用1次GetObject接口,数据取回费用: 6元
3. 1个100GB的Archive类型Object,调用1次Restore接口,数据取回费用:6元​​

注意事项:
Lifecycle设置Standard转IA适用于月平均访问次数非常低的场景,即低于1次/月的Object。
Lifecycle设置Standard转Archive适用于不需要频繁读取且不需要立即读取的场景,即解冻次数低于1次/月的Object。​​​

总结

  1. Lifecycle能够实现从Standard转IA/Archive, IA转Archive。但是不能从Archive -> IA -> Standard的逆向转换。
  2. Lifecycle转IA/Archive适用于需要保存较长时间的Object。
  3. Lifecycle转IA/Archive适用于访问次数非常少或者基本不访问。
  4. Lifecycle转IA/Archive适用于Object普遍大于(128KB)的场景。