Java Web 应用程序无法连接到 AWS RDS 数据库实例
Java web application cannot connect to AWS RDS DB Instance
我创建了具有可公开访问选项的数据库实例 (MySQL)。在数据库安全组中,我为 EC2 实例安全组(Web 服务器)打开了 MySQL 端口。在 EC2 安全组中,它允许 ssh、web 服务器端口。我可以从 EC2 实例连接数据库实例。我在 Web 服务器上部署了 Web 应用程序,但它无法连接到 RDS 实例。
我在我的本地 Web 服务器中遇到异常:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not
get JDBC Connection; nested exception is java.sql.SQLException: Server
connection failure during transaction. Due to underlying exception:
'java.net.UnknownHostException:
"kbawstry2.cdhtaamn5ynq.us-east-1.rds.amazonaws.com"'.
EC2 安全组
数据库实例安全组
使用 MySQL WorkBench,我可以使用 TCP/IP SSH 隧道选项连接到 RDS 数据库实例。但是在 Java 编程中如何连接数据库?
提前致谢。
我终于解决了这个问题。问题出在应用程序中,就像我提到的连接字符串一样。我在 localhost 中纠正并测试了应用程序,然后更新到 EC2 实例中的 tomcat 服务器。数据库安全组的另一个变化。我将源 IP 替换为 EC2 实例的私有 IP 地址,因为 RDS 和 EC2 实例都在同一个 VPC 中。
现在它工作正常。
我创建了具有可公开访问选项的数据库实例 (MySQL)。在数据库安全组中,我为 EC2 实例安全组(Web 服务器)打开了 MySQL 端口。在 EC2 安全组中,它允许 ssh、web 服务器端口。我可以从 EC2 实例连接数据库实例。我在 Web 服务器上部署了 Web 应用程序,但它无法连接到 RDS 实例。
我在我的本地 Web 服务器中遇到异常:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Server connection failure during transaction. Due to underlying exception: 'java.net.UnknownHostException: "kbawstry2.cdhtaamn5ynq.us-east-1.rds.amazonaws.com"'.
EC2 安全组
数据库实例安全组
使用 MySQL WorkBench,我可以使用 TCP/IP SSH 隧道选项连接到 RDS 数据库实例。但是在 Java 编程中如何连接数据库?
提前致谢。
我终于解决了这个问题。问题出在应用程序中,就像我提到的连接字符串一样。我在 localhost 中纠正并测试了应用程序,然后更新到 EC2 实例中的 tomcat 服务器。数据库安全组的另一个变化。我将源 IP 替换为 EC2 实例的私有 IP 地址,因为 RDS 和 EC2 实例都在同一个 VPC 中。
现在它工作正常。