AWS S3存储桶跨账户数据同步

场景:例如AWS账户免费套餐过期需要将S3相关资源迁移至新AWS账户的相关操作。这也是个很常见的场景。

 

--课程与题库整理--

相关题库整理和课程分享

--

先决条件:

拥有两个活跃 AWS 账户并且具有S3存储桶,以便数据迁移。

 

开始操作步骤:

1.在需要迁出的S3存储桶中设置存储桶

顶部菜单导航到S3

在存储桶菜单中选择需要数据迁出的存储桶

点击权限选项卡

找到阻止公有访问(存储桶设置):确保阻止所有公开访问设置已关闭(如没有关闭需手动关闭)

继续向下滚动

找到存储桶策略选项,点击编辑按钮

 

粘贴以下存储桶策略对存储桶进行公开操作

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3Access",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::greryhtryrty/*",
"arn:aws:s3:::greryhtryrty"
]
}
]
}

点击保存更改

 

 

2.更换AWS账号至新账号

3.新账号创建S3存储桶

 

这里存储桶区域我使用美国东部(弗吉尼亚北部)us-east-1 区域

顶部菜单导航到S3

在 S3 页面上,单击创建存储桶并填写存储桶详细信息

桶名称:输入mys3bucket-123456

注意: S3 存储桶名称是全局唯一的,请选择一个可用的名称。

AWS 区域:选择美国东部(弗吉尼亚北部)

将其他所有设置保留为默认值。

点击创建存储桶按钮

 

S3存储桶已创建

此存储桶无需额外设置。

 

4.在新AWS账户进行存储桶同步

 

在顶栏点击图标打开CloudShell

等待CloudShell初始化完成后输入AWS CLI命令完成同步

摘自官网:

 

 aws s3 sync  s3:// DOC-EXAMPLE-BUCKET-SOURCE / \
s3:// DOC-EXAMPLE-BUCKET-TARGET / \
--source-region SOURCE-REGION-NAME --region DESTINATION-REGION-NAME

 

这里我的命令是:

aws s3 sync s3://greryhtryrty/ s3://mys3bucket-123456/ --source-region ap-east-1 --region us-east-1

等待完成

最后检查新AWS 账户S3存储桶数据即可

 

完成验证

--

posted @ 2023-01-11 19:11  Lalapodo云原生  阅读(264)  评论(0编辑  收藏  举报