当业务应用分布在多个地域,并需要连接不同地域的PolarDB集群时,管理和切换多个集群连接地址会变得复杂且容易出错。全球数据库网络(GDN)的全局域名功能,提供一个跨地域的、唯一的集群连接地址。应用无论部署在哪个地域,都可以使用此域名就近访问本地集群,并在主集群发生故障切换后,自动连接到新的主集群,实现应用层无感知的灾备切换,简化多地域部署架构的复杂性。
工作原理
全局域名功能是基于内网域名解析(Private Hosted Zone)服务,在专有网络(VPC)内部实现智能解析。
实现机制:开启全局域名时,系统会自动创建一个格式为
[gdnid].gdn.rds.aliyuncs.com的域名,并将其与GDN中所有集群所在的VPC进行关联。主从切换:
普通主从切换:北京地域的主集群转变为从集群,而上海地域的从集群则变为主集群。北京地域的应用通过连接全局域名仍然可以就近访问北京集群地址,此时北京的集群为从集群,读请求将从本地读取,而写请求则会自动路由至上海的主集群。
强制主从切换:将同步修改相关的全局域名配置,以确保您仍然可以通过全局域名访问新的主集群。例如,当原主集群脱离GDN,而新的主集群位于上海时,北京地域的应用通过连接全局域名将自动访问上海集群的地址(跨VPC访问)。此时,所有请求(无论是读请求还是写请求)均将路由到上海的主集群。
注意事项
开启全局域名后,若您的集群切换了专有网络VPC和交换机,则需重新打通新VPC与GDN中其他集群所在VPC之间的连接。
全局域名仅提供地域级别的流量分流,若同一地域内存在多个集群,业务请求会随机发送至任一集群。
费用说明
开启和使用全局域名功能会涉及以下费用:
内网DNS解析费用:全局域名基于内网域名解析(Private Hosted Zone)实现,详细计费规则请参见内网域名解析产品计费。
跨地域流量费用:主集群强制切换后,若原主集群与新主集群所在地域不同,会收取跨域流量数据传输费用。此费用由VPC对等连接收取,详细计费规则请参见VPC对等连接计费说明。
准备工作:配置网络与权限
创建全局域名之前,需完成准备工作,确保GDN中各集群间的网络连通性和访问权限。
GDN中所有集群所在的VPC网段最好不要有重叠,如果有重叠,需保证交换机vSwitch网段没有重叠。
开通内网DNS服务:登录云解析DNS-内网域名解析,单击立即开通按钮。
打通VPC之间的网络连接:为GDN中所有集群所在的VPC两两之间创建对等连接。例如,若有北京、上海、深圳三个地域的集群,则需创建“北京-上海”、“北京-深圳”、“上海-深圳”三对对等连接。详细操作,请参见VPC对等连接。
配置集群白名单:在GDN的每一个集群中,将其余所有集群所在VPC的网段添加到集群白名单中。
开启全局域名
可在创建GDN时或为已有的GDN开启全局域名。
创建GDN:
登录PolarDB控制台,单击左侧导航栏中的全球数据库网络(GDN)。
在全球数据库网络(GDN)页面,单击创建全球数据库网络。
在创建全球数据库网络(GDN)对话框中,打开全局域名开关。
已有GDN:
登录PolarDB控制台,单击左侧导航栏中的全球数据库网络(GDN)。
在全球数据库网络(GDN)页面,找到目标GDN,单击全球数据库网络ID进入GDN详情页。
找到全局域名并单击右侧的开启按钮。
开启全局域名时,系统会自动创建名为AliyunServiceRoleForPolarDB的服务关联角色,用于授权PolarDB访问内网域名解析等云资源。
验证全局域名
配置完成后,需从不同地域的VPC内验证域名的解析和连通性。
(可选)验证VPC对等连接:
假设主集群位于北京,从集群位于上海,您可以在北京区域的一台ECS实例上,通过MYSQL客户端工具连接上海集群的内网地址。如果连接成功,则表明北京VPC与上海VPC之间的连接正常。同样地,您可以验证上海VPC到北京VPC的连接是否正常。
mysql -hpc-xxxxxxxx.rwlb.rds.aliyuncs.com -P3306 -uxxxx -pxxxx验证就近访问:确认在不同地域的VPC内,全局域名能正确解析到本地集群地址。
登录部署在主集群(例如:北京地域)所在VPC内的一台ECS实例。
分别执行
ping 全局域名与ping 主集群内网地址。预期结果:两者返回的IP地址一致,说明使用全局域名可以就近返回应该连接的集群IP。
同理,验证从集群。
验证故障切换(模拟演练):测试主集群主从切换后,应用是否能通过全局域名自动连接到新主集群。
进入目标GDN详情页,在集群列表区域内,找到目标从集群,单击操作栏的切换为主集群。详细操作请参见切换主集群。
切换后,尝试重连全局域名,观察恢复时间。
管理全局域名
可根据业务需要,随时开启或关闭全局域名。
登录PolarDB控制台,单击左侧导航栏中的全球数据库网络(GDN)。
在全球数据库网络(GDN)页面,找到目标GDN,单击全球数据库网络ID进入GDN详情页。
找到全局域名并单击右侧的关闭按钮。
仔细阅读弹出的注意事项,确认无误后单击确定。
GDN全局域名关闭后,您可随时根据实际业务情况重新开启。