Java Spring JPA问题AWS Ec2&;无线电数据系统

Java Spring JPA问题AWS Ec2&;无线电数据系统,java,spring,amazon-web-services,amazon-ec2,Java,Spring,Amazon Web Services,Amazon Ec2,我尝试在AWS EC2 Ubuntu服务器上部署我的Spring应用程序,到目前为止还不错。 我的Mysql数据库是使用RDS创建的,在RDS中我可以连接SequelPro和IntelliJ(在本地运行服务器时,但使用外部数据库) 当我想在EC2 Ubuntu系统上运行服务器时,我使用 java -jar 仅用于测试目的。(我知道以后必须将其作为服务安装) 但是过了一段时间,当服务器启动时,我出现了这个错误 > 018-06-20 16:26:37.122 ERROR 12116 ---

我尝试在AWS EC2 Ubuntu服务器上部署我的Spring应用程序,到目前为止还不错。 我的Mysql数据库是使用RDS创建的,在RDS中我可以连接SequelPro和IntelliJ(在本地运行服务器时,但使用外部数据库)

当我想在EC2 Ubuntu系统上运行服务器时,我使用

java -jar
仅用于测试目的。(我知道以后必须将其作为服务安装)

但是过了一段时间,当服务器启动时,我出现了这个错误

> 018-06-20 16:26:37.122 ERROR 12116 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_171]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_171]
.
.
.
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_171]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_171]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_171]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_171]
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.46.jar!/:5.1.46]
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990) ~[mysql-connector-java-5.1.46.jar!/:5.1.46]
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:342) ~[mysql-connector-java-5.1.46.jar!/:5.1.46]
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2188) ~[mysql-connector-java-5.1.46.jar!/:5.1.46]
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2037) ~[mysql-connector-java-5.1.46.jar!/:5.1.46]
    ... 91 common frames omitted
Caused by: java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method) ~[
>018-06-20 16:26:37.122错误12116---[main]com.zaxxer.hikari.pool.HikariPool:HikariPool-1-池初始化期间异常。
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建到数据库服务器的连接。尝试重新连接3次。放弃。
在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)~[na:1.8.0_171]
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)~[na:1.8.0_171]
.
.
.
成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包。
在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)~[na:1.8.0_171]
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)~[na:1.8.0_171]
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)~[na:1.8.0171]
在java.lang.reflect.Constructor.newInstance(Constructor.java:423)~[na:1.8.0_171]
在com.mysql.jdbc.Util.handleNewInstance(Util.java:425)~[mysql-connector-java-5.1.46.jar!/:5.1.46]
在com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)~[mysql-connector-java-5.1.46.jar!/:5.1.46]
在com.mysql.jdbc.MysqlIO.(MysqlIO.java:342)~[mysql-connector-java-5.1.46.jar!/:5.1.46]
在com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2188)~[mysql-connector-java-5.1.46.jar!/:5.1.46]
在com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2037)~[mysql-connector-java-5.1.46.jar!/:5.1.46]
... 省略了91个公共帧
原因:java.net.SocketTimeoutException:连接超时
位于java.net.PlainSocketImpl.socketConnect(本机方法)~[
你知道是什么引起了这个问题吗? RDS和EC2中的端口已打开

RDS安全组定义如下: 入站:

出境:

在尝试重新安装等几个小时后,我忘记了更改连接字符串。我不知道为什么它仍然在本地使用错误的连接字符串工作,但在ec2上它现在工作了

似乎安全组连接到RDS,不允许来自ec2实例的流量。你检查了吗?在开始文章中编辑了一个屏幕截图。数据库是一个可以从我的本地计算机访问,那么为什么不能从EC2访问?有一种方法可以将通信限制到特定IP,这可以只启用本地计算机而不启用EC2。但是,根据更新的屏幕截图,您的安全组配置为完全开放的,应该可以访问(顺便说一句,在安全性方面,开放式端口不是一个好的做法)。是的,我知道这对安全性不好,我只想运行,然后我将配置所有特定于安全性的内容。还有其他建议吗?您有任何特殊设置,如专用VPC(或)路由表等吗。,?