摘要

  • 启用版本控制的S3存储桶收到不指定版本的普通删除后,会生成删除标记,而不是永久擦除数据版本;普通读取可能返回404,但旧版本仍保留并适用正常费率。
  • “已到期的删除标记”是数据版本已经删除后的剩余标记。清理它不等于让旧数据版本到期,后者有独立的时间、版本数量和保护条件。
  • 真正符合生命周期到期条件、等待异步移除的对象有AWS明确说明的费用例外,不能把物理移除延迟写成自动继续计费;某些存储类别的最低时长承诺又是另一件事。

两个部门看见了不同的结束

应用团队删除了不再需要的项目,程序随后找不到它,任务便可以结束。存储团队却可能还在保存该项目的历史。这并不意味着有一方报告失实,而是他们使用的“结束”指向不同状态。

AWS的版本删除说明明确描述了启用版本控制的情况:普通删除没有指定版本标识,系统就添加删除标记,数据版本不会因此被永久删除。标记成为当前版本,原来的数据仍可作为非当前版本存在。

删除标记说明还指出,不指定版本的读取在当前版本是标记时返回404,普通对象列表也不会返回这类对象键。因此,“打不开”和“列表变短”都可能是准确观察,却都不是完整版本清单。

这一区别会进入企业采购和验收。如果应用团队的完成消息被直接转交给财务作为存储缩减证据,两个局部正确的报告就会拼成一个未经证明的经济结论。本文没有检查客户账单,没有发现隐蔽收费,也没有指控AWS计费错误;讨论的是供应商公开描述的产品状态。

小标记不能代表大数据

AWS说明,正常费率适用于存储和传输的每个对象版本,包括非当前版本。旧版本退出日常视图,不会自动退出计费单位。只统计可见对象键,无法推算仍被保存的数据字节减少了多少。

标记本身没有数据内容,存储占用对应对象键名称的UTF-8编码大小,并放在S3 Standard中。它的小额占用,与背后旧数据版本的占用不是同一个量。若成本复盘只盯标记数,可能清理了很小的残留,却没有解释主要的保留承诺。

这些承诺也不一定是坏事。误删或覆盖发生后,旧版本可能提供企业原本想购买的恢复选项。问题是这个选项是否仍有需求、是否有人批准它继续存在,而不是凡非当前版本都应被叫作垃圾。本文没有测量恢复选项的价值,也没有估算客户浪费了多少存储。

到期标记的名字,不能反过来解释数据

AWS的标记管理指南把“已到期的对象删除标记”定义为所有对象版本已删除后唯一留下的标记。清理最后这个残留,并不是删除旧数据版本的动作;定义本身已经以数据版本不再存在为前提。

重复普通删除也不是同一回事。当前版本已经是删除标记时,不指定其版本标识的删除会添加另一个标记。反过来,移除当前标记可能让更早的数据版本重新成为当前版本,恢复普通读取中的可见性。这些操作改变不同状态,不能仅凭名称就说存储已经终止。

本文没有执行或建议执行任何云端删除操作。编辑上的重点在验收语言:“已删除对象”报告究竟统计退出视图的键、被移除的标记,还是永久移除的数据版本?若没有这句话,报告标题就没有告诉财务实际发生了哪一种变化。

生命周期的第二只时钟

对象到期指南区分当前版本到期与非当前版本到期。启用版本控制时,当前数据到期可以生成标记、把数据变成非当前版本,却不会顺带让其他非当前版本全部到期。

生命周期配置元素说明进一步指出,如果同时配置非当前天数和保留的较新非当前版本数量,两个阈值都要超过,相关旧版本才会被删除。这里的天数从成为非当前版本起计算,不必等于从最初创建起计算的年龄。

所以,一条被概括为“保留若干天”的规则,可能还有一项有意保留若干版本的条件。验收只看天数,会遗漏产品实际上被要求保留什么。非当前版本的永久到期删除又不能通过这个机制恢复,因此确认规则是在决定恢复能力,也是在决定成本。

Object Lock注意事项提供了另一条边界:生命周期仍可放置标记、转换存储类别,却不能用到期策略删除受保护版本。删除标记本身不受WORM保护。一个对象在普通视图里消失,同时受保护数据继续存在,可以是设计要求,并非数据已经销毁或保护已经失效的证据。

真正到期的费用例外必须保留

保留版本的成本论证不能扩展到所有物理残留。AWS明确说明,真正已经到期的对象可能等待异步物理移除,对到期及相关到期对象的存储时间不收费。仅仅看到移除尚未完成,不能据此指控费用继续累积。

但这一例外也不能套到所有被标记遮住的旧版本上。需要先证明该版本符合适用的到期条件。到期指南还说明,待处理或失败的复制状态会阻止相应生命周期动作。本文没有读取某客户的版本、规则或复制结果,因而不作个案判断。

S3价格页面则说明某些类别的最低存储时长:Standard-IA和One Zone-IA为30天,Glacier Instant Retrieval和Flexible Retrieval为90天,Deep Archive为180天。提前删除、覆盖或转换类别,可能产生剩余最低期间的按比例费用。这不是S3 Standard一律至少收费30天的规则。

该页面同时写明DELETE和CANCEL请求免费。请求本身零价格,不代表仍保存的数据版本或适用的最低期间承诺免费。本文没有据此计算区域单价、客户总额或实际节省。

让预算看见版本的理由

Storage Lens指标词汇表把非当前版本字节与删除标记字节分开,还说明当前版本对象数量包含当前删除标记。“当前”因此不能随手读成“能打开的文件”。免费指标按日收集,也不是每次状态变化的即时证明。

Storage Lens不把已经到期、尚待移除的对象纳入相关指标。它的报告边界并不等于全部物理存在,更不等于实时取证或一张真实账单。它可以帮助组织提出更准确的问题,前提是不替指标添加它没有承诺的含义。

对买方真正有用的验收对象,是版本状态和保留理由的对账:恢复仍有需要、保护仍适用、条件尚未达到,或者数据真正到期。404属于另一列观察。版本控制的价值恰在于消失可以不是不可逆的;同样的属性,也让消失不能证明经济承诺已经结束。

来源