2017-03-02 337 views
2

AWS是否提供了將存儲區從一個帳戶複製到另一個帳戶的方法?我將幾個文件上傳到我自己的存儲桶中用於開發目的,但現在我要將存儲桶切換到客戶端帳戶。將AWS s3存儲區移動到另一個aws帳戶

什麼是所有可能的解決辦法呢?

回答

2

您可以將一個存儲桶的內容複製到另一個帳戶擁有的另一個存儲桶的內容,但不能將存儲桶的所有權轉移到新帳戶。考慮的方式是轉移桶中對象的所有權,而不是桶本身。

亞馬遜有very detailed articles about this procedure

在源帳戶中,將以下策略附加到要複製的存儲桶。

#Bucket policy in the source AWS account 
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
      { 
       "Sid": "DelegateS3Access", 
       "Effect": "Allow", 
       "Principal": {"AWS": "222222222222"}, 
       "Action": "s3:*", 
       "Resource": [ 
        "arn:aws:s3:::sourcebucket/*", 
        "arn:aws:s3:::sourcebucket" 
       ] 
      } 
    ] 
} 

附加一個策略,以在目的地AWS帳戶的用戶或組代理訪問源AWS帳戶桶中。如果將策略附加到組,請確保IAM用戶是該組的成員。

#User or group policy in the destination AWS account 
{ 
    "Version": "2012-10-17", 
    "Statement": { 
      "Effect": "Allow", 
      "Action": "s3:*", 
      "Resource": [ 
       "arn:aws:s3:::sourcebucket", 
       "arn:aws:s3:::sourcebucket/*", 
       "arn:aws:s3:::destinationbucket", 
       "arn:aws:s3:::destinationbucket/*" 
      ] 
    } 
} 

完成這些步驟後,可以使用AWS命令行界面(CLI)命令cp或sync複製對象。例如,以下aws s3 sync命令可用於將源AWS賬戶中的存儲桶中的內容複製到目標AWS賬戶中的存儲桶中。

aws s3 sync s3://sourcebucket s3://destinationbucket 
1

不能將整桶轉移到另一個賬戶。您應該先刪除一個賬戶中的存儲桶,然後在另一個賬戶中重新創建具有相同名稱的存儲桶。刪除它後,再次使用存儲桶名稱最多需要24小時。

或者您可以在需要的帳戶中創建新存儲區 - 將所有數據移到那裏,然後刪除舊的存儲區。

有不同的工具可以幫助你做出這個動作,但我想我不應該在這裏粘貼任何鏈接。

您是否需要將存儲區移至其他區域,或者您需要在一個區域內進行這些更改?

相關問題