Jdbc 如果RDS只能由EC2公共IP访问,如何从lambda连接AWS RDS

Jdbc 如果RDS只能由EC2公共IP访问,如何从lambda连接AWS RDS,jdbc,amazon-ec2,aws-lambda,amazon-rds,Jdbc,Amazon Ec2,Aws Lambda,Amazon Rds,我在默认VPC中创建了一个AWS Lambda函数,该函数每5分钟运行一次。Lambda函数正在建立JDBC连接以从RDS获取数据 我遇到以下错误: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not re

我在默认VPC中创建了一个AWS Lambda函数,该函数每5分钟运行一次。Lambda函数正在建立JDBC连接以从RDS获取数据

我遇到以下错误:

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
RDS实例位于美国东部地区,Lambda和EC2位于美国西部地区


我可以在我的EC2 ubuntu机器中访问RDS,但无法在Lambda函数中访问RDS。我的安全组允许从任何地方访问MySQL端口3306。

当您提到您可以在默认端口3306上访问RDS MySQL时,这意味着您也应该能够从lambda函数连接到RDS。我还假设您正在使用任何python模块在lambda函数中连接到RDS mysql在这种情况下;尝试在lambda使用与RDS相同的VPC配置

import pymssql
conn = pymssql.connect(server, user, password, "tempdb", port=3306)
cursor = conn.cursor()