本包目录(206 条)
备份基础与策略41 条文件与系统备份53 条
数据库与云备份56 条
容灾架构30 条演练与恢复26 条

S3 版本控制

保留对象历史版本:覆盖写入生成新版本、删除产生删除标记,可恢复误删误覆盖;配合生命周期管理非当前版本控制成本。

备份与容灾速查数据更新于 2026-10-12

开启与操作

开启与操作
aws s3api put-bucket-versioning --bucket my-backup-bucket \
  --versioning-configuration Status=Enabled

aws s3api list-object-versions --bucket my-backup-bucket --prefix daily/ \
  --query 'Versions[0:5].[Key,VersionId,IsLatest]' --output table

# 恢复被删除对象:先找到删除标记再移除
aws s3api delete-object --bucket my-backup-bucket --key daily/db.sql \
  --version-id <delete-marker-version-id>
删除语义普通 DELETE 只加删除标记,历史版本仍保留
开关版本控制只能暂停不能彻底关闭
成本所有版本都占存储,需 NoncurrentVersionExpiration 清理
删除标记本身也是一个版本;移除标记即可让对象恢复可见,不需要重新上传。

易错点

  • 开启后不配生命周期清理,存储与成本只增不减
  • 基于过期的删除同样会留下删除标记,历史版本清理要单独配置规则

数据来源与参考

  • AWS 文档(Using versioning in S3 buckets)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌