摘要

  • Amazon S3 当前的 Lifecycle 默认行为阻止小于 128 KB 的对象转入任何存储类别。2024 年 9 月前的默认行为则允许这类对象转入 S3 Glacier Flexible Retrieval 或 Deep Archive。
  • 旧配置在未修改时保留旧行为;新增、编辑或删除规则会使配置采用新默认值。明确选择旧行为或设置自定义对象大小筛选器,可以改变这一结果。

保存成功,不代表小对象仍会按原计划搬走

运维人员打开多年前的 Lifecycle 配置,只想调整某条规则的前缀或时间。更新成功,规则仍显示为启用。然而 AWS 文档指出,旧配置的默认小对象处理会在修改规则后切换。原来可以进入 Glacier Flexible Retrieval 或 Deep Archive 的小于 128 KB 对象,如今在没有显式例外时不会被默认转入任何类别。

这条边界说的是转储资格,不是对象被删除。旧默认值也没有保证每个小对象都会搬走:它们仍须符合规则的其他条件。真正的风险是团队沿用旧账本假设,以为低成本存储会继续接收同一批对象,却没有核对新配置的有效大小门槛。

AWS 设门槛有经济理由。每个对象的转储请求都收费,微小对象的请求费可能超过存储费节省。若进入 Glacier Flexible Retrieval 或 Deep Archive,每个对象还附带 40 KB 的计费元数据,其中 8 KB 按 S3 Standard、32 KB 按归档类别计费。平台用统一默认值挡住常见的坏交易,但不能替客户计算具体对象分布。

客户仍可主动选择。AWS 的示例用对象大小筛选器放行小对象;自定义筛选器优先于默认门槛。对通用存储桶,生命周期 API 还提供旧的按类别处理与新的全类别 128 KB 门槛两种默认设置。要决定是否放行,先拿到对象数量、大小、目标类别、转储请求和预计保留时间。缺了这些,不能凭规则推算某个存储桶的账单。

来源