阿里云国际 OSS 存储类型与生命周期规则:把冷数据成本降下来
对象存储的费用通常不是因为存得多而失控,而是因为所有数据都按同一种方式存着。冷热不分,等于让几年没被访问过的文件和每天都在读的文件付一样的价钱。
存储类型的本质差别
不同存储类型的区别不只是单价,而是在三个维度上做了不同取舍:存储单价、访问成本、取回延迟。
标准类型单价最高,但读取即时且不额外收取取回费用,适合频繁访问的数据。
低频类型单价降低,代价是读取时可能产生取回费用,并且存在最小存储时长要求。适合偶尔访问的数据,比如近期归档、历史报表。
归档类型单价更低,但读取前需要先恢复,恢复过程需要时间,且取回成本更高。适合基本不会读、只为合规或备份保留的数据。
选择的依据不是数据有多老,而是它被读取的频率和读取时能接受多长的等待。
最小存储期是最容易踩的坑
低频和归档类型通常附带最小存储时长。数据在未满这个时长前被删除或转换,仍会按最小时长计费。
这带来一个反直觉的结论:把生命周期短的数据转成便宜的存储类型,可能反而更贵。比如日志文件保留三十天就删除,如果在第七天转成有更长最小存储期的类型,删除时会产生补足费用,抵消甚至超过节省的存储费。
正确做法是先算清数据的实际保留时长,只对确实会长期留存的数据做转换。保留期短于最小存储期的,留在标准类型更划算。
生命周期规则怎么设计
生命周期规则的作用是把转换和清理自动化,避免依赖人工整理。
设计时按前缀或标签划分数据集合,为不同集合设置不同规则。比较常见的组合是:原始上传保留在标准类型一段时间以应对近期访问,之后转入低频,再往后转入归档,最终在超过保留要求时删除。
关键是每一档的时间点要和真实访问模式对应。可以先看访问日志,统计文件在上传后多久还会被读取,用数据决定转换时点,而不是凭感觉设一个月。
规则生效后要复核结果。转换是异步进行的,设置完成不等于立即生效;也要确认规则的匹配范围没有意外覆盖到不该转换的数据。
别忘了清理未完成的分片上传
大文件通常以分片方式上传,如果上传中断且没有清理,已上传的分片会留在存储桶里继续计费,而在常规的文件列表中并不显眼。
长期积累的分片碎片可能占据可观容量。生命周期规则里应当包含一条清理未完成分片的规则,设定一个合理的过期天数自动回收。
同理,如果开启了版本控制,历史版本也会持续占用容量。需要为历史版本单独设置保留策略,否则每次覆盖写入都在积累成本。
取回费用要单独估算
从低频或归档类型读取数据可能产生取回费用,这部分与存储费用分开计算。如果对某类数据的访问频率估计偏低,实际读取远超预期,取回费用会把存储上的节省全部吃掉。
一个稳妥的做法是先观察再转换:把候选数据在标准类型下的访问情况统计一段时间,确认访问确实稀少,再执行转换。对于访问模式不稳定的数据,宁可保守一些。
从盘点开始
优化的第一步不是改配置,而是搞清现状:容量主要由哪些前缀占据、这些数据最后一次被访问是什么时候、有没有明确的保留期要求。
多数情况下会发现容量高度集中在少数几类数据上。优先处理这几类,收益最大;剩下的长尾即使全部优化,节省也有限,不值得投入同样的精力。
一个可参考的分层规则
以用户上传的文件为例,可以按访问衰减规律设计规则。
刚上传的文件访问最频繁,保留在标准类型。经过一段时间访问明显下降后转入低频类型。再经过较长时间基本不再被访问,转入归档类型。如果业务上存在明确的保留期限,到期后自动删除。
每一档的时间点应当由访问日志推导,而不是取一个整数月。做法是统计文件在上传后不同时间段内被访问的比例,找到访问量明显下降的那个拐点,把它作为第一次转换的时点。
同时要为不同类型的数据设置不同规则。用户头像可能长期偶尔被访问,适合停在低频;而导出的报表下载一次就不会再看,可以更快转入归档甚至直接删除。用同一套规则套所有数据,必然有一部分是错的。
转换之前先算一遍
在批量转换之前,用少量数据验证成本模型,比直接全量转换更安全。
需要算清三项:转换本身是否产生请求费用,数据量大时请求数可能相当可观;转换后的存储费用相比原来省了多少;预计的取回次数会带来多少取回费用。三项相加,才是真实的净收益。
有一种情况需要特别注意:文件数量极多而单个文件很小。这种情况下请求相关的费用可能超过存储节省,转换反而不划算。小文件更适合的优化方向是合并存储,减少对象数量,而不是变更存储类型。
另外要确认这批数据的保留期是否长于最小存储时长。如果数据会在最小存储期之前被删除,转换必然产生补足费用,净收益为负。这一条是转换决策的硬性前提,应当先确认再动手。
腾讯云国际和阿里云国际商品当前开放;AWS 与 Google Cloud 商品目前未开放,本文不提供相关导流。存储类型、最小存储期、取回规则与计费项均以对应国际站控制台实时信息为准。
官方来源
常见问题
阿里云国际 OSS 存储类型与生命周期规则需要注意什么?
操作前先确认账号属于阿里云国际对应站点,并备份关键数据或记录当前配置。按本文步骤完成后做一次验证。需要账号可申请账号,续费见自助充值。
出错后如何快速回滚或止损?
优先恢复到变更前的快照、镜像或原规则;若涉及计费或销毁类操作,先停止继续变更,再按官方控制台状态与工单路径处理。不确定时不要反复点击高危按钮。
没有对应云账号时怎么开始?
可先通过申请账号开通国际云账号,再用自助充值完成额度准备。新账号建议先完成 MFA、访问密钥收敛与费用告警,再部署业务。