2017-03-02 105 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小时。

或者您可以在需要的帐户中创建新存储区 - 将所有数据移到那里,然后删除旧的存储区。

有不同的工具可以帮助你做出这个动作,但我想我不应该在这里粘贴任何链接。

您是否需要将存储区移至其他区域,或者您需要在一个区域内进行这些更改?

相关问题