有没有什么办法可以恢复意外删除的 Amazon S3 存储桶?
我们的存储桶里有关键信息,我需要降低意外或恶意删除存储桶本身的风险。
我知道我可以在本地同步整个存储桶,但如果我的存储桶大小为 100GB,这就不太实用。
对备份策略有什么想法吗?
答案1
另一种方法是在存储桶上启用 S3 版本控制。然后您可以恢复已删除的文件等。请参阅 S3 文档以了解如何启用此功能
使用第三方工具如桶探索器使版本控制工作变得非常简单(与直接调用 API 相比)。
您还可以为 S3 存储桶启用多因素身份验证删除 - 这使得“意外删除”变得更加困难 ;)
答案2
你可以使用 s3cmdhttp://s3tools.org/s3cmd
因此要备份一个名为 mybucket 的 bucket
s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup
答案3
一个可能的解决方案是创建一个“备份存储桶”并将您的敏感信息复制到那里。理论上,您的数据在 S3 中比在硬盘中更安全。
另外,我不确定意外删除是否是一个真正的问题,因为你需要偶然删除存储桶之前,请先删除所有存储桶键。
答案4
这不是一个便宜的解决方案,但如果您的存储桶确实很重要,您可以这样做:启动Amazon EC2 实例并定期同步那里的内容。
Amazon EC2 是他们的虚拟化托管提供商。您可以启动 Linux、Windows 等实例并运行任何您想要的东西。您按小时付费,并且您会在本地获得该服务器的相当大的存储空间。例如,我使用“大型”实例,它带有 850GB 的本地磁盘空间。
很酷的是,它与 S3 位于同一网络上,您可以在 S3 和 EC2 之间进行无限制传输。我使用 20 美元的丛林磁盘软件在 Windows EC2 实例上,它允许我访问我的 S3 存储桶,就像它们是本地磁盘文件夹一样。然后我可以执行计划的批处理文件,将内容从 S3 复制到我的本地 EC2 磁盘空间。如果您愿意,您可以自动执行每小时备份,或者如果您想冒险一试,请设置 JungleDisk(或其 Linux 等效程序)以每小时同步一次左右。如果有人删除了文件,您至少有几分钟的时间从 EC2 中恢复它。不过,我建议使用常规脚本备份 - 如果您将备份压缩到 850GB 卷上,则很容易保留几天的备份。
这对于 SQL Server 日志传送确实很有用,但我也知道它如何实现您的目标。