首页 > 解决方案 > “消息”:“端点请求超时”}:AWS Lambda .net 核心:{

问题描述

我总是有{“消息”:“端点请求超时”}。

我将 swagger 和 swagger ui 用于 api。

我做了什么:

  1. 在 RDS 中创建了一个 mysql 数据库
  2. 确保一切正常并与可公开访问的设备连接(是)
  3. 创建了一个 Lambda 函数来包装我现有的 aspnet 核心项目
  4. 添加了自定义运行时以支持 2.2
  5. 发布了我的 lambda 函数
  6. 设置vpc和角色之间的权限
  7. 当我尝试访问我的 lambda 函数时,我总是有: {"message": "Endpoint request timed out"}

我认为这是我错过的一个小配置。

我如何进行调查以了解问题所在?

你对这个问题有什么想法吗?

标签: amazon-web-servicesasp.net-coreaws-lambdaaws-serverless

解决方案


此超时将是网络连接问题的结果。

我首先要说你应该保持 Lambda 和 RDS 之间的网络连接是私有的。如果 RDS 是公共的,您需要将大量 IP 列入白名单以允许入站访问(以覆盖该区域中的所有 Lambda)。这意味着任何 Lambda 都可以连接到您的 RDS。

相反,您应该将 RDS 保留为私有实例,并将您的 Lambda 配置为在 VPC 中运行。然后,当您的 Lambda 连接到 RDS 时,它将通过专用网络连接,而无需遍历公共互联网。

最后确保您的 RDS 的安全组允许来自附加到 Lambda 的安全组(这在您将 Lambda 添加到 VPC 时决定)或 Lambda 所在的子网 CIDR 范围的入站访问。


推荐阅读