Java inEC2(Spring boot)和RDS(MySQL)的通信问题

Java inEC2(Spring boot)和RDS(MySQL)的通信问题,java,mysql,spring,amazon-web-services,spring-boot,Java,Mysql,Spring,Amazon Web Services,Spring Boot,我有一个RDS实例(MySQL)和EC2实例(Spring boot) 在本地,我的Spring Boot应用程序正确地建立了到RDS中我的数据库的连接。 但是,当我在EC2中安装Spring Boot应用程序时,该应用程序试图连接到RDS(MySQL)中的数据库。但它向我抛出了这个错误: SQLCODE:0 SQLSTATE:08S01 TRACE:com.mysql.cj.jdbc.exceptions.CommunicationsException:Communications link

我有一个RDS实例(MySQL)和EC2实例(Spring boot)

在本地,我的Spring Boot应用程序正确地建立了到RDS中我的数据库的连接。

但是,当我在EC2中安装Spring Boot应用程序时,该应用程序试图连接到RDS(MySQL)中的数据库。但它向我抛出了这个错误:

SQLCODE:0 SQLSTATE:08S01 TRACE:com.mysql.cj.jdbc.exceptions.CommunicationsException:Communications link failure
成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包。

在EC2中,我有一个入站安全组


这听起来很奇怪;因为如果你的本地笔记本电脑在公共IP地址上工作;它也应该在AWS环境中工作。无论如何,为了连接;您不仅需要检查EC2的安全组,还需要检查RDS的安全组,因为RDS也应该允许从EC2传入。尽管异常看起来不像是连接/安全组问题


我觉得这和你的申请有关。

这听起来很奇怪;因为如果你的本地笔记本电脑在公共IP地址上工作;它也应该在AWS环境中工作。无论如何,为了连接;您不仅需要检查EC2的安全组,还需要检查RDS的安全组,因为RDS也应该允许从EC2传入。尽管异常看起来不像是连接/安全组问题


我觉得这与您的应用程序有关。

您需要检查底层错误消息,例如拒绝访问。否则,我们将无法提供帮助。您的RDS有什么安全组?@Hasho,如果我在jdbc连接到RDBC的初始步骤中更改了本地计算机上的一些配置,并检查是否在EC2上应用了相同的配置,我会这样想。有时候我们可能会错过一小步。或者,尝试检查应用是否从另一台本地计算机(新)连接到RDS。您需要检查底层错误消息,例如访问被拒绝。否则,我们将无法提供帮助。您的RDS有什么安全组?@Hasho,如果我在jdbc连接到RDBC的初始步骤中更改了本地计算机上的一些配置,并检查是否在EC2上应用了相同的配置,我会这样想。有时候我们可能会错过一小步。或者,尝试检查应用程序是否从另一台本地计算机(新)连接到RDS。是的,这是RDS传入连接。RDS只接受传入的MySQL(3306)连接,我最好将其改为接受所有连接(全流量)。是的,这是RDS传入的连接。RDS只接受传入的MySQL(3306)连接,我最好将其改为接受所有连接(全流量)。