【问题标题】:Connectivity issue with AWS DMS with Postgresql on RDSAWS DMS 与 RDS 上的 Postgresql 的连接问题
【发布时间】:2021-12-21 00:24:58
【问题描述】:

我有 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。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      这里建议https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/

      修改用于测试与端点的连接的复制实例时,请注意:

      1. 私有 IP 地址
      2. VPC 安全组

      将安全组更改为合适的安全组或编辑正在使用的安全组,添加 入站规则 以允许来自复制的私有 IP 地址的 PostgreSQL 流量类型实例。

      【讨论】:

        猜你喜欢
        • 2017-09-13
        • 2015-01-29
        • 1970-01-01
        • 1970-01-01
        • 2019-10-14
        • 2016-09-14
        • 2021-12-19
        • 2021-01-31
        • 1970-01-01
        相关资源
        最近更新 更多