Aurora2 升级之蓝绿部署切换后自动搭建 DMS 回滚复制的方案

Aurora2 升级之蓝绿部署切换后自动搭建 DMS 回滚复制的方案

💡 原文中文,约9300字,阅读约需22分钟。
📝

内容提要

亚马逊云科技将于2024年10月停止支持Aurora2版本,客户需升级到Aurora3并进行兼容性测试。本文介绍了利用Lambda函数和DMS CDC复制任务自动搭建回滚复制链路的方案,提升Aurora2升级方案的完整性。

🔎

延伸解读

回滚链路为何必要

蓝绿部署切换后,若新集群出现问题,需要快速回退到旧版本。但切换后旧蓝环境默认只读,且新主集群的数据变化不会自动同步回去,直接回退会导致数据丢失。因此,搭建从新主集群到旧蓝集群的数据复制链路,是实现准实时回滚的关键步骤。本文方案正是针对这一需求,利用DMS CDC自动完成复制链路搭建,提升升级方案的完整性。

自动化触发机制解析

方案通过EventBridge捕获RDS蓝绿部署切换完成事件(RDS-EVENT-0260),触发Lambda函数执行后续操作。Lambda会获取切换后的Binlog位置,删除蓝绿部署标识,将旧蓝环境设为可写,并调用DMS API创建CDC复制任务。整个过程无需人工干预,且一次部署可适用于同VPC内所有Aurora集群,显著减少重复操作。

部署前提与关键配置

使用该方案需满足两个前提:Aurora2集群位于私有子网且子网可用,以及提前在相同AZ和VPC内创建DMS复制实例。部署时需为Lambda配置执行角色,授予RDS、VPC、CloudWatch Logs及DMS相关权限,并创建RDS和DMS的VPC endpoint。此外,绿环境需开启Binlog并创建复制账号,同时调整Binlog保留时间以满足业务需求。

风险与安全建议

方案存在两个主要风险:一是切换后蓝绿部署的DB identifier会被Lambda删除,控制台上不再显示该标识;二是旧蓝环境被改为可写,若应用切换不完全可能导致双写,引发数据错乱。因此,需确保应用完全切换至新集群。另外,示例中将数据库凭证存储为环境变量,实际使用建议改用AWS Secrets Manager,以提升安全性。

❓

Q&A

Aurora2版本停止支持的时间是什么时候?

Aurora2版本将于2024年10月停止支持。

如何自动搭建Aurora2的回滚复制链路?

可以利用Lambda函数和DMS CDC复制任务自动搭建回滚复制链路。

蓝绿部署方案的主要优点是什么?

蓝绿部署方案可以帮助客户方便地将Aurora2升级到Aurora3,减少停机时间。

在升级Aurora2时需要注意哪些风险?

风险包括蓝绿部署切换后DB identifier被删除和旧蓝环境可写导致数据错乱。

进行Aurora2到Aurora3的升级需要哪些前提条件?

前提条件包括Aurora2集群位于私有子网,并创建DMS复制实例。

如何配置Lambda函数以支持Aurora的蓝绿部署?

需要创建Lambda函数、设置执行角色、创建VPC endpoint和EventBridge规则。

🏷️

标签

➡️

继续阅读