ECS实例无法连接PolarDB集群的排查方法

问题描述

阿里云云服务器ECS实例连接云数据库PolarDB集群时,连接失败。

问题原因

ECS实例连接PolarDB集群失败的问题原因如下:

  • PolarDB集群白名单设置中未添加ECS实例的IP地址。
  • PolarDB集群白名单设置中添加的ECS实例的IP地址不正确或格式错误。
  • PolarDB集群和ECS实例的网络类型不同。例如,ECS实例采用经典网络,PolarDB集群采用VPC网络。
  • PolarDB集群和ECS实例不在同一个VPC网络。

解决方案

请执行以下操作排查解决:

  1. 请确认在白名单设置中已添加ECS实例的IP地址,并检查添加的IP白名单是否正确,具体操作请参见云原生关系型数据库PolarDB MySQL白名单设置云原生关系型数据库PolarDB O白名单设置云原生关系型数据库PolarDB PostgreSQL白名单设置云原生分布式数据库 PolarDB-X白名单设置
    • 如果是通过内网地址访问,需添加ECS的私网IP地址。
    • 如果是通过公网地址进行访问,需添加ECS的公网IP地址。
      说明:ECS实例使用PolarDB的公网连接地址连接集群,这种方式的性能、安全性、稳定性较差。
  2. 确认网络类型是否一致,如果网络类型不一致,请执行以下操作:
    • 如果ECS实例的网络类型是经典网络,请参见ECS实例从经典网络迁移到专有网络,将ECS实例迁移至PolarDB所在的专有网络。
      说明:如果该ECS还要访问其他经典网络内网资源,请勿操作,因为迁移后会无法访问经典网络。
    • 使用ClassicLink功能,使经典网络中的ECS实例可以和VPC网络中的云资源通过内网互通。
  3. 请确认ECS实例和PolarDB集群是否位于同一个VPC网络。如果不是,需要重新购买一个PolarDB,或者通过云企业网来打通两个VPC网络,实现访问。

适用于

  • 云服务器ECS
  • 云原生关系型数据库PolarDB MySQL引擎
  • 云原生关系型数据库PolarDB O引擎
  • 云原生关系型数据库PolarDB PostgreSQL引擎
  • 云原生分布式数据库 PolarDB-X