如果您的主实例因连接数过多导致负载较高,或因业务需求要进行读写分离,可以参考本文开通RDS PostgreSQL数据库代理功能。该功能支持读写分离、事务拆分等能力,能够有效降低主实例访问压力。
关于RDS数据库代理的使用问题和更多相关信息,欢迎加入用户钉钉群(106730000316)进行咨询、反馈和交流 。
前提条件
RDS PostgreSQL实例需要满足以下要求:
实例大版本为PostgreSQL 10或以上版本。
实例存储类型为云盘。
实例系列为高可用系列。
实例为主实例。
华东1(杭州)可用区C和可用区D暂不支持数据库代理功能。如需使用,请将实例迁移至其他可用区,具体操作,请参见迁移可用区。
费用说明
通用型代理免费。
独享型代理按量计费,请参见数据库代理费用说明。
注意事项
开通数据库代理后,不建议迁移主实例可用区。如果迁移主实例可用区,将会导致主实例与数据库代理不在同一可用区,从而使数据库访问延迟增高,响应变慢。
说明如果因业务故障导致主备切换,主实例主可用区与代理可用区不一致,为了降低访问延迟,可手动进行主备切换,使主实例主可用区与代理可用区保持一致。具体操作,请参见手动主备切换。
请确保已创建只读实例。没有只读时,可以开启数据库代理功能,但无法配置代理连接地址访问策略。创建方法,请参见创建PostgreSQL只读实例。
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击数据库代理。
选择代理类型,单击立即开通。
通用型代理(免费):系统将按照最佳推荐代理规格进行开通,后续您可以变更代理配置,
独享型代理(按量付费):支持选择代理规格。
说明如果开通数据库代理时,提示未进行SLR授权,请单击点击授权,在对话框中单击确定。阿里云将自动创建服务关联角色AliyunServiceRoleForRdsProxyOnEcs,允许RDS Proxy服务通过该角色为用户完成弹性网卡的挂载动作,进而打通网络链路。
通用型代理和独享型代理的差异,请参见代理类型介绍。
推荐代理规格计算方式:
推荐代理规格 =
推荐代理个数*单位代理规格
。其中,单位代理规格固定为2核。通用型代理规格最高为16核,独享型代理规格最高为32核。推荐代理个数计算方式如下:
代理类型
推荐代理个数
通用型
(主实例CPU核数+该主实例下所有只读实例CPU核数)/4
(向上取整)。独享型
(主实例CPU核数+该主实例下所有只读实例CPU核数)/8
(向上取整)。
例如,RDS PostgreSQL高可用系列实例:主实例为8核CPU,该实例下有1个4核CPU的只读实例,则通用型代理推荐代理个数为
(8+4)/8=2个
,即推荐代理规格=2 *2 核=4核
。
单击确定。
开启数据库代理后,您可以在数据库代理页签看到数据库代理的基本信息和链接信息。
类别
参数
说明
基本信息
主实例
RDS PostgreSQL实例ID。
代理实例状态
代理实例的运行状态。
代理类型
代理类型,分为通用型和独享型。通用型代理和独享型代理的差异,请参见代理类型介绍。
可用区
代理实例的可用区信息,默认与主实例主可用区相同。
代理规格
当前代理规格。
代理规格和代理个数的关系:
代理规格 = 单位代理规格 × 代理个数
,其中单位代理规格固定为2核CPU。例如,代理实例的代理个数为3 ,则对应的代理规格为2核 x 3 = 6核
。代理小版本
代理的内核小版本。
连接信息
代理连接地址(终端)ID
代理连接地址ID,支持为每个代理连接地址配置不同的访问策略。
说明每个RDS PostgreSQL数据库实例支持申请1~7个代理连接地址,每个代理连接地址都可以申请1个内网地址和1个外网地址。
您可以在配置数据库代理连接地址访问策略后,通过代理连接地址连接数据库。
将鼠标悬浮在代理连接地址ID上,可以查看当前代理连接地址ID的访问策略(读写属性、读权重信息)。
读写属性
包括读写和只读。
更多信息,请参见设置读写属性和读权重。
内网地址/端口
代理内网连接地址和端口。
通过该地址可以从内网连接RDS PostgreSQL数据库实例,使用数据库代理功能。
说明该内网地址和代理连接地址ID绑定,您可以通过配置数据库代理连接地址访问策略定制数据库代理功能。
您可以单击连接地址右侧的按钮,修改连接地址前缀和端口号。更多信息,请参见设置数据库代理连接地址。
外网地址/端口
代理外网连接地址和端口。
通过该地址可以从外网连接RDS PostgreSQL数据库实例,使用数据库代理功能。
说明数据库代理默认提供内网连接地址,您可以申请外网地址。
申请外网地址后,您可以单击连接地址右侧的按钮,修改连接地址前缀和端口号。更多信息,请参见设置数据库代理连接地址。
相关API
API | 描述 |
开启或者关闭数据库代理功能。 | |
查询数据库代理详情。 |