簡體   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