繁体   English   中英

不可能从 AWS Lambda 连接到 RDS MySQL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM