You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

S3存储桶旧版本未按生命周期规则清理问题求助

S3存储桶生命周期规则未清理旧版本对象问题

背景与问题

我有一个用于存储备份的S3存储桶,每个备份包含30GB和1GB两个文件。我们通过脚本保留14天内的备份,超期则删除,从桶内可见对象来看脚本运行正常,仅留存了预期的14天内的对象。

该存储桶已启用Object Lock(对象锁)和Versioning(版本控制),设置了30天保留期。同时配置了生命周期规则作为故障安全机制,用于清理脚本遗漏的内容,规则如下:

  • 应用范围:桶内所有对象
  • 执行动作:永久删除非当前版本;删除过期的对象删除标记或未完成的分段上传
  • 触发条件:对象变为非当前版本后的90天(未设置版本数量限制)

需说明:每个备份文件始终只有一个版本。

执行命令查看对象版本:

aws s3api list-object-versions --bucket <bucket name>

返回结果中发现存在已近12个月的非当前版本对象,明显超出90天的删除规则范围,示例片段如下:

"Versions": [
 {
            "ETag": "\"XXXXX\"",
            "Size": 5183943176,
            "StorageClass": "STANDARD_IA",
            "Key": "backup/autobackup/2023-11-25_04-05-41/volumes.zip.gpg",
            "VersionId": "XXX.XXX",
            "IsLatest": false,
            "LastModified": "2023-11-24T17:06:09+00:00",
            "Owner": {
                "DisplayName": "support",
                "ID": "XXXXXX"
            }
        }
]

请问哪里操作有误?

补充信息

编辑补充1

该示例对象的保留期信息如下:

{
    "Retention": {
        "Mode": "COMPLIANCE",
        "RetainUntilDate": "2023-12-24T17:06:08.312000+00:00"
    }
}

注:已更新示例对象,因为该对象可通过CLI删除,保留截止日期对应更新后的示例对象。

编辑补充2

已手动删除所有超过30天的对象,因此排除对象锁问题,问题应出在生命周期规则上。


内容的提问来源于stack exchange,提问作者Brett Sutton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 12:16:12