RDS MySQL数据库代理支持读写分离、连接保持、就近访问、事务拆分、连接池、SSL加密等功能,能够降低主实例负载,提高实例可用性和安全性。本文介绍通过RDS控制台和API接口开通RDS MySQL数据库代理的方法以及推荐代理规格的计算方式。
关于RDS数据库代理的使用问题和更多相关信息,欢迎加入用户钉钉群(106730000316)进行咨询、反馈和交流 。
如需开通数据库代理功能,主实例需满足以下条件: 实例系列为高可用系列或集群系列,且数据库版本需满足以下要求。基础系列实例无法开通数据库代理功能,您可以将基础系列升级为高可用系列或升级为集群系列后使用。 数据库引擎及版本 实例系列 内核小版本 MySQL 8.0 高可用系列 20190915或以上 集群系列 无要求 MySQL 5.7 高可用系列 20190925或以上 集群系列 无要求 MySQL 5.6 高可用系列 20200229或以上 地域:实例不处于华东1(杭州)可用区C和D。 说明 您可以前往实例基本信息页面查看以上信息。如果配置信息区域有升级内核小版本按钮,您可以单击按钮查看当前版本;如果没有按钮,表示已经是最新版。详情请参见升级内核小版本。 通用型代理免费。 独享型代理按量计费,请参见数据库代理费用说明。 数据库代理暂不支持压缩协议。 对于集群系列实例,您可以直接使用实例的主备节点搭建读写分离结构。 对于高可用系列实例,如您希望实现读写分离,需要创建MySQL只读实例并开通数据库代理。 开通数据库代理后,不建议迁移RDS主实例可用区。如果迁移主实例可用区,将会导致主实例与数据库代理不在同一可用区,从而使数据库访问延迟增高,响应变慢。 说明 如果因业务故障导致RDS实例主备切换,您可以手动切换主备节点或迁移代理可用区,使RDS主实例主可用区与代理可用区保持一致,降低访问延迟。 说明 本节介绍如何在实例详情页开启或关闭数据库代理服务,您也可以在创建只读实例的同时开启数据库代理服务,详情请参见创建MySQL只读实例。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏,单击数据库代理。 在目标代理类型下方,单击立即开通。 在开通数据库代理弹窗页面,配置以下代理信息。 参数 说明 代理类型 分为通用型和独享型,详情请参见代理类型介绍。 部署方案 支持双可用区部署和单可用区部署,详情请参见代理部署架构。 说明 建议您开启双可用区部署的数据库代理,以具备跨可用区容灾能力,进一步提升系统可用性。 节点总个数 1个数据库代理实例包含多个代理节点,支持: 可用区 代理节点所在的可用区,建议数据库代理可用区和RDS实例的可用区保持一致。 单节点代理规格CPU(核) 重要 您可以参考下述说明内容选择合适的单节点代理规格。 代理连接地址可用区 开通代理时,会默认为您创建1个代理连接地址,您需要指定代理连接地址网络可用区,建议和RDS主实例的主可用区保持一致。 如何选择合适的单节点代理规格 推荐单个代理节点规格计算方式如下: 代理类型 高可用系列实例 集群系列实例 通用型 独享型 例如,RDS高可用系列实例:主实例为8核CPU,该实例下有1个4核CPU只读节点和1个6核CPU只读节点,推荐单个代理节点规格为 通用型:1~8核。 独享型:1~16核。 同一可用区内的代理节点规格必须保持一致。 在双可用区部署的情况下,当代理节点总数为2时,两个代理节点的规格必须保持一致。 2个:单可用区部署、双可用区部署 4个:双可用区部署 单击确定。 当您在数据库代理页签看到数据库代理的基本信息和连接信息时,表示已成功开启数据库代理。 类别 参数 说明 基本信息 主实例 RDS MySQL实例ID。 代理实例状态 代理实例的运行状态。 代理类型 代理类型,分为通用型和独享型。通用型代理和独享型代理的差异,请参见代理类型介绍。 可用区 代理实例的可用区信息,与主实例的主可用区相同。 代理规格 当前代理规格。 代理小版本 代理的内核小版本。 说明 各小版本的更新详情,请参见数据库代理小版本发布记录。若您需要升级数据库代理小版本,请参见升级数据库代理内核小版本。 节点类型 节点Id 代理节点ID。 可用区 代理节点所在可用区。 代理节点规格CPU(核) 单个代理节点规格。 连接信息 代理连接地址(终端)ID 读写属性 更多信息,请参见设置读写属性和读权重。 就近访问 仅双可用区4代理节点的部署形式支持就近访问,详情请参见设置就近访问。 网络信息 代理的可用区、VPC及交换机信息。 支持切换交换机。切换交换机前,请先了解切换交换机的影响。单击切换交换机,选择目标交换机及变更时间,并单击确定。 内网地址/端口 外网地址/端口 代理外网连接地址和端口。 通过该地址可以从外网连接RDS MySQL数据库实例,使用数据库代理功能。 说明 数据库代理默认提供内网连接地址,您可以申请外网地址。 申请外网地址后,您可以单击连接地址右侧的 该内网地址和代理连接地址ID绑定,通过该地址可以从内网连接RDS MySQL数据库实例,使用数据库代理功能,详情请参见配置数据库代理连接地址访问策略。 您可以单击连接地址右侧的 读写(读写分离)(默认):同时连接主实例和只读实例,可以接受写请求。 只读(不连接主实例,无法接受写请求):仅连接只读实例,不接受写请求。 每个RDS MySQL数据库实例支持申请1~7个代理连接地址,每个代理连接地址都可以申请1个内网地址和1个外网地址,支持为每个代理连接地址配置不同的访问策略。 开通时系统会自动分配1个代理连接地址,您可以直接使用。如需修改配置,请参见配置数据库代理连接地址访问策略。 代理规格和代理单节点规格的关系: 代理个数和代理规格的关系: 关闭数据库代理可能产生以下影响: 读写分离失效:如您通过数据库代理实现读写分离,关闭代理后,应用程序将无法区分并路由读请求至只读实例,所有请求都将发送至主实例,引起主实例负载过高,影响数据库性能和稳定性。 连接失效:如您通过数据库代理连接数据库,关闭代理后,通过代理地址访问数据库的应用程序将会断开。 连接管理问题:阿里云数据库代理提供连接池管理、长连接保持等功能。关闭代理后,需在应用侧新建程序管理数据库连接,可能会增加连接创建和销毁的开销,影响性能。 安全风险:数据库代理作为一道安全屏障,提供访问控制、安全策略等功能。关闭代理可能直接暴露数据库实例,增加被攻击的风险。 运维复杂度增加:代理通常提供监控、日志收集、故障检测等功能,关闭后这些功能可能需要通过其他手段实现,增加了运维的复杂度和工作量。 性能影响:虽然直接连接数据库可以减少一次网络跳转,提高局部通信效率,但失去代理的优化能力,如查询缓存、连接复用等,在高并发场景下对性能产生负面影响。 兼容性问题:如果应用程序依赖于代理提供的特殊功能或协议转换,直接连接可能导致兼容性问题。 故障切换和高可用性:数据库代理在一些场景中可能参与故障检测和自动故障转移。关闭代理则需要手动处理这些情况,影响服务的高可用性。 数据库连接:关闭数据库代理会释放代理连接地址(原代理终端),应用程序将不能通过内网或外网代理连接地址连接数据库实例,已存在连接将会断开。RDS MySQL实例地址不受影响。 关闭后如果再次开通,代理连接地址会改变。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏,单击数据库代理。 在页面右上角,单击关闭代理服务。 单击确定。 API 描述 开启RDS MySQL实例的数据库代理功能时,您需要将ConfigDBProxyService参数设置为Startup,其他参数请按需配置。 查询RDS MySQL实例的数据库代理详情。前提条件
费用说明
使用限制
注意事项
操作步骤
开启数据库代理
(主实例CPU核数+该主实例下所有只读实例CPU核数)/4(向上取整)。(主节点CPU核数+该主节点下所有备节点CPU核数)/4(向上取整)。(主实例CPU核数+该主实例下所有只读实例CPU核数)/8(向上取整)。(主节点CPU核数+该主节点下所有备节点CPU数)/8(向上取整)。(8+4+6)/8=3核。![]()
![]()
代理规格 = 所有代理节点规格求和。代理个数 = 代理规格 / 单位代理规格(可选)关闭数据库代理
注意事项
操作步骤
相关API
相关文档