我已经在每5分钟运行一次的默认VPC中创建了一个AWS Lambda函数。 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。
答案 0 :(得分:0)
当您提到能够在默认端口3306上访问RDS MYSQL时,这意味着您还应该能够从lambda函数连接到RDS。我还假设您在lambda函数中使用任何python模块连接到RDS mysql。 在这种情况下;尝试将Lambda上的VPC配置与RDS中的相同。
import pymssql
conn = pymssql.connect(server, user, password, "tempdb", port=3306)
cursor = conn.cursor()