无法通过 Site-to-Site *** 和 DMS 源数据库端点测试连接从本地 ping DMS 复制实例的私有 IP

Posted

技术标签:

【中文标题】无法通过 Site-to-Site *** 和 DMS 源数据库端点测试连接从本地 ping DMS 复制实例的私有 IP【英文标题】:Unable to ping Private IP of DMS Replication Instance from on-premises over Site-to-Site *** & DMS source DB endpoint test connection fails 【发布时间】:2019-10-13 12:27:24 【问题描述】:

我想做什么?

我想将数据从本地 Windows Server 中的 SQL Server 迁移并自动复制到 AWS 云中的数据库。我为此使用 AWS DMS(数据库迁移服务)。

我已经做了/尝试了什么?

我已设置站点到站点 ***(在本地网络和 AWS VPC 之间) 我能够从本地 Windows Server ping *** 中的 EC2 实例 我能够从 *** 中的 EC2 实例 ping 本地 Windows Server 我创建了一个 DMS 复制实例。其私有 IP 已在 *** 连接集的允许 VPC CIDR 内 我能够从 EC2 实例 ping DMS 复制实例的私有 IP 但是,我无法从本地 Windows Server ping DMS 复制实例的私有 IP 我已经在我的本地 Windows Server 中设置了一个数据库服务器。我将此数据库添加为 DMS 源端点。当我尝试测试连接时,它失败并显示以下错误消息:

我已将安全组链接到 DMS 复制实例。这是我在 *** 连接设置中使用的同一个安全组 我的 DMS 源 DB 端点配置如下:

我想知道什么?

为什么我无法 ping DMS 复制实例的私有 IP 而我可以通过设置 *** ping EC2 实例 为什么 DMS 端点测试连接失败? 你能帮我做这个数据库迁移吗?

【问题讨论】:

这看起来像是您的本地环境中的路线问题。 【参考方案1】:

或许下面的调试方法会对你有所帮助。

正如您所提到的,您可以从本地网络 ping EC2 实例私有 IP,很明显,Site-Site *** 是成功的。

    您没有提到您在与可以从本地网络 ping 的其他 Windows 实例相同的子网中创建 DMS 实例。如果您在不同的子网中创建 DMS,请确保与该子网关联的路由表已启用路由传播。然后请检查入站规则中允许端口号和 IP 地址的安全组。通过这种方式,我们可以确保所有东西都在 AWS 中正​​确设置。

    请从您的本地站点使用以下命令进行 telnet 测试。

Windows/Linux:

在windows或linux终端打开命令提示符并尝试

telnet <<DMS IP>> <<Port Number>>

如果连接成功,那么您就可以在本地与 DMS 主机之间建立连接。

如果未成功连接或超时,则您需要联系您的本地网络管理员或负责人,并告诉他们您在从本地网络连接 AWS 子网 xxxx/x CIDR 时遇到问题

【讨论】:

DMS 实例在另一个子网中创建。与该子网关联的路由表已启用路由传播。我已在入站和出站规则中允许该子网的 CIDR。我可以知道我应该为 DMS 实例设置哪个端口吗? 到目前为止,我只尝试过 - telnet x.x.x.x。它说,“无法在端口 23 上打开与主机的连接:连接失败”。 x.x.x.x 是 DMS 实例的私有 IP 我能够从我的 EC2 实例(我能够从本地连接)ping DMS 实例。但我无法从本地连接 DMS 实例 //我应该更新哪个安全组?//我得到了答案。它是与我的复制实例链接的 VPC 安全组 @MAK 你在本地机器上做过 telnet 测试吗?对于 Ping,您需要在附加到 DMS 实例的安全组中允许 ICMP。

以上是关于无法通过 Site-to-Site *** 和 DMS 源数据库端点测试连接从本地 ping DMS 复制实例的私有 IP的主要内容,如果未能解决你的问题,请参考以下文章

构建AWS Site-to-Site IPsec实现内网互联

构建AWS Site-to-Site IPsec实现内网互联

站点到站点 *** 与点到站点 ***

centos部署ipsec *** nat穿越

centos部署ipsec *** nat穿越

无法再通过 CMD+D 打开开发菜单或通过 CMD+R 重新加载