跨区域复制(Cross Region Replication)是AWS对象存储服务S3的一项非常实用的功能特性,允许用户跨不同区域中的存储桶自动、异步地复制对象,
要求
- 源存储桶和目标存储桶必须已经启 用版本控制
- 源存储桶和目标存储桶必须处于不同的区域
- S3必须有权代表用户将对象从源存储桶复制到目标存储桶
跨区域复制既可以在同一个账号之下进行,也可以在不同的账号之间进行,因为我只有一个账号,所以本次实践就是在同一个账号之下进行的,有兴趣的兄弟可以多弄几个账号试试。
跨区域存储可以通过控制台、AWS CLI和AWS开发工具包来进行操作配置,本次实践通过AWS CLI进行,当然前提是已经安装好了CLI,我安装的是windows版本。
实践
步骤1 创建源存储桶,并启用版本控制
1)创建存储桶
aws s3api create-bucket
--bucket source //指定源存储桶名称
--region us-east-1 //指定源存储桶所在区域
--profile acctA //指定配置文件
蓝色部分是在CLI上执行的命令,在CLI上执行该命令:
其中—profile参数不是必须的,通常我们在安装完CLI后,都会用aws configure进行配置,此时采用的默认的配置文件。后面的命令执行时也无需加—profile参数,采用默认的配置文件即可。
图2和图3分别是创建存储桶命令执行前后在控制台上所观察到的状况。
注意:1)存储桶的名称全部小写;2)命令中各参数大小写不能写错;3)命令执行完成以后可能需要等待一段时间多刷新几次才能在控制台看到效果。
2)启用版本控制
aws s3api put-bucket-versioning
--bucket source
--versioning-configuration Status=Enabled
--profile acctA
执行该命令: