S3跨账号迁移

2023-05-09 18:50

概述

Amazon S3是Amazon Web Services (AWS)提供的一项服务,它通过Web服务接口提供对象存储。Amazon S3作为一款对象存储产品具备高度可扩展性、快速且持久的存储和几乎适用任何数据类型等特点使得其广泛运用于各种工作负载场景之中

伴随着Amazon S3广泛的使用其数据迁移问题也是被越来越多的用户所关心本文旨在提供 一种S3对象存储跨账号迁移的方案供大家参考


操作步骤

修改原账号下存储桶权限和策略

2.1.1 修改待迁移存储桶权限

选择需要迁移的桶,关闭阻止所有公开访问选项


2.1.2 修改待迁移存储桶访问策略

添加以下代码:

{
          "Version": "2012-10-17",

     "Statement": [

            {

                "Sid": "openaccess",

                "Effect": "Allow",

                "Principal": {

                         "AWS": "*"

                 },

                "Action": "s3:*",

                "Resource":[

                       "arn:aws-cn:s3:::待迁移bucket名称/*",

                       "arn:aws-cn:s3:::待迁移bucket名称"

                 ]

             }

       ]

}



新账号下创建资源并迁移

2.2.1 新账号下创建桶,无需做其他配置


2.2.2 新账号下创建ec2实例(也可用现有实例或直接在本地电脑上操作)


登录新建实例,查看安装或升级aws cli 到最新版本:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

unzip awscliv2.zip

sudo ./aws/install

aws --version



2.2.3 创建一个IAM角色,赋于S3操作权限,并将角色赋给EC2

创建角色,信任关系为EC2,权限为“AmazonS3FullAccess



2.2.4 将角色附加到EC2


2.2.5 登陆EC2,同步S3数据

使用以下同步命令:

aws s3 sync
s3://SOURCE s3://TARGET --source-region sourceregion --region targetregion



2.2.6 检查迁移后的数据

aws s3 ls   TARGET



2.2.7 (可选)若IAM用户有s3的操作权限,可使用AK,SAK凭证操作,替换2.2.3和2.2.4步骤

配置凭证的步骤为:

aws configure

AWS Access Key ID [None]: <AK值>

AWS Secret Access Key [None]: <SAK值>

Default region name [None]:
<地域名称>(可不填)

Default output format [None]: json(可不填)


恢复原账号下S3桶的权限

2.3.1 删除公共访问策略,勾选阻止公共访问选项


昵称:
内容:
验证码:
提交评论
评论一下