如何将AWS RDS - Aurora与AWS Lambda Java功能连接起来

时间:2017-09-18 17:35:36

标签: java mysql amazon-web-services aws-lambda amazon-rds-aurora

我正在尝试使用AWS Lambda Java功能连接AWS RDS Aurora数据库。为此,我还没有看到任何具体的例子。我见过一些例子,但它们不是java。

我还想配置一个我无法做到的Aurora的mySQL DBMS工具:(有人可以帮我解决这个问题。我有来自https://console.aws.amazon.com/rds/home?region=us-east-1#dbinstances的连接字符串。

此外,我尝试通过Lambda Java连接到DB的代码是:

private Statement createConnection(Context context) {
    logger = context.getLogger();
    try {
        String url = "jdbc:mysql://HOSTNAME:3306";
        String username = "USERNAME";
        String password = "PASSWORD";

        Connection conn = DriverManager.getConnection(url, username, password);
        return conn.createStatement();
    } catch (Exception e) {
        e.printStackTrace();
        logger.log("Caught exception: " + e.getMessage());
    }
    return null;
}

是的,这并没有帮助,因为我总是使用db实例配置获取null。

Security groups added to db isntance

1 个答案:

答案 0 :(得分:1)

RDS需要位于安全组中,该安全组将数据库端口打开到连接到lambda的ENI的安全组。

  

要使您的Lambda函数能够访问私有VPC内的资源,您必须提供其他特定于VPC的配置   包含VPC子网ID和安全组ID的信息。 AWS   Lambda使用此信息来设置弹性网络接口   (ENIs)使您的功能可以安全地连接到其他人   私人VPC内的资源。

http://docs.aws.amazon.com/lambda/latest/dg/vpc.html

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html