无法在 AWS 中使用 JDBC 访问 RDS

我发现使用 JDBC 连接很难连接到 RDS,我能够通过 MYSQL 工作台进行连接,我在运行 tomcat 的 WS 中部署了我的 WAR 文件,这个 WAR 文件有我的 JDBCcode 连接到 RDS,但我什至无法建立连接。我的代码如下: -

public static Connection getconnection(){

     String connectionUrl = "jdbc:mysql://testinstance.cj3ixhryi3fb.us-west-2.rds.amazonaws.com:3306/testDB";
        String dbUser = "testuser";
        String dbPwd = "usertest";
        Connection conn = null;

        try {
            conn = (Connection) DriverManager.getConnection(connectionUrl, dbUser, dbPwd);
            System.out.println("conn Available");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("fetch otion error"+e.getLocalizedMessage());
        }

        return conn;
}   

我包含了所有必要的 jar 文件和规则安全组,但没有运气。

我正在为 RDS 使用 EC2 安全组。 RDS 是否会使用 ec2 安全组? 还是我需要为 RDS 设置不同的安全组?

如果有人想测试,testinstance 是一个工作链接。

stack overflow Unable to Access RDS with JDBC in AWS
原文答案

答案:

作者头像

可能是您的实例位于 VPC 中,而您的 RDS 实例未设置在 VPC 子网组中。

如果您想从 VPC 中的服务器实例连接到 RDS 实例,您的 RDS 实例必须部署在 VPC 子网中。

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.CreateDBSubnetGroup.html