AWS DMS 与 RDS 上的 Postgresql 的连接问题

use*_*665 8 postgresql amazon-web-services amazon-rds amazon-vpc 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.
Run Code Online (Sandbox Code Playgroud)

Test Connection令我惊讶的是,当我点击同一账户中的目标 RDS 实例时,我收到了类似的错误。IE:-

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.
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*ell 2

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

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

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