具有RDS上的Postgresql的AWS DMS的连接问题

时间:2018-10-17 16:51:51

标签: postgresql amazon-web-services amazon-rds aws-dms

我有2个AWS RDS实例(在Postgresql上运行)。两者都位于不同的帐户和不同的区域。我想使用AWS DMS在它们之间设置数据复制。 我尝试进行VPC对等。 我观看了以下视频以启用VPC对等功能:-

https://www.youtube.com/watch?v=KmCEFGDTb8U

问题:- 当我尝试创建AWS DMS服务时,我为源添加了主机名,用户名和密码(其他帐户上存在),当我点击Test Connection时,出现以下错误。

Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to connect Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout expired ODBC general error.

令我惊讶的是,当我击中同一帐户中的Target RDS实例的Test Connection时,遇到类似的错误。即:-

Test Endpoint failed: Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout expired ODBC general error.

Google建议我们使用某种防火墙,但是查看NACL,我可以看到两个VPC都允许使用0.0.0.0/0。

1 个答案:

答案 0 :(得分:0)

如果您尝试从另一个IP访问一个IP中的私有IP范围,则除了创建VPC对等连接外,还必须:

  • 在两个VPC中创建路由表条目,以通过对等连接将流量路由到远程VPC的IP范围,
  • 允许安全组中的连接,包括目标安全组中的源CIDR范围,以及(如果要过滤来自源的传出连接)其出站规则。请注意,您不能使用安全组ID允许此流量,因为它不适用于跨区域对等;
  • 允许在底层软件中进行连接(默认情况下可能允许),
  • 允许网络ACL通过流量(您已经确认默认情况下也允许)

由于您看到超时,因此我怀疑安全组规则。但是,这也可能是一条糟糕的路线。