2

我已经设置了一个 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]登录超时过期 ODBC 一般错误。

4

1 回答 1

2

您可能需要描述/提供完整的网络拓扑以获得更准确的答案,但根据 AWS 关于“ AWS Database Migration Service 的网络安全性”的文档,我最好的猜测是您缺少源和目标数据库配置:

数据库端点必须包含允许来自复制实例的传入访问的网络 ACL 和安全组规则。您可以使用复制实例的安全组、私有 IP 地址、公共 IP 地址或 NAT 网关的公共地址来实现此目的,具体取决于您的配置。

另外,您提到的这个 EC2 是 NAT 实例吗?以防万一:

如果您的网络使用 VPN 隧道,则充当 NAT 网关的 Amazon EC2 实例必须使用具有允许复制实例通过它发送流量的规则的安全组。

于 2019-09-19T23:07:27.030 回答