"message" : "Endpoint request timed out" }: AWS Lambda .net core: {



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

我使用swagger和swagger ui作为api。

我做了什么:

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

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

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

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

如果使用API网关,则无论Lambda超时设置为,其服务的所有Lambda的全局超时都为29秒

API网关配额下的官方文档,用于配置和运行REST API

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

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

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

最后,确保RDS的安全组允许从连接到Lambda的安全组(这是在您将Lambda添加到VPC时决定的(或Lambda所在的子网CIDR范围进行入站访问。

最新更新