加速 Amazon RDS for MySQL 只读副本提升

eb7f6a73f6ed13b820e45ea44c06472d.gif

概述

本文主要讲述在一个 Amazon RDS MySQL 集群中,如何在有限的时间内尽可能加快从 MySQL Read Replica 中提升。

本方案适用场景

  • 数据库数据量大、停机维护窗口时间短

  • 需要在提升后需要立即创建 Read Replica

方案描述

假定原有数据库集群为一个主节点、一个只读副本。我们现在希望将这个 Amazon RDS 集群拆分成2个独立的集群。

24668b5e6deb61ad01ead7cba7728a44.png

首先我们需要在原集群中创建一个只读副本,然后只读等待数据同步完成。

您可以通过查看 Amazon RDS ReplicaLag 指标,在 Amazon CloudWatch 中监控复制滞后。当 ReplicaLag 指标达到 0 时,即表示副本已赶上主数据库实例进度。如果 ReplicaLag 指标返回 -1,则当前未激活复制。ReplicaLag = -1 等效于 Seconds_Behind_Master = NULL。

创建只读副本的行为,会从当前主节点的最新快照中恢复出一个数据库副本。因此最近一次快照时间会影响只读副本创建后数据同步的时间。

建议在创建只读副本之前查看最近一次快照的时间,如果快照时间距离当前时间比较长。在创建手动快照后,可以缩短创建 Read Replica 的时间。

cb807dbc2821216c20759507a55f9957.png

在只读副本“Read Replica B”上创建快照。

等待完成快照创建,再“提升”只读副本“Read Replica B”,并选择启用自动备份。

此时在“Read Replica B”上做快照,速度会较快,原因是系统会自动选取主节点的快照做增量快照,而不是对只读节点的全量存储做快照。

如果提升时选择不启动自动备份,提升后的实例是无法创建只读节点的。重新开启自动备份后即可创建只读节点,只需要将备份的保留周期设置为大于0天。

“提升”完成后,“Read Replica B”会从“DB Cluster 1”的集群中分离出来,成为一个新的独立数据库集群“DB Cluster 2”。

“提升”这个行为会自动触发被提升节点的快照操作。默认情况下,新建的只读副本(Read Replica B)是没有快照的。因此会从全量存储中做一次快照,如果这个节点的数据量非常大,这个时间将会持续很长。预计约1小时/TB的速度完成快照。

执行快照期间,您无法对快照行为进行“取消”操作,会增加非预期的窗口维护时间。

如果按照前面的步骤,在已经做过手工快照,此步骤的自动快照时间会大大缩减。

8f1bfad637c5d41308455bc865a57148.png

在“DB Cluster 2”上创建只读副本“Read Replica B”,等待数据完成同步。

如果前面在提升的时候没有开启自动备份,此时控制台中“创建只读”的菜单项为灰色禁用状态。

6d08426a223311adc3337dab659b9d2c.png

至此 Amazon RDS MySQL 的提升并添加只读副本操作完成。

本篇作者

e46e2a34d1285c71d8f24653669095f8.png

林业

亚马逊云科技解决方案架构师

负责基于亚马逊云科技的云计算方案的咨询与架构设计。拥有超过14年研发经验,曾打造千万级用户 APP,多项 Github 开源项目贡献者。在游戏、IOT、智慧城市、汽车、电商等多个领域都拥有丰富的实践经验。

a810770818e76138c4513f6701d6c691.png

郁冰

亚马逊云科技技术客户经理

负责企业级客户的架构和成本优化、技术支持,协助客户实现亚马逊云科技最佳实践等工作。曾就职于 Cisco,Microsoft 等技术公司,长期从事于安全,网络,公有云等技术领域。

47b3ec763d1d9c80b06f9c73e0d4ec84.png

茅金辉

亚马逊云科技资深技术客户经理

20c59221b4febb5ac413e1f598d8f1d9.png

e70dcd58fc28e85f68ba40077814dd13.gif

5ae142cec1962fb84f9bda34a3a0aadd.gif

听说,点完下面4个按钮

就不会碰到bug了!

2098cbcbdef031b969af7ea4a50669a1.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值