文档

开通数据库代理

更新时间:

RDS MySQL数据库代理支持读写分离、连接保持、SSL加密等功能,能够降低主实例负载,提高实例可用性和安全性。本文介绍通过RDS控制台和API接口开通RDS MySQL数据库代理的方法以及推荐代理规格的计算方式。

前提条件

主实例需满足以下条件:

  • 版本:

    实例大版本

    实例系列

    内核小版本

    MySQL 8.0

    高可用系列

    20190915或以上

    集群系列

    无要求

    MySQL 5.7

    高可用系列

    20190925或以上

    集群系列

    无要求

    MySQL 5.6

    高可用系列

    20200229或以上

  • 地域:实例不处于华东1(杭州)可用区C和D。

说明

您可以前往实例基本信息页面查看以上信息。如果配置信息区域有升级内核小版本按钮,您可以单击按钮查看当前版本;如果没有按钮,表示已经是最新版。详情请参见升级内核小版本

费用说明

使用限制

  • 数据库代理暂不支持压缩协议。

  • 数据库代理暂不支持切换交换机。

注意事项

  • 对于集群系列实例,您可以直接使用实例的主备节点做读写分离。

  • 开通数据库代理后,不建议迁移主实例可用区。如果迁移主实例可用区,将会导致主实例与数据库代理不在同一可用区,从而使数据库访问延迟增高,响应变慢。

    说明

    如果因业务故障导致主备切换,主实例主可用区与代理可用区不一致,为了降低访问延迟,可手动进行主备切换,使主实例主可用区与代理可用区保持一致。具体操作,请参见手动切换主备实例

操作步骤

说明

本节介绍如何在实例详情页开启或关闭数据库代理服务,您也可以在创建只读实例时同时开启数据库代理服务,详情请参见创建MySQL只读实例

开启数据库代理

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击数据库代理

  3. 在目标代理类型下方,单击立即开通

    • 通用型代理(免费):系统将按照最佳推荐代理规格进行开通,后续您可以变更代理配置。

    • 独享型代理(按量付费):支持选择代理规格

      说明

      推荐代理规格计算方式:

      推荐代理规格=推荐代理个数*单位代理规格。其中,单位代理规格固定为2核CPU。

      通用型代理规格最高为16核,独享型代理规格最高为32核。推荐代理个数计算方式如下:

      代理类型

      高可用系列实例

      集群系列实例

      通用型推荐代理个数

      (主实例CPU核数+该主实例下所有只读实例CPU核数)/4(向上取整)。

      (主节点CPU核数+该主节点下所有备节点CPU核数)/4(向上取整)。

      独享型推荐代理个数

      (主实例CPU核数+该主实例下所有只读实例CPU核数)/8(向上取整)。

      (主节点CPU核数+该主节点下所有备节点CPU数)/8(向上取整)。

      例如,RDS高可用系列实例:主实例为8核CPU,该实例下有1个4核CPU的只读实例,则独享型代理推荐代理个数为(8+4)/8=2个,即推荐代理规格为2 *2 核=4核

  4. 单击确定

    开启数据库代理后,您可以在数据库代理页签看到数据库代理的基本信息和连接信息。

    类别

    参数

    说明

    基本信息

    主实例

    RDS MySQL实例ID。

    代理实例状态

    代理实例的运行状态。

    代理类型

    代理类型,分为通用型和独享型。通用型代理和独享型代理的差异,请参见代理类型介绍

    可用区

    代理实例的可用区信息,与主实例主可用区相同。

    代理规格

    当前代理规格。

    代理规格和代理个数的关系:代理规格 = 单位代理规格 × 代理个数,其中单位代理规格固定为2核CPU。例如,代理实例的代理个数为3 ,则对应的代理规格为2核 x 3 = 6核

    代理小版本

    代理的内核小版本。

    连接信息

    代理连接地址(终端)ID

    代理连接地址ID,支持为每个代理连接地址配置不同的访问策略。

    说明
    • 每个RDS MySQL数据库实例支持申请1~7个代理连接地址,每个代理连接地址都可以申请1个内网地址和1个外网地址。

    • 开通时系统会自动分配代理连接地址,并已自动分配了默认配置,您可以直接使用。如需修改配置,请参见配置数据库代理连接地址访问策略

    • 将鼠标悬浮在代理连接地址ID上,可以查看当前代理连接地址ID的访问策略(读写属性、读权重信息)。

    读写属性

    包括读写只读

    更多信息,请参见设置读写属性和读权重

    内网地址/端口

    代理内网连接地址和端口。

    通过该地址可以从内网连接RDS MySQL数据库实例,使用数据库代理功能。

    说明

    外网地址/端口

    代理外网连接地址和端口。

    通过该地址可以从外网连接RDS MySQL数据库实例,使用数据库代理功能。

    说明
    • 数据库代理默认提供内网连接地址,您可以申请外网地址。

    • 申请外网地址后,您可以单击连接地址右侧的image.png按钮,修改连接地址前缀和端口号。更多信息,请参见设置数据库代理连接地址

(可选)关闭数据库代理

注意事项

关闭数据库代理可能产生以下影响:

  1. 读写分离失效:如果数据库代理用于实现读写分离,关闭代理后,应用程序可能无法再自动区分并将读请求路由到只读副本,导致所有请求都直接发送到主实例,可能引起主实例负载过重,影响性能和稳定性。

  2. 连接管理:阿里云数据库代理提供连接池管理、长连接保持等功能。关闭代理后,需要应用程序自己管理数据库连接,可能会增加连接创建和销毁的开销,影响性能。

  3. 安全风险:数据库代理作为一道安全屏障,实施了访问控制、安全策略等。关闭代理可能直接暴露数据库实例,增加被攻击的风险。因此,在数据库实例层面需要加强安全配置。

  4. 运维复杂度增加:代理通常提供监控、日志收集、故障检测等功能,关闭后这些功能可能需要通过其他手段实现,增加了运维的复杂度和工作量。

  5. 性能影响:虽然直接连接数据库可以减少一次网络跳转,提高局部通信效率,但失去代理的优化能力,如查询缓存、连接复用等,在高并发场景下对性能产生负面影响。

  6. 兼容性问题:如果应用程序依赖于代理提供的特殊功能或协议转换,直接连接可能导致兼容性问题。

  7. 故障切换和高可用性:数据库代理在一些配置中可能参与故障检测和自动故障转移逻辑。关闭代理则需要手动处理这些情况,影响服务的高可用性。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击数据库代理

  3. 在页面右上角,单击关闭代理服务

  4. 单击确定

相关API

API

描述

ModifyDBProxy

开启RDS MySQL实例的数据库代理功能时,您需要将ConfigDBProxyService参数设置为Startup,其他参数请按需配置。

DescribeDBProxy

查询RDS MySQL实例的数据库代理详情。