[英]AWS S3 data transfer using AWS CLI
我正在尝试使用AWS CLI将25 TB的s3中存储的数据从一个AWS账户转移到另一个AWS账户中的另一个s3存储桶(两个账户在不同地区),有人可以建议我使用哪个EC2实例更好地处理数据使用CLI进行传输,主要是完成传输需要多少时间。
复制文件
复制是容易的部分! 使用AWS命令行界面(CLI) :
aws s3 sync s3://source-bucket s3://destination-bucket
数据将直接在存储桶之间传输- 不会下载和上传数据。 因此,无论您使用多大的EC2实例大小都没关系-您甚至可以从自己的计算机上运行命令,并且速度会一样快。 CLI将向每个要复制的文件发送必要的复制命令到S3。
使用sync
命令的好处是,如果出现问题,可以恢复副本,因为它仅复制自上次同步以来丢失或更新的文件。
权限
什么,你需要考虑的是如何允许访问复制文件。 假设您有:
您应从有权写入存储桶B的帐户B中的用户(“用户B”)运行sync
命令。
您还需要向存储桶A添加一个存储桶策略,该策略专门允许用户B进行访问。该策略如下所示:
{
"Id": "Policy1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadOnlyAccess",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/user-b"
]
}
}
]
}
arn
值为用户B的ARN。
定时
如果存储桶位于同一区域,则传输会更快。 但是,我不知道转移需要多长时间。 25TB实际上是很多数据! (您是否曾经尝试在计算机上复制1TB数据?速度很慢!)
令人高兴的是,您可以多次使用aws s3 sync
命令。 假设您需要在周末进行转移。 您可以在一周中运行该命令,然后在周末再次运行它。 仅复制已添加/更改的文件,因此最终复制窗口将很小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.