从 Django Lambda 函数连接到 Aurora Serverless 时出现“任务在 30 秒后超时”

Con*_*rty 6 django amazon-web-services aws-lambda amazon-aurora aws-aurora-serverless

我想连接到 django Lambda 函数内的 Aurora Serverless mysql 数据库。目前,我有:

  • 默认 VPC 内的 Lambda 函数
    • 使用默认安全组
    • 使用我创建的两个公共子网
    • 允许来自 TCP 端口 1024 - 65535 的入站请求
    • 允许 Aurora 安全组上的 Aurora/Mysql 出站请求
  • 默认 VPC 内的 Aurora 集群
    • 使用与 Lambda 相同的(默认)VPC
    • 使用我创建的两个私有子网
    • 允许来自 Lambda 安全组的端口 3306 上的入站请求
  • 默认 VPC 的互联网网关
  • NAT 网关,将通信传送到互联网网关
  • 具有互联网网关目标 ID 的公共路由表
  • 具有 NAT 网关目标 ID 的私有路由表

当我尝试将 Lambda 函数部署到 API 网关时,请求超时:

START RequestId: [request id] Version: $LATEST
Instancing..
END RequestId: [request id]
REPORT RequestId: [request id]  Duration: 30030.15 ms   Billed Duration: 30000 ms   Memory Size: 512 MB Max Memory Used: 49 MB  
[time] [request id] Task timed out after 30.03 seconds

Run Code Online (Sandbox Code Playgroud)

当我从 VPC 中删除 Lambda 函数(在 Lambda 函数的设置中将 VPC 设置为无)时,它会毫无问题地部署到 API 网关。这让我相信我的问题出在 VPC 而不是我的数据库。

我用这个问题尝试重新安排 VPC 以使其正常工作,但没有成功。

如果能够帮助 API 运行并连接到 Aurora 无服务器集群,或者通过 django 和 Lambda 函数使用数据库的替代方法,那就太好了。谢谢!