繁体   English   中英

使用AWS CLI的AWS S3数据传输

[英]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命令的好处是,如果出现问题,可以恢复副本,因为它仅复制自上次同步以来丢失或更新的文件。

权限

什么,你需要考虑的是如何允许访问复制文件。 假设您有:

  • 帐户A与存储桶A
  • 桶B的帐户B
  • 您希望从存储桶A复制到存储桶B

您应从有权写入存储桶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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM