【技术文章】AWS S3跨区域复制实践
aws吧
全部回复
仅看楼主
level 7
kimjaehoon110 楼主
【技术文章】AWS S3跨区域复制实践
光环云 徐毅
简述
跨区域复制(Cross Region Replication)是AWS对象存储服务S3的一项非常实用的功能特性,允许用户跨不同区域中的存储桶自动、异步地复制对象,
要求
l 源存储桶和目标存储桶必须已经启用版本控制
l 源存储桶和目标存储桶必须处于不同的区域
l S3必须有权代表用户将对象从源存储桶复制到目标存储桶
跨区域复制既可以在同一个账号之下进行,也可以在不同的账号之间进行,因为我只有一个账号,所以本次实践就是在同一个账号之下进行的,有兴趣的兄弟可以多弄几个账号试试。
跨区域存储可以通过控制台、AWS CLI和AWS开发工具包来进行操作配置,本次实践通过AWS CLI进行,当然前提是已经安装好了CLI,我安装的是windows版本。
实践
步骤1 创建源存储桶,并启用版本控制
1)创建存储桶
aws s3api create-bucket \
--bucket source \ //指定源存储桶名称
--region us-east-1 \ //指定源存储桶所在区域
--profile acctA //指定配置文件
蓝色部分是在CLI上执行的命令,在CLI上执行该命令:
2019年08月06日 02点08分 1
level 7
kimjaehoon110 楼主
其中—profile参数不是必须的,通常我们在安装完CLI后,都会用aws configure进行配置,此时采用的默认的配置文件。后面的命令执行时也无需加—profile参数,采用默认的配置文件即可。
图2和图3分别是创建存储桶命令执行前后在控制台上所观察到的状况。
注意:1)存储桶的名称
全部小写;2)命令中各参数大小写不能写错;3)命令执行完成以后可能需要等待一段时间多刷新几次才能在控制台看到效果。
2)启用版本控制
aws s3api put-bucket-versioning \
--bucket source \
--versioning-configuration Status=Enabled \
--profile acctA
执行该命令:
在控制台crrsourcebucket存储桶属性中可看到版本控制已启用,如图5所示。至此,已经成功在美东区域创建了一个名称为crrsourcebucket的存储桶并开启了版本控制。
步骤2 创建目标存储桶,并开启版本控制
1)创建存储桶
aws s3api create-bucket \
--bucket destination \
--region us-west-2 \
--create-bucket-configuration LocationConstraint=us-west-2 \
--profile acctA
执行该命令:
提示crrdestinationbucket这个存储桶已经存在,必须换一个,可能是其他用户创建了,总之存储桶名称必须全局唯一,所以,修改存储桶名称crrdstbucket,再执行一次:
注意:目标存储桶必须位于与源存储桶不同的区域中。
创建成功,在控制台刷新即可看到目标存储桶。
2019年08月06日 02点08分 2
level 1
吧主大人 mac用ec2卡顿 怎么解决
2019年08月22日 06点08分 5
用ec2卡跟你本地操作系统没啥关系吧。。[汗]
2019年08月28日 00点08分
1