将Glacier存储类的文件复制到不同的存储桶
你说: "我想将所有内容从一个存储桶移动到同一区域同一帐户中的另一个存储桶。"
如果您想将一个存储在Glacier存储类中的文件从一个存储桶复制到另一个存储桶,即使使用sync
命令,您也必须首先恢复文件,即在实际复制之前使文件可用于检索。例外情况是当文件存储在“Amazon S3 Glacier Instant Retrieval”存储类中时,您无需明确恢复文件。
因此,您必须对每个文件发出restore-object
命令以启动恢复请求。然后您必须等待恢复请求完成。之后,您将能够在您在恢复请求期间指定的天数内复制您的文件。
检索价格
您还写道: "我想知道这将花费我多少美元。"
使用您提供的命令aws s3 sync s3://bucketname1 s3://bucketname2 --force-glacier-transfer --storage-class STANDARD
,您将文件从Glacier复制到Standard存储类。在这种情况下,您首先必须支付检索费用(一次性),然后您将支付(每月)存储文件两个副本的费用:一个副本在Glacier上,另一个副本在Standard存储类中。
根据亚马逊(引用)的说法:
要将对象的存储类更改为Amazon S3标准,请使用复制(通过覆盖现有对象或将对象复制到另一个位置)。
但是,对于存储在Glacier存储类中的文件,您只能将其复制到同一存储桶中的另一个位置,除非您恢复它,即使让其可供检索,您也无法实际检索文件内容。
由于您问了“这将花费我多少美元”,因此您必须按Amazon发布的检索价格和存储价格付款。
您可以在https://aws.amazon.com/s3/glacier/pricing/上查看检索定价。
存储价格在https://aws.amazon.com/s3/pricing/上提供。
检索价格取决于您最初选择的Glacier存储类别:S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval或S3 Glacier Deep Archive。存储类别可以通过生命周期规则进行修改,因此更准确地说,每个文件的当前存储类别很重要。
除非您将文件存储在“S3 Glacier Instant Retrieval”存储类中,否则最便宜的选项是使用“Bulk”检索选项(还原层级),先恢复文件(使其可供检索),这是“S3 Glacier Flexible Retrieval”的免费选项,对于“S3 Glacier Deep Archive”来说也非常便宜。因此,如果需要复制文件,则可以最小化恢复成本。
由于您偏好使用命令行,您可以使用
Perl脚本,以“Bulk”检索选项(还原层级)使文件可供检索。否则,您提供的
aws s3 sync
命令将使用“Standard”还原层级。
截至今天,在美国俄亥俄州地区,检索价格如下所示。
对于“S3 Glacier Instant Retrieval”,撰写时恢复每GB费用为$0.03,没有其他选择。
对于“S3 Glacier Flexible Retrieval”,“Standard”检索每GB费用为$0.01,而“Bulk”检索免费。
对于“S3 Glacier Deep Archive”,“Standard”检索每GB费用为$0.02,而“Bulk”费用为每GB $0.0025。
无论数据大小,您也将支付检索请求费用。但是,对于“S3 Glacier Instant Retrieval”,您不必支付检索请求费用;对于“Bulk”,检索请求费用很小(对于S3 Glacier Deep Archive),如果不是免费的(S3 Glacier Flexible Retrieval)。