概述
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(可不填)
2.3.1 删除公共访问策略,勾选阻止公共访问选项