[英]Impossible connect to RDS MySQL from AWS Lambda
I have RDS MySQL database created under one AWS account.我在一个 AWS 账户下创建了 RDS MySQL 数据库。 This DB is opened, i can connect by Workbench or by any other desktop app.
此数据库已打开,我可以通过 Workbench 或任何其他桌面应用程序进行连接。
Also i have other AWS account where i'm trying to create Lambda function for to connect to RDS DB from my first account.此外,我还有其他 AWS 帐户,我正在尝试创建 Lambda 函数以从我的第一个帐户连接到 RDS DB。
And looks like it's impossible because i'm every time getting timeout.看起来这是不可能的,因为我每次都超时。
Here is my Lambda Java code:这是我的 Lambda Java 代码:
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import java.sql.DriverManager;
public class DBTest implements RequestHandler<String, String> {
@Override
public String handleRequest(String input, Context context) {
context.getLogger().log("Input: " + input+"\n");
try {
StringBuilder url = new StringBuilder();
url.append("jdbc:mysql://").
append("jackdbinstance.********.eu-west-1.rds.amazonaws.com:3306/").
append("TestLambdaDB"+"?").
append("user=******&").
append("password=*******");
DriverManager.getConnection(url.toString());
return "DB connected";
} catch (Exception e) {
return e.toString();
}
}
}
Using same code i can connect from my desktop java app without any problems.使用相同的代码,我可以毫无问题地从我的桌面 Java 应用程序连接。
I'm not using VPC, i have allocated 512Mb memory for Lambda, timeout set to 30sec(from my view it's enough)我没有使用 VPC,我为 Lambda 分配了 512Mb 内存,超时设置为 30 秒(从我看来已经足够了)
Can somebody help please?有人可以帮忙吗?
问题与 RDS 实例的安全组配置有关,只有一个 IP 申请连接,不知何故,当我创建 RDS 实例时会自动设置此规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.