备份:Amazon S3或Glacier - 很多小文件?

Mar*_*ive 27 backup amazon-web-services amazon-glacier

我正在尝试了解复杂的亚马逊冰川定价模型.我不想存储大量数据,几GB说10.我希望永远不要下载文件,如果我确实需要,我不在乎需要多长时间.

我上传的文件是否有成本?压缩大量小文件并以几个块上传或10,000个说图像无所谓是否更便宜?(在搜索过程中无法直截了当地回答这个问题)

我可以请求下载整个存档/存储桶,还是逐个文件?

Sir*_*ong 40

我知道这有点旧,但你仍然可以找到我的答案(我希望).另一个答案基于S3,这不是我相信的问题.

Glacier用于罕见的文件访问.考虑到这一点,如果您需要一次检索多个文件,他们会惩罚您.在您的特定情况下,我建议上传10.000个单独的文件,而不是让我们说100个ZIP文件,每个文件包含100个文件.原因很简单.Glacier将允许您免费下载总存档的5%,并按比例分配.因此,例如,如果您需要下载周末拍摄的10张照片,那么如果它们在保险库中传播,您将可以免费获得这10张照片.另一方面,如果你的ZIP文件里面有100张照片,你将被迫下载那个可能超过总存档5%的zip文件,这意味着你将支付一些检索费用.

上传较少文件有意义的唯一原因是避免高上传请求(10.000文件通常意味着10.000个请求).请求收取每1000美元0,05美元.此费用远低于检索费用(考虑到所施加的限制),这就是为什么我总是建议上传单独的文件.当然,您可以压缩有意义的文件.

Amazon Glacier的检索成本非常复杂.他们在这里有一个很好的解释:http: //aws.amazon.com/glacier/faqs/#How_much_data_can_I_retrieve_for_free 但即使在那里你也需要注意计算,以便清楚地了解如何计算成本.

关于这个问题:我可以请求下载整个存档/存储桶,还是逐个文件?

请求是逐个文件的,尽管您可以一次选择多个文件并完全下载.

决定是使用S3还是Glacier实际上取决于您对文件访问的需求.如果您需要访问您的文件,那么Glacier就是您的答案.否则对于10GB S3仍然可以比Glacier更便宜并且更灵活.就我而言,我发现家庭照片是一件非常珍贵的事情.这就是为什么我在冰川上用我家人的照片备份100GB的原因.除非在家里发生某种灾难,否则我不打算访问它.在那种情况下,我想我不介意检索成本,如果它保存了我真正关心的东西.但那只是我.


Cha*_*lke 35

有关S3的详细定价信息,请点击此处.这里提供了API函数的细节.

对于S3,您主要负责上传带宽(发送 S3的字节数),下载带宽( S3 接收的字节数)和存储(字节IN S3).您还需要支付API调用的数量和类型.

因此,如果您将10GB的数据上传到10,000个1MB文件中的S3,存储一个月,然后下载每个文件一次,您将需要付费:

  • 上传带宽$ 0.00(免费)
  • 10,000个PUT请求上传文件$ 0.10
  • 每月存储10GB的价格为0.95美元
  • 10GB下载带宽1.08美元(第一个是免费的,然后是0.12美元/ GB)
  • 10,000 GET请求下载文件$ 0.01

这是2.14美元.如果您每次上传和下载一次,但保存数据一年,只有存储成本将高达12*0.95美元,或11.40美元.如果您的文件平均只有100KB,那么您有100,000个文件,您需要为PUT和GET请求支付10倍,或者1.10美元而不是0.11美元.

每次操作只能上传和下载单个文件.如果您使用Zip将文件合并为一个文件,则只能使用较少的操作进行保存,正如您所看到的那样,这些操作开始时非常便宜.

不过,这里有一个怪癖.我很确定您在上传和下载时需要支付所有带宽使用费,包括请求标头,而不仅仅是包含您数据的主体.因此,如果您的文件非常小,请求标头可能会变得很重要,可能与文件本身一样多.在这种情况下,您的带宽成本将翻倍.

冰川定价更复杂,我自己从未使用过它.基本上,它将存储成本降低了近十倍,使其他成本保持不变,并增加了每个对象的归档和恢复成本.如果您有很多小对象,需要一次获取大量文件或经常获取文件,那么这些成本似乎很重要.当你拥有大量数据(太字节或更多,不仅仅是千兆字节),但很少有操作时,冰川似乎是最好的.鉴于您只有10GB的数据,S3非常便宜,因此考虑Glacier似乎不值得.

最后,AWS第一年有一个免费使用等级,除了一半的存储费用外,它似乎可以支付所有费用.