我总是有{"消息":"端点请求超时"}。
我使用swagger和swagger ui作为api。
我做了什么:
- 在RDS中创建mysql数据库
- 确保一切正常,并与公共访问连接(是(
- 创建了一个Lambda函数来包装我现有的aspnet核心项目
- 添加了自定义运行时以支持2.2
- 已发布我的lambda函数
- 设置vpc和角色之间的权限
- 当我尝试访问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范围进行入站访问。