5

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

  • 默认 VPC 内的 Lambda 函数
    • 使用默认安全组
    • 使用我创建的两个公共子网
    • 允许来自 TCP 端口 1024 - 65535 的入站请求
    • 允许对 Aurora 安全组上的 Aurora/Mysql 的出站请求
  • 默认 VPC 内的 Aurora 集群
    • 使用与 Lambda 相同的(默认)VPC
    • 使用我创建的两个私有子网
    • 允许来自 Lambda 安全组的端口 3306 上的入站请求
  • 默认 VPC 的 Internet 网关
  • 一个 NAT 网关,它通过管道将通信传输到 Internet 网关
  • 具有 Internet 网关目标 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

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

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

对于让 API 运行并连接到 Aurora 无服务器集群或使用具有 django 和 Lambda 函数的数据库的替代方法的任何帮助都会很棒。谢谢!

4

0 回答 0