自动从 S3 删除旧备份并每月移动到冰川

Dsc*_*oni 3 backup amazon-s3 backup-strategies amazon-web-services

我已设置 Gitlab 将每日备份保存到 Amazon S3 存储桶。我想在冰川上保留一年前的每月备份,在标准存储上保留一周前的每日备份。使用 S3 生命周期规则,此清理策略是否可行?如果是,怎么办?

Joh*_*ein 5

Amazon S3 对象生命周期管理可以转换存储类和/或删除(过期)对象。

它还可以与版本控制一起使用,以便不同的规则可以应用于“当前”版本和“所有先前”版本。例如,当前版本可以保持可访问,而以前的版本可以转换到 Glacier 并最终删除。

然而,它确实有“每月备份”或“每周备份”的概念。相反,规则平等地应用于所有对象。

为了实现您的每月/每周目标,您可以:

  • 每个月的第一个备份存储在特定目录(路径)中
  • 将其他备份存储在不同的目录中
  • 对每个目录应用不同的生命周期规则

或者,您可以对所有备份使用相同的生命周期规则,但编写一些代码以不同的时间间隔删除不需要的备份(例如,每天都会删除一周前的备份,除非它是该月的第一个备份)。该代码将作为每日 Lambda 函数触发。