AWS S3配置1天可恢复防误删 非当前版本未自动永久删除问题
问题根因
配置不生效的核心原因是你仅勾选了永久删除非当前对象版本的开关,没有设置非当前版本的过期天数阈值,该参数留空时S3不会触发对应的永久删除动作,因此被删对象的历史版本会一直留存。
符合预期的正确配置流程
前置确认:存储桶版本控制必须处于已启用(Enabled)状态,不能是暂停状态,否则无法留存删除对象的可恢复历史版本。
- 新建或编辑现有生命周期规则,按需选择规则适用范围(全桶防护选「应用到存储桶中的所有对象」,仅防护指定路径则配置对应前缀/标签):
- 在非当前版本过期配置区,勾选「永久删除对象的非当前版本」后,必须在对象成为非当前版本后的天数输入框填写
1。这是你之前漏配的核心参数:只有明确指定天数,S3才会按时间阈值清理历史版本。 - 在过期对象删除标记与未完成分片上传清理配置区,勾选对应选项后,将「分片上传启动后未完成即清理的天数」也设置为
1。空删除标记的清理不需要额外配置天数,当对应路径下所有非当前版本被清理完成后,规则会自动移除无关联版本的空删除标记。 - 不要给当前版本配置任何过期规则,否则正常上传的对象满1天后会被自动删除,完全不符合防误删的设计目标。
- 在非当前版本过期配置区,勾选「永久删除对象的非当前版本」后,必须在对象成为非当前版本后的天数输入框填写
生效注意事项
- S3生命周期规则不是实时触发的,配置完成后最长可能等待48小时才会执行第一次清理任务,刚配置完不会马上删除超期版本属于正常现象。
- 验证逻辑:手动删除对象后,原对象会转为非当前版本、同时生成一个删除标记,当该非当前版本的生成时间满24小时后,生命周期任务会在下次执行时永久删除该历史版本,同时清理对应空删除标记,此时对象将无法再恢复。
- 如果开启了MFA删除,仅会影响手动删除/恢复版本的操作验证流程,不会干扰生命周期规则自动清理非当前版本的动作。
内容的提问来源于stack exchange,提问作者Quentin Chartreux
相关产品推荐
相关产品推荐

