RDS - 跨区创建只读备库

目前,在AWS的console中,无法创建跨区的只读库

类似上图所示,只能创建本区内的只读库。
其实AWS RDS是支持跨区创建只读库的,但我们需要从AWSCLI命令行中操作。

需要注意的是:
要在与源数据库实例不同的 AWS 区域中创建一个加密的只读副本,源数据库实例必须加密。

还需要额外注意以下事项:

  1. 您只有在使用以下 Amazon RDS 数据库实例时,才能在 AWS 区域之间进行复制:
    MariaDB(所有版本)。
    MySQL 版本 5.6 及更高版本。
    Oracle Enterprise Edition (EE) 引擎版本 12.1.0.2.v10 和更高的 12.1 版本、12.2 的所有版本以及 18.0 的所有版本。
    需要有效的 Data Guard 许可。有关 Oracle 跨区域只读副本的限制的信息,请参阅 只读副本限制 (Oracle)。
    PostgreSQL 版本 9.4.7 及更高版本。
  2. 源数据库实例可在多个 AWS 区域具有跨区域只读副本。
  3. 您只能从未作为其他 Amazon RDS 数据库实例的只读副本的源 Amazon RDS 数据库实例创建跨区域的 Amazon RDS 只读副本。
  4. 不能在 AWS GovCloud (US-West)区域内外设置复制通道。
  5. 对于所在 AWS 区域与源实例不同的任何只读副本,其滞后时间将更长。产生此滞后时间是因为区域数据中心之间的网络通道更长。
  6. 在一个 AWS 区域内,从同一源数据库实例创建的所有跨区域只读副本必须位于同一 Amazon VPC 内部或任一 VPC 外部。对于跨区域只读副本,所有指定 --db-subnet-group-name 参数的只读副本创建命令必须从同一 VPC 指定数据库子网组。
  7. 可以从其他 AWS 区域的 VPC 中的源数据库实例在 VPC 内部创建跨区域只读副本。还可以从 VPC 外部的源数据库实例在 VPC 内部创建跨区域只读副本。也可以从 VPC 内部的源数据库实例在 VPC 外部创建跨区域只读副本。
  8. 由于 VPC 对访问控制列表 (ACL) 条目数有限制,我们无法保证 5 个以上的跨区域只读副本实例。
  9. 只读副本使用指定数据库引擎的默认数据库参数组。
  10. 只读副本使用默认安全组。
  11. 对于 Oracle 数据库实例,删除跨区域只读副本的源时,将提升只读副本。对于 MariaDB、MySQL 和 PostgreSQL 数据库实例,删除跨区域只读副本的源时,只读副本的复制状态将设置为 terminated。但是,不会提升只读副本。

创建步骤:

  1. 首先要在目标区有KMS,应用于对数据库的加密。
  2. 在命令行执行
aws rds create-db-instance-read-replica \
--db-instance-identifier test-m8-rep --region cn-north-1 \
--source-db-instance-identifier arn:aws-cn:rds:cn-northwest-1:XXXXXX:db:test-m8 \
 --source-region cn-northwest-1 
[--kms-key-id XXXXXX]

解释:
source-db-instance-identifier 原库的ARN,可以在页面的configuration标签中查到
如果目标库要加密,则原库必须加密, kms-key-id 目标端用来加密的密钥ID

官方文档:
https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值