如何修复AWS DMS到RDS的连接错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修复AWS DMS到RDS的连接错误?相关的知识,希望对你有一定的参考价值。

我很难将DMS实例连接到RDS实例,需要一些帮助。

情况:我已经创建了Postgres和SQLServer RDS实例,并且都使用相同(默认)VPC且没有SSL进行公共访问。我添加了VPC入站防火墙规则,以使用外部IP地址和DMS实例IP地址打开RDS实例。已通过我远程站点上的桌面应用程序验证了入站规则和数据库的用户/密码。

我还为我的远程IP地址创建了DMS源端点。端点测试验证“通过”连接。

我的问题:从DMS到RDS的目标端点无法通过连接验证。我假设使用相同的VPC创建DMS和RDS实例将保证它们之间的连接。我还假设向DMS和RDS实例之间的开放端口添加入站规则也可以,但是它们之间的连接失败。

错误:RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout expired [122502] ODBC general error.]

我在做什么错?

更新:如果我创建没有公共IP地址的DMS实例,则目标连接将通过验证。它曾经工作过

更新2:如果我打开入站以允许所有IP地址,则实例之间的连接成功。

看起来像是网络问题。但是,为什么不将DMS实例IP地址放入防火墙允许连接呢?

tia

答案

我遇到了类似的问题。对我来说,解决方案是将RDS实例主密码更改为仅字母数字字符。我一直在使用类似fh&9*-1aX=的东西,甚至将其括在花括号中,例如fh&9*-1aX=,返回连接字符串解析错误。

以上是关于如何修复AWS DMS到RDS的连接错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何连接nodejs sequelize aws rds mysql数据库和ec2实例

连接节点 v5.10.1 时握手不活动超时错误。到 aws mysql RDS

如果AWS RDS恢复发生,如何重新连接

NodeJS 中的 AWS RDS SSL 连接错误

AWS DMS - 如何将 RDS 表数据写入单个 S3 目标文件?

使用nginx服务器和AWS RDS的Laravel出现“连接太多”错误