是否需要在Amazon S3上备份数据?


16

我在S3托管200 GB的产品映像(这是我的主要文件托管)。

我是否需要将该数据备份到其他地方,或者S3是否安全?

我一直在尝试将S3存储桶安装到EC2实例,然后进行每晚rsync备份。问题在于它大约有300万个文件,因此生成不同的rsync需求需要花费一些时间。备份实际上需要大约3天才能完成。

任何想法如何做得更好?(如果有必要?)

Answers:


5

我一直在对此进行研究,很有趣。

由于最终的一致性,到S3的备份可能会失败,具体取决于您所在的地区。基本警告是,如果您做得足够多,则有时由于Amazon后台的文件系统魔术在服务器之间同步而导致打开或查找文件时出现错误,因此您的备份可能不可靠。

至于是否需要另存它们,这取决于您的风险管理。您是否相信亚马逊可以保存您的数据?

他们可能会丢失某些东西,或者存储系统出现较大故障;他们无疑在合同中有条款规定如果丢失您的数据,那就是您的问题。不是他们的。另外,由于您的数据位于其他地方,因此您不知道他们将如何处理数据。执法部门想要您的数据吗?您甚至可能不知道其他人访问了它。

你相信吗 如果数据不是您业务的关键,并且您愿意承担这种风险,则无需将其下载到异地存储。如果您不愿意冒险将数据放在那里的Amazon存储服务器中是安全的,则应安排将其定期转储到自己的存储中。

换句话说,我认为对此没有直接的答案,因为这取决于您的风险承受能力和业务需求。很多人不会完全相信自己的收入仅靠云存储,我个人对此有些警惕。

为了更好地做到这一点,在讨论和研究中,要考虑的另一种方法是创建一个足以存储数据的EBS卷,将其附加到EC2实例,将数据保存在此处,然后可以卸载该卷并将该数据保存到S3 。我正在研究是否将其保存为将卷文件本身保存到S3或内容中...但是在完成后您可以删除EBS实例以节省存储成本。

编辑我在重新阅读时看到,您正在从S3保存到EC2实例,反之亦然(尽管我不知道最终的一致性问题是否仍然会在那里导致问题)。您正在尝试将数据保存到EC2实例作为备份吗?我认为这不是明智的策略;当您将此类数据以及VM时间一起长期存储时,将内容备份到本地驱动器可能会更便宜。利用驱动器成本,您可以将数据复制到本地磁盘作为备份。

我仍然会保留有关信任Amazon及其存储的警告。如果您希望将所有内容保留在Amazon S3中,但是具有更多的冗余性,请跨区域复制您的S3存储桶,如果它们的中断影响一个区域,则不应将所有存储桶都淘汰掉。你会希望的。一切皆有可能。

这取决于您对数据的重视程度,愿意为数据支付的代价以及要承受的风险。


感谢您的回答,但我认为您误会了。我使用S3作为主要存储设备(我直接从那里作为CDN托管文件)。所以我的问题是文件在那里是否安全,或者是否需要对它们进行备份(可能是到另一个S3 bucker或EC2实例)?
Chrille 2012年

在编辑中添加。
巴特·

嗯,是的,也许本地备份会更安全。您是否知道S3和EC2共享相同的硬件-如果发生故障,S3和EC2备份都将消失?我备份到EC2的两个原因是:(1)EC2和S3之间没有转移费用。每周左右在本地复制200 GB的成本非常高。(2)在S3发生灾难的情况下,我可以很快地转换EC2实例以共享来自备份的映像。但是我知道本地备份也有很多优点……
Chrille 2012年

老实说,我不知道如何在后台设置亚马逊的硬件。即使我知道,也无法保证他们将来不会更改它。
巴特·

4

我已经使用s3cmd s3cmd sync来做到这一点。它的操作有点像rsync,可以在S3和您选择的另一个linux系统之间推入和拉出整个目录。

我看不到您无法s3cmd sync运行EC2实例甚至您自己的开发人员工作站(或存储服务器)的任何原因。

您可能要设置一个VPC实例,然后可以在VPC内为备份服务器的角色分配一个小节点,并在Amazon网络内部和本地子网内为其分配IP。


我要担心的是,他必须自己决定财务状况,维护一个EC2实例和EBS空间来存储此类数据的成本与将其保存到本地外部硬盘驱动器上的成本相比要高出几百美元。如果可以支付转账费,我可以将其下载到本地驱动器上,并定期进行同步(这也是您提供的解决方案的一部分。)
Bart Silverstrim 2012年

不管怎么说,Amazon的EC2都不便宜,特别是如果您想进行企业级的工作,或者是除简单工作之外的任何事情。如果您不喜欢它,那可能不适合您。
汤姆·奥康纳

@BartSilverstrim:AWS内的传输不是免费的吗?如果是这样,对我来说复制到EC2可能比本地便宜。无论如何,我都有一个EC2实例以24/7运行,所以这只是EBS空间。
Chrille 2012年

2

我的建议是您的数据是您的责任,而不是亚马逊的责任。如果丢失数据没什么大不了的,那就不要自己备份。如果是这样,请像我一样将您自己的备份(至少)保存到便宜的JBOD中(并定期进行验证)。

您会发现,在数据丢失之日,亚马逊愿意为您的数据承担多少责任。


0

如果可以承受的话(我这样做)是将所有数据存储在服务器上,但可以从Amazon s3中提取数据。因此,如果Amazon由于任何原因(触摸木头)宕机,我可以直接从服务器上立即提取所有数据。我从服务器每月备份到本地驱动器。由于我的网站已超过2TB。


我发现您的建议有点不清楚。什么是您的服务器和位于何处?
卡巴斯德(Kasperd),2013年

0

尽管这是一个旧线程,但它是Googling S3备份时出现的第一件事,所以我想我应该补充一下...

我自己对此进行了一些研究,发现了Rclone https://rclone.org/-这是rsync-ish软件,旨在在云文件存储服务之间进行复制并支持其中的大多数服务。没有从属关系,我还没有使用过它,所以我不能说它的好坏,但是我认为这可能对某人有所帮助。

在我看来,托管服务有机会对云托管文件(S3,Google Storage,Rackspace Cloud Files等)进行“异地”备份。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.