微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS S3在区域之间迁移50 TB的数据

如何解决AWS S3在区域之间迁移50 TB的数据

我们目前正在考虑在不同的AWS区域之间迁移50 TB的S3对象。

除了使用AWS cli迁移此数据量之外,还有其他方法吗?

最短的方法是什么?

解决方法

与在一个区域内进行跨区域移动数据相比,除了增加带宽费用外,没有什么特别的。 AWS DataSync或Amazon S3 Transfer Acceleration可能会影响跨区域性能,但在我的测试中,影响可忽略不计。这些技术更适合在本地存储和S3之间而不是在两个S3区域之间移动数据。

推荐

要在S3存储桶之间同步/复制数据,我建议 S3P

(免责声明,我写的)

S3P的运行速度比aws-cli 快50倍。我在一个区域内保持了 8GB /秒的速度。我为需要在S3存储桶(相同区域)之间的10,000,000个文件中移动1 PB数据的客户开发了S3P。 速度很大程度上取决于平均文件大小,在这种情况下约为100MB。跨区域的速度也会变慢,但是使用S3P,您完全有可能在几个小时内复制50TB。

S3P不仅通过大规模并行复制,而且还通过大规模并行项目列表来提高其速度。后面是S3P如何击败其他工具。如果还有其他更快的方法,我很想知道。

易于尝试

如果已安装Node.js,则可以轻松地试用s3p,只需打开终端并运行以下命令即可获得命令列表:

npx s3p

注意:S3P速度很快,甚至可以在本地计算机上运行,​​但是要获得最佳性能,请在与您的S3存储桶相同的区域(例如m5.xlarge)中的一个大小合适的EC2实例上运行它。

,

一些选择:

  • 如果您的地区在同一国家/地区,则数据传输的价格非常合理。这将需要时间。
  • 考虑使用AWS DataSync,而不是使用AWS CLI,“使在本地存储和Amazon S3,Amazon Elastic File System(Amazon EFS)或Windows文件服务器的Amazon FSx。”
  • 我认为 AWS Snowball 无法在区域之间传输数据。仅用于进出S3和您自己的位置。
,

您可以跨区域复制数据(CRR) 要复制现有对象,可以在源存储桶上设置复制后运行以下cp命令:

aws s3 cp s3://source-awsexamplebucket s3://source-awsexamplebucket --recursive --storage-class STANDARD

此命令将源存储桶中的对象复制回源存储桶,从而触发复制到目标存储桶。

还有aws s3 sync选项,可用于在两个存储桶之间同步内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。