Posted in: Aws代维
S3 bucket Cross-Region Replication
s3 bucket现在支持跨region的自动备份,设置好之后,在A region的bucket里面上传内容,会自动被复制到B region的设定bucket里面.
设置基本方法:
- 在源bucket上点右键Properties属性页可以看到Cross-Region Replication设定区域
- 目前只能给每个bucket设置一个repication bucket
- 开启cross-region replication的两个bucket自动会被设置versioning功能
- 可以只对源bucket下的某个目录设置跨区备份(设置prefix)
- 设置之后新上传的内容会被自动复制到备份bucket,但是之前上传的不会被复制过去
- 对象被上传到源bucket之后,并不是立马在备份bucket中就能看到,他是aws复制过去的,所以有延时
- 数据从源bucket中删除后,备份bucket中的对象也会被删除
- 但是在备份bucket中进行上传和删除操作,不会应用到源bucket,也就是说这个是单向的行为
- 设置过程中会自动创建一个IAM角色,用于向备份bucket复制数据,上传操作只是上传到源bucket,之后的备份是aws的功能后台实现
- 既然是IAM角色控制的,跨账号的bucket备份也是可以的,跨账号设置需要用命令行做,参考官方文档http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/crr-walkthrough-2.html
需要注意的地方:
- replication操作是有延时的,所以需要做好预期,做用户上传的数据自动备份到别的region还是不错的,需要数据实时同步实时可见的,需要哦慎重考虑延时问题
- A自动备份到B,再设置B自动备份到C,然后A中上传,自动备份到B和C行不行? 经测试不行!A中上传的会自动备份到B,但是备份的数据不会自动到C,在B中主动上传的会被自动备份到C,不知以后会不会改进