AWS在不同账户之间复制S3文件

1、在某台ubuntu服务器上安装aws cli命令行

参考aws文件https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html

2、配置aws cli客户端

参考aws文件https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

上面的信息“我的安全凭证”->"用户"功能中可以找到,如果没有就创建一个用户
在这里插入图片描述

可以通过如下命令进行测试:

aws s3 ls s3://bucket-name/

3、配置目标存储桶的访问策略

可视化界面https://awspolicygen.s3.amazonaws.com/policygen.html
在这里插入图片描述
注意点:
Principal是源账户的用户
在这里插入图片描述
Resource是目标存储桶的名字,特别注意一定要加一个带通配符的Resource,否则会报无法访问的错误。

4、执行同步命令

// 这里要注意一定要加上权限,否则到新的bucket下就没权限访问了,这个用户id可以在bucket的权限页可以找到
aws s3 sync s3://source-bucket s3://destination-bucket --grants full=id=xxxxxxxxxxxx

// 增加多个权限
aws s3 sync s3://sport-health s3://walk-fit --grants full=id=xxxxxxxxxxxx11111,id=xxxxxxxxxxxx2222

// 不同区域可能会用到下面这个命令
aws s3 sync s3://source-bucket s3://destination-bucket --grants full=id=xxxxxxxxxxxx --source-region us-west-1 --region us-west-1

在这里插入图片描述
即可实现同步

aws在这里有个比较强大的地方,多次执行上面的命令,只会同步两次名字之间的差异文件部分,并不会每次都全部重新同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值