8

我们正在使用几个 EC2-Classic 服务器(Linux Ubuntu),配置如下:安装的 EBS 卷,并且在它们上面运行服务器版本:5.5.48-MariaDB

我想使用 AWS DMS(AWS 数据库迁移服务)并将我们的 EBS 数据库迁移到新 VPC 中的 RDS AuroraDB。我创建了 VPC、AuroraDB(不可公开访问)、AWS DMS 复制实例和端点。

从 EC2 经典实例,我可以打开 VPC 中的远程 AuroraDB 控制台(感谢 Classic Link)。目标端点(到 AuroraDB)工作正常,测试成功完成

源端点向我显示以下错误:

Operation:testEndpointDetails:[errType=ERROR_RESPONSE,
status=122502, errMessage=Cannot connect to ODBC provider 122502 ODBC general error.,
errDetails= RetCode: SQL_ERROR SqlState: HY000 NativeError: 2003 Message: unixODBCMySQL http://ODBC 5.3(w)
DriverCan't connect to MySQL server on 'Private.DNS.name' (110) http://122502] ODBC general error.

我尝试设置服务器名称私有/公共 DNS 和私有/公共 IP,仍然相同。

凭证没问题,我没有使用任何特殊字符。我在北弗吉尼亚地区经营。AWS DMS 复制实例设置为公共。我可以从远程 EC2 经典实例登录 MariaDB 控制台。

我尝试将 AWS DMS 复制实例的端口 3306 和私有/公共 IP 设置为正确的安全组,但我想我仍然错过了一些东西,可能在 SG 区域,但我不确定。

4

2 回答 2

17

我遇到了同样的错误消息,这是一个网络问题。我的复制实例无权访问数据库。

我的数据库位于具有子网 x 的 VPC 中,而我的复制实例位于具有相同子网 x 的同一 VPC 中。我在我的网络 ACL 和数据库的安全组中打开了 3306 端口到 Internet (0.0.0.0/0) 只是为了测试它是否是网络问题。连接测试使用这些设置。测试后,我删除了最后一个安全设置。

我的问题的解决方案是在安全组和数据库的网络ACL中打开3306端口到所有vpc连接。例如 172.0.0.0/16。

希望能帮助到你

于 2016-04-07T13:18:20.303 回答
7

您必须将 DMS 复制实例中的安全组作为授权的入站流量添加到您的 RDS 数据库关联的安全组。

  • 转到数据库迁移服务仪表板,然后将它们转到“复制实例”
  • 选择您的复制实例以获取“VPC 安全组”
于 2017-09-01T10:20:22.427 回答