【问题标题】:Copying multiple files in large volume between two s3 buckets which are in the different regions在位于不同区域的两个 s3 存储桶之间大量复制多个文件
【发布时间】:2015-09-14 09:37:39
【问题描述】:

我需要从位于 us-east 区域的存储桶 A 和位于 ap-southeast 区域的存储桶 B 复制大量数据,大约 300 GB 的文件。我还需要更改存储桶的结构。就像我需要根据存储桶 A 中的图像名称将文件推送到存储桶 B 上的不同文件夹一样。我尝试使用 AWS Lambda,但它在 ap-southeast 中不可用。

还有,因为数据将在区域之间传输,成本是多少?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda


    【解决方案1】:

    方法

    AWS Command-Line Interface (CLI)aws s3 cp命令可以用来在bucket之间(甚至在不同区域)移动对象,并且可以同时重命名。

    aws s3 cp s3://bucket-in-us/foo/bar.txt s3://bucket-in-ap/foo1/foo2/bar3.txt
    

    还有aws s3 sync 选项可用于在两个存储桶之间同步内容,但这无助于您重命名对象的要求。

    费用

    从美国地区到另一个地区的数据传输费用在Amazon S3 pricing page 上显示为 0.02 美元/GB。

    【讨论】:

    • 我的理解(和我的测试)表明存储桶之间的同步通过本地计算机进行。例如。我在悉尼和东京的存储桶之间复制了一个 200MB 的对象——花了 37 秒。仅从悉尼(我住的地方)下载对象时,需要 3 分钟。亲自尝试一下:从这个公共数据集中获取一些示例数据:s3://landsat-pds/L8/139/045/LC81390452014295LGN00/
    • 感谢约翰的纠正。从aws s3 文档看来,该命令实际上是在使用本地存储作为缓存。我会删除我原来的评论。
    • 我仍然建议使用跨区域复制,因为它可以处理持续的变化,因此您不必管理裂脑场景。
    【解决方案2】:

    使用存储桶复制,然后在您的目标区域创建另一个存储桶并执行您的 S3 对象键操作。

    阅读更多关于S3 cross-region replication

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2017-05-30
      相关资源
      最近更新 更多