好吧,我正在设置我的 S3 数据的异地备份,并设置了跨区域复制到另一个区域的新存储桶。但是,原始存储桶中有很多数据也需要移动,超过 100TB,超过 2000 万个文件。我的第一个想法是运行:
aws s3 sync s3://source-bucket s3://destination-bucket
在 EC2 实例上。但这花费的时间比我预期的要长得多,而且由于它发出了所有 PUT/LIST 请求,因此成本也比我预期的要高。
阅读 AWS 文档,似乎他们推荐使用 AWS Snowball 进行此类操作。来自常见问题解答:
根据经验,如果使用现有互联网连接的空闲容量将数据上传到 AWS 需要一周以上的时间,那么您应该考虑使用 Snowball。
但是看起来这些是用于导入或导出的,而不是同时用于导入和导出。我需要用同一个 Snowball 做两个单独的作业吗?无论如何,为了将数据放到 Snowball 上,我是否仍然需要为所有这些 PUT/LIST 请求付费?他们提到了数据传输费用为 0.03 美元/GB,但没有提到 API 请求。