我正在尝试使用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。
答案 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