蓝绿部署是一种通过冗余部署实现服务版本升级的策略,其基于现有的生产环境(蓝色环境)复制出一套实时同步的测试环境(绿色环境),以用于测试与灰度验证。通过调整虚拟IP与真实节点之间的映射关系,实现生产环境与测试环境的快速切换,应用侧无需改造,最大限度地减少服务中断时间,并提供快速回滚的能力。
重要
蓝绿部署当前仅对白名单用户开放,如需使用,请提交申请表单或提交工单。
蓝绿部署会创建两套完全相同的部署环境(蓝色环境和绿色环境),分别对应旧版本(蓝色环境)和新版本(绿色环境)。蓝色环境对外提供服务,绿色环境用于升级前的测试,通过DTS双向数据同步链路,绿色环境与蓝色环境保持同步。在蓝绿部署中,绿色实例的规格与蓝色实例保持一致。 蓝色环境:生产环境,当前正在对外提供服务的环境,可读写。 绿色环境:测试环境,只读。 蓝绿部署通过将流量从当前生产环境(蓝色环境)转发至测试环境(绿色环境),使您能够在真实环境中验证最新版本的功能和性能。借助蓝绿部署,您可以快速发现潜在缺陷,优化数据库性能,并在短暂且可控的停机时间内引入更新的数据库功能。 此外,蓝绿部署具备回滚能力,确保在出现问题时能够迅速恢复到变更前版本,从而为系统升级提供更高的可靠性与灵活性。这显著降低了数据库版本升级的风险,最大限度地减少了对业务的影响。 蓝绿部署的典型适用场景是数据库大版本和小版本升级,升级流程如下: 新版本部署: 创建绿色环境,数据库版本选择新版本。此时绿色环境作为测试环境,不对外提供服务。 可以在绿色环境中进行充分的功能测试和性能验证,确保新版本的稳定性。 切换蓝色环境和绿色环境: 当新版本验证无误后,切换蓝色环境和绿色环境。 通过调整虚拟IP与真实节点之间的映射关系实现切换,在切换前后,蓝色环境中的实例ID和IP地址将保持不变,操作简单且迅速。 监控与回滚: 如果新版本上线后出现严重问题,可立即切换回旧版本,恢复旧版本的服务。 回滚过程非常迅速,能够显著缩短故障恢复时间。 问题修复与重新部署: 在修复新版本的问题后,可以将其重新部署到绿色环境中,并再次进行验证。 待验证通过后,再次切换蓝色环境和绿色环境。 零停机发布:通过流量切换的方式实现版本升级,生产环境中的实例ID和IP地址将保持不变,应用侧无需进行改造即可实现连接保持。 快速回滚:如果新版本出现问题,只需切回旧版本即可,无需重新部署或修复。 资源隔离:新版本和旧版本运行在独立的环境中,彼此隔离,避免相互干扰。 高可用性:冗余部署确保了即使在流量切换过程中,也有足够的资源处理请求。 创建蓝绿部署时,蓝色实例(生产环境实例)需满足以下条件: 蓝色实例费用:创建蓝绿部署时,会指定一个存量实例作为蓝色实例(生产环境实例),该实例正常计费(与蓝绿部署前保持一致)。 绿色实例费用:创建蓝绿部署时,会新建一个绿色实例,该实例按量计费,计费规则与标准按量付费实例一致。 DTS链路费用:创建蓝绿部署时,会自动创建一条DTS链路,该链路按量计费,计费规则与标准DTS按量计费链路一致。 重要 自2025年8月1日起,蓝绿部署享受如下优惠,优惠活动截止时间待定(另行通知)。 绿色实例自创建之时起,15天内免费,超过15天后按量计费。 绿色实例支持将计费方式转换为包年或包月,但只有处于按量计费模式时,才可以享受自创建之时起15天内免费的优惠活动。计费方式转换为包年包月后,自转换时刻起,将开始按照包年包月的实例进行收费。 蓝绿部署中的DTS链路自创建之时起,15天内免费,超过15天后按量计费。 创建蓝绿部署后,蓝绿实例均不支持以下操作: 不支持高性能云盘能力:Buffer Pool Extension(BPE)、IO性能突发和数据归档功能。 不支持全球多活数据库。 变更配置限制:不支持变更实例规格、存储空间大小、存储类型、可用区。 功能使用限制: 数据库操作限制:不支持创建和删除数据库,不支持升级数据库大版本和内核小版本。 外网地址限制:不支持申请和释放外网地址。 创建蓝绿部署后,如果DTS链路被删除,将导致无法切换蓝绿部署。在此情况下,需要首先删除蓝绿部署,然后再进行重新创建。 如果蓝色实例的Binlog被下游系统(如DTS、Flink等)消费,由于蓝绿实例的GTID Set不一致,会导致下游Binlog同步中断,不建议使用蓝绿部署。 数据同步期间执行DDL操作的限制:数据同步期间,不建议执行DDL操作(如创建表、修改表结构、删除表、创建或删除索引等)。例如:跨大版本场景下,DDL可能因字符集、排序规则或语法不兼容等导致同步异常,由此产生的数据差异,建议您在使用前人工确认。 通过蓝绿部署升级数据库大版本时,当前支持: MySQL 5.6升级至MySQL 5.7。 MySQL 5.6升级至MySQL 8.0。 MySQL 5.7升级至MySQL 8.0。 在创建蓝绿部署时,您需要指定一个源数据库实例作为生产环境中的数据库实例,构成蓝色环境的核心部分。 访问RDS实例列表,选择地域并单击目标实例ID,该实例将成为蓝绿部署中的蓝色实例。 在左侧导航栏,选择蓝绿部署并单击左上角创建蓝绿部署。 选择绿色实例(测试环境)的大版本。 单击前往授权并确定,完成SLR授权。 选择绿色实例的小版本后,单击创建。 在蓝绿部署配置确认弹窗中,单击确定。 重要 切换蓝绿部署的过程中,高性能本地盘实例会有一次闪断,高性能云盘实例会有两次闪断,建议您在低峰期操作并确保应用具有重连机制。 删除蓝绿部署时分为以下两种情况: 仅删除蓝绿部署关系: 蓝色实例和绿色实例均可正常使用,蓝绿部署的限制条件将会解除。 绿色实例会变为常规实例,计费方式保持按量计费不变,支持转换为包年包月计费方式。 删除蓝绿部署关系,同时删除绿色实例: 绿色实例会被释放。 蓝色实例不受影响可正常使用,蓝绿部署的限制条件将会解除。 访问RDS实例列表,选择地域并单击蓝色实例ID。 在左侧导航栏,选择蓝绿部署并单击蓝绿部署同步信息区域的删除。 访问链路切换是蓝绿部署的核心步骤之一,目的是将用户流量从生产环境(蓝色环境)平滑切换到测试环境(绿色环境)。其关键操作是切换虚拟IP地址(Virtual IP Address,VIP)与真实节点(Real Server,RS)的映射,如下图所示: VIP:用户访问服务的入口。 RS:提供服务的具体实例。 通过修改VIP与RS之间的映射关系,可以将流量导向新的环境。例如,当切换发生时,VIP从指向蓝色实例改为指向绿色实例。 检查项 报错信息 说明 状态检查(Status-Check) Current DB instance status should be active. 数据库实例的状态应为运行中。 表数量(Table-Count) The table count is different between blue and green instance. 蓝绿实例的表数量存在差异。 DTS状态(DTS-Status) DTS status is not synchronizing. DTS链路状态不是同步中。 DTS延迟(DTS-Delay) DTS delay is greater than 5 seconds. DTS同步延迟超过5秒。 只读(ReadOnly) Both blue and green instances have read-only instances. The blue instance has read-only instances. The green instance has read-only instances. 蓝绿实例均存在只读实例。 蓝色实例存在只读实例。 绿色实例存在只读实例。 数据库代理(MaxScale) Both blue and green instances have maxscale. The blue instance has maxscale. The green instance has maxscale. 蓝绿实例均存在数据库代理。 蓝色实例存在数据库代理。 绿色实例存在数据库代理。 连接地址(ConnectionString) Private network connection string is inconsistent between blue and green instances. Public network connection string is inconsistent between blue and green instances. 蓝绿实例的私网连接地址不一致。 蓝绿实例的公网连接地址不一致。 数据库(databases) The following databases exist only in the Blue instance: {{DB...}}. The following databases do not exist in the Blue instance: {{DB...}}. 以下数据库仅存在于蓝色实例中:<对应数据库名>。 以下数据库在蓝色实例中不存在:<对应数据库名>。 数据库账号(accounts) The following accounts exist only in the Blue instance: {{account...}}. The following accounts do not exist in the Blue instance: {{account...}}. 以下数据库账号仅存在于蓝色实例中:<对应账号名>。 以下数据库账号在蓝色实例中不存在:<对应账号名>。功能简介
什么是蓝绿部署
适用场景
优势
前提条件
计费说明
注意事项
创建蓝绿部署
切换蓝绿部署
删除蓝绿部署
附录一:蓝绿部署访问链路切换原理

附录二:切换前检查项及报错信息