У меня есть база данных RDS MySQL, созданная под одной учетной записью AWS. Эта БД открыта, я могу подключиться с помощью Workbench или любого другого настольного приложения.
Также у меня есть другая учетная запись AWS, где я пытаюсь создать функцию Lambda для подключения к базе данных RDS из моей первой учетной записи.
И похоже, что это невозможно, потому что я каждый раз получаю тайм-аут.
Вот мой лямбда-код 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, я выделил 512 МБ памяти для Lambda, тайм-аут установлен на 30 секунд (на мой взгляд, этого достаточно)
Может кто-нибудь помочь, пожалуйста?