将 EBS 快照复制到 S3 以实现低成本存储

将 EBS 快照复制到 S3 以实现低成本存储

目标:能够将 EBS 快照复制到 S3,并将其视为任意对象,如果我愿意,我可以将其下载到本地机器上。

我理解 EBS 快照实际上是由 S3 支持的 - 它们只是不会出现在“正常”存储桶中。我看到的用于复制快照的控制台和 CLI 机制似乎专注于将快照从一个区域“作为快照”复制到另一个区域,而不是作为“任意对象”复制到 S3。

据我所知,EBS 快照的 $/GB 费用高于 S3 中对象的费用...因此,如果我有一些快照想长期保留(但很快我不会需要它们),我想将它们作为对象“存档”到 S3...本质上:

  1. 将快照作为对象复制到 S3
  2. 删除 EC2 中的快照
  3. 五六个月过去了
  4. 将 S3 中的对象作为快照复制到 EC2
  5. 从现在显示在 EC2 中的快照创建卷

这能做到吗?

答案1

亚马逊不提供此功能。

答案2

截至 2016 年 8 月 11 日 AWS 快照成本每 GB 0.05 美元,减少了 47%。标准 S3 仍然更便宜,每 GB 约 0.03 美元。我猜差异肯定在于管理开销。

答案3

我现在已经创建了一个名为的开源工具,snap-to-s3它可以实现这一点。它将快照转换为临时 EBS 卷,然后打包、压缩并将卷的分区上传到 S3:

https://github.com/thenickdude/snap-to-s3

如果愿意,您可以选择使用dd而不是保留卷的每个字节。tar

答案4

一个不那么容易的技巧:

  • 将 EBS 附加到另一台机器(未安装,只读)
  • 制作卷的 dd 映像
  • 将 dd 图像移动到 S3

要恢复 dd 映像,请查看如何将 dd 映像还原到 EBS 卷

相关内容