【发布时间】:2019-11-11 17:47:35
【问题描述】:
我已经设置了一个 VPN,并且能够从本地 ping EC2 实例的私有 IP,反之亦然。但是,我无法 ping DMS 复制实例的私有 IP。
我在 EC2 中创建了一个端点指向数据库。端点测试连接成功。但是,本地数据库的端点测试连接失败。
EC2 和 DMS 复制实例使用相同的子网、安全组等,详细信息如下图所示。
我想知道
1) 为什么 DMS 实例不与本地通信(反之亦然)
2) 为什么 EC2 在 VPN 中运行良好但在 DMS 实例中运行良好?
编辑:
与 DMS 实例关联的安全组的详细信息:
- vpc - EC2 使用的相同默认 vpc
- 入站规则 - 所有流量、所有协议、所有端口范围、源 = 192.168.0.0/24
- 出站规则 - 所有流量、所有协议、所有端口范围、源 = 0.0.0.0/0
路由表:
- 目的地 - 10.0.0.0/16,目标 = 本地
- 目标 - 0.0.0.0/0,目标 = 互联网网关
- 目标 - 192.168.0.0/24,目标 = VPN 中使用的虚拟专用网关
这是我在尝试测试 DMS DB 端点连接时收到的错误消息:
测试端点失败:应用程序状态:1020912,应用程序消息:连接失败发生网络错误,应用程序详细消息:RetCode:SQL_ERROR SqlState:HYT00 NativeError:0 消息:[unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired ODBC 一般错误。
【问题讨论】:
-
您想要达到的实际目标是什么? Ping 可以被安全组阻止。而不是使用
ping来测试连接性,您应该测试您希望实现的实际连接性。大概您希望允许 DMS 实例与您的本地数据库连接,这是正确的吗?如果是这样,请编辑您的问题以显示与 DMS 实例关联的安全组。 -
我已按照您的建议编辑了问题
-
当您从本地连接到 DMS 实例时,您用于连接的计算机的 IP 地址是什么?我怀疑它 not 在
192.168.0.0/24范围内,因此不允许通过安全组。 -
IP 实际上在那个范围内。 192.168.0.104。我可以从 EC2 ping 这个 IP,反之亦然。
-
VPC 的 CIDR 是多少?如果 EC2 实例可以访问它,那么 EC2 实例也必须在
192.168.0.0/24CIDR 范围内。因此,如果您说192.168.0.104在本地,这可能与本地范围重叠。
标签: amazon-ec2 vpn database-replication aws-dms