备份S3存储桶的一般策略是什么?

我们正在开始一个涉及在S3中存储大量数据的项目。 S3在扩展方面非常出色,我们期望拥有高达5TB和百万的文件。 虽然我可以信任亚马逊存储数据,但我并不认为软件绝对没有错误。

我们有EBS-snapshots机制能够将EBS-volume的状态恢复到之前的状态。 但是,如果我们能够在3天之前把斗状态恢复到状态呢?

UPD。

这个问题提出了关于“如何备份整个云计算基础架构的全新想法? 您的灾难恢复计划是什么?” 如何备份Route53? CloudFront设置? 需要多less时间才能从脚本错误中恢复或无法访问根控制台?

备份S3存储桶的一般策略是什么?

根据您存储的数据,您可能不希望从S3备份数据。 例如,如果您拥有通用网站资产,而您在其他位置的资源库中已有副本,则可能无需备份S3中的资产。

有时您可能会使用S3来存储用户上传。 这些可能来自EC2,也可能直接进入S3。 使用对象版本控制能够从脚本错误或用户删除文件,但改变他们的想法是有道理的。 http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html

据我所知,版本控制是在对象层面上完成的,所以如果你想“回到3天前你的存储桶的外观”,你需要构build一个脚本来检查所有版本和date,并请求正确的版本为每个对象。 这是可以做到的,首先需要在应用程序层面进行一点点的努力。

您可以查看其他方法,例如将所有S3存储桶对象同步到另一个服务(第三方服务器或EBS支持的EC2)。 这可能是您的每日或每周快照。 这种方法增加了额外的成本,维护和努力,所以可能不是最好的解决scheme,特别是对于5TB的数据。

“您如何备份整个云基础架构?您的灾难恢复计划是什么? 如何备份Route53? CloudFront设置?

根据你想走多远,所有这些信息应该是脚本和configuration文件。 这些configuration文件应该被备份。 这涉及DEVOPS和基础设施作为代码的概念。

需要多less时间才能从脚本错误中恢复或无法访问根控制台?

这个问题听起来很难回答。 什么样的脚本错误? 第一个问题涉及到一个例子(一个脚本删除S3上的一个文件),但还有更多。

你可以看看SimianArmy https://github.com/Netflix/SimianArmy

Sim Army军是一套让您的云以最佳forms运行的工具。 Chaos Monkey是第一个成员,它是一个弹性工具,有助于确保您的应用程序可以容忍随机实例失败

至于访问“根控制台”,如果你正在谈论访问你的操作系统,或者你的EC2s …所有这些都应该通过木偶/厨师或类似的脚本,因此你的机器是“一次性”。 没有什么特别的,他们不包含个人用户数据,你可以上或下,而不会影响你的系统。

如果您正在讨论访问AWS控制台,则需要执行诸如电子邮件或电话访问等操作,否则可能会出现中断情况。