[英]Impossible connect to RDS MySQL from AWS Lambda
我在一个 AWS 账户下创建了 RDS MySQL 数据库。 此数据库已打开,我可以通过 Workbench 或任何其他桌面应用程序进行连接。
此外,我还有其他 AWS 帐户,我正在尝试创建 Lambda 函数以从我的第一个帐户连接到 RDS DB。
看起来这是不可能的,因为我每次都超时。
这是我的 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();
}
}
}
使用相同的代码,我可以毫无问题地从我的桌面 Java 应用程序连接。
我没有使用 VPC,我为 Lambda 分配了 512Mb 内存,超时设置为 30 秒(从我看来已经足够了)
有人可以帮忙吗?
问题与 RDS 实例的安全组配置有关,只有一个 IP 申请连接,不知何故,当我创建 RDS 实例时会自动设置此规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.