如何解决连接不上RDS实例问题 您所在的位置:网站首页 华为应用白名单找不到 如何解决连接不上RDS实例问题

如何解决连接不上RDS实例问题

2024-01-13 08:53| 来源: 网络整理| 查看: 265

在搭建业务场景调试的过程中,经常会出现无法连接RDS实例的情况,很多时候都是由于网络类型不统一、白名单未放对应IP等导致的。以下为最常见的原因和解决办法。

网络类型不同

ECS实例采用专有网络(VPC),RDS实例采用经典网络

解决办法一(推荐):将RDS实例从经典网络切换为VPC,具体操作请参见切换网络类型。

说明

切换后,两者必须处于同一个VPC,才能内网互通。

解决办法二:重新购买经典网络的ECS实例(ECS实例不支持从VPC迁移到经典网络)。但是VPC比经典网络更安全,建议您使用VPC。

解决办法三:ECS实例使用RDS实例的公网连接地址连接RDS实例,即通过公网连接RDS实例。这种方式的性能、安全性、稳定性较差。

ECS实例采用经典网络,RDS实例采用专有网络(VPC)

解决办法一(推荐):将ECS实例从经典网络迁移到VPC,具体操作请参见单ECS迁移示例。

说明

切换后,两者必须处于同一个VPC,才能内网互通。

解决办法二:将RDS实例从VPC切换为经典网络。但是VPC比经典网络更安全,建议您使用VPC。

解决办法三:使用ClassicLink功能,使经典网络的ECS实例可以和VPC中的云资源通过内网互通。

解决办法四:ECS实例使用RDS实例的公网连接地址连接RDS实例,即通过公网连接RDS实例。这种方式的性能、安全性、稳定性较差。

专有网络(VPC)不同

专有网络VPC是基于阿里云构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离,所以当ECS和RDS实例的网络类型都是专有网络时,还需要保证所属的专有网络也相同,才能内网互通。

解决办法一(推荐):将RDS实例迁移到ECS实例所在的VPC。

具体操作:参见切换专有网络VPC和虚拟交换机或切换网络类型(先将RDS实例的网络类型从VPC切换到经典网络,再切换回VPC)。

解决办法二:在两个VPC之间建立云企业网。

解决办法三:通过公网互通。这种方式的性能、安全性、稳定性较差。

地域不同

ECS实例和RDS实例位于不同的地域时,无法直接通过内网互通。

解决办法一:将原实例申请退款,重新购买。

解决办法二:ECS实例和RDS实例的网络类型都设置为VPC,同时在两个VPC之间建立云企业网。

解决办法三:通过外网互通。这种方式的性能、安全性、稳定性较差。

IP白名单设置有误

由于白名单设置中只有默认地址127.0.0.1。该地址表示不允许任何设备访问RDS实例。因此需在白名单中添加对端的IP地址,具体操作请参见设置IP白名单。

白名单设置成了0.0.0.0,正确格式为0.0.0.0/0。

重要

0.0.0.0/0表示允许任何设备访问RDS实例,请谨慎使用。

如果开启了高安全白名单,需进行如下检查:

如果使用的是专有网络的内网连接地址,请确保ECS内网IP地址添加到了专有网络的分组。

如果使用的是经典网络的内网连接地址,请确保ECS内网IP地址添加到了经典网络的分组。

如果通过公网连接,请确保设备公网IP地址添加到了经典网络的分组(专有网络的分组不适用于公网)。

您在白名单中添加的设备公网IP地址可能并非设备真正的出口IP地址。原因如下:

公网IP地址不固定,可能会变动。

IP地址查询工具或网站查询的公网IP地址不准确。

解决办法请参见:

外网无法连接RDS MySQL或MariaDB:如何正确填写本地设备的公网IP地址

SQL Server如何确定外部服务器/客户端的公网IP地址

RDS PostgreSQL实例如何查看本地IP

域名解析失败或错误

域名服务器出现故障或修改过网卡配置,可能会导致域名解析失败或错误。此时可以通过ping和 telnet测试到RDS的连通性,命令如下。

ping telnet

示例

ping测试telnet测试

如果失败的话,可以通过修改网卡配置文件来解决问题,具体步骤如下:

修改对应的网卡配置文件。

vi /etc/sysconfig/network-scripts/说明

:ECS服务器使用的网卡,可以通过ifconfig查看后缀名,默认为ifcfg-eth0。

在配置文件末尾加入如下配置。

DNS1=100.100.XX.XX DNS2=100.100.XX.XX说明

如果已经有DNS1和DNS2配置,请将IP地址修改为如上所示。

修改dns

使用如下命令重启Network服务。

sudo systemctl restart network

使用如下命令查看是否修改成功。

cat /etc/resolv.conf修改dns成功只读实例未设置白名单

使用只读实例或读写分离时,要确保只读实例上也设置了白名单,否则应用程序无法访问只读实例。

内外网地址使用错误

使用内网地址从外网进行连接,或者使用外网地址从内网进行连接都会导致连接失败。

请确认您使用的地址类型。如果您需要从内网连接RDS实例,请使用RDS实例的内网地址;如果您需要从外网连接RDS实例,请使用RDS实例的外网地址。

连接数已满

连接数满通常是由于空闲连接过多或活动连接过多,具体原因及解决办法请参见如何处理RDS MySQL连接数满情况或如何处理RDS PostgreSQL实例连接数过多。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有