Glue 无法连接到托管在 ec2(public 子网)上的 mysql

Glue cannot connect to a mysql hosted on an ec2 (public subnet)

我正在尝试从 Glue 连接到托管在 EC2 上的 mysql 实例。

我在 public 子网上部署了 mysql 数据库(是的,这只是一个用于测试的 POC)。

我创建了一个 S3 VPC 端点(网关)并连接到我的 public 子网

对于安全组(入站和出站),我使用对所有人开放(是的,这只是一个 POC 来测试 Glue 连接)。

我的 glue iam 角色具有 glue 完全访问策略和管理员访问策略(是的,这不是最佳策略,但我只是想检查为什么我无法连接)

我遇到一个错误,指出我无法连接。但是我可以在 mysql 客户端上连接到它。所以我很确定它与我的连接字符串无关。有帮助吗?

2021-06-11T09:34:19.680+08:00

Copy
Check that your connection definition references your JDBC database with correct URL syntax, username, and password. Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Check that your connection definition references your JDBC database with correct URL syntax, username, and password. Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

2021-06-11T09:34:19.680+08:00   Exiting with error code 30

Glue 不支持 Mysql 8 因为它使用旧的JDBC 驱动程序。所以你必须 setup your own JDBC for glue:

This feature enables you to connect to data sources with custom drivers that were not natively supported in AWS Glue such as MySQL 8 and Oracle 18.

或者,您可以迁移到较旧的 MySQL。