只能在api网关上进行长时间的冷启动吗?

ako*_*lin 7 python aws-lambda aws-api-gateway

我在api网关后面有一个简单的python函数。冷启动时,lambda的执行时间不到300毫秒(从cloudwatch日志确定),但api网关返回事件需要花费13.99秒。在后续调用中,它将在350毫秒内返回到api网关端点。

此lambda函数位于vpc内,为了数据库安全性,我希望将其保留在那里。还有其他lambda函数可以在相同的网络配置下正常运行,所以这不是问题。有人处理过吗?

Dan*_*one 2

是的,VPC lambda 的冷启动时间是出了名的长。但你错了;您一直在支付 VPC 罚款。您在 Cloudwatch 日志中看到的 lambda 执行时间不包括冷启动时间;该执行时间反映了 lambda 实际执行时所花费的时间。您无需为 lambda 容器启动、获取 ENI 等所需的时间付费。

Cloudwatch 中的 API 网关“集成延迟”指标可以更准确地描述 VPC lambda 冷启动所需的时间。但还是有希望的;AWS 计划重新设计 VPC 中的 lambda 获取 ENI 的方式,并使该过程更快。您可以在这里阅读相关内容。