将 AWS EFS 备份到 S3

将 AWS EFS 备份到 S3

我一直在拼命寻找一种方法将我的 AWS EFS 文件系统备份到 S3,但似乎找不到。

有多个 EC2 实例正在运行,它们都可以访问上述 EFS。为了减少流量,我已经尝试启动 Lambda 函数,该函数通过 SSH 连接到 EFS 实例并运行“aws s3 sync ...”。不幸的是,从 Lambda 服务进行 SSH 似乎不是一个好的生产就绪解决方案。

我也尝试过调整 DataPipeline,但仅仅为了备份而启动额外的实例似乎也很麻烦。

有没有简单的方法将 EFS 备份到 S3?
欢迎提出任何建议。

答案1

实际上,我认为 S3 Sync 就是您想要的。也许在 EC2 实例上设置 Cron 并以此方式调用 S3 Sync?您也在使用 ECS 吗?我有一个 Cron 容器,可以很好地完成这项工作。对于那些不熟悉 AWS CLI 的读者(https://aws.amazon.com/cli/)S3 Sync 的语法如下:

aws s3 sync /path/to/source/ s3://bucket/destination/

答案2

  1. 使用以下工具备份 EFS阁楼在一个 EC2 实例上创建压缩的、增量的、重复数据删除的备份。
  2. 使用S3FS或者使用 S3 API 将这些文件上传到 S3。我个人使用 dropbox 上传脚本,效果也很好。

请注意,Attic 会按照您指定的时间间隔运行,但仅保留您指定的检查点。例如,您可能有每日备份,但它只会在第一个月后保留每月备份,在第一年后保留每年备份。因此,它会从存储中删除文件。如果您不从存储库中删除文件,这不会造成任何影响,但您将使用比所需更多的存储空间。这就是为什么同步 Attic 备份文件可能比复制更好。

答案3

建议使用 AWS 生命周期钩子。此选项提供可靠的控制(即超时等)。 https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html

相关内容