在与 DocumentDB 或 DynamoDB 相同的 VPC 中运行 AWS Lambda

在与 DocumentDB 或 DynamoDB 相同的 VPC 中运行 AWS Lambda

由于早先的架构决策,我们目前正在 VPC 中运行 AWS Lambda。

我们还使用 MongoDB Atlas 以及 VPC 与 Atlas 之间的对等连接设置。这显然会导致冷启动时间更长,因为需要设置 ENI。

我希望通过在同一个 VPC 内移动我们的数据库来减少这种情况,但如果可能的话,我想做一个健全性检查。

当前流程是 API 网关 -> 使用无服务器框架的 VPC 上的 AWS Lambda <- PEERING CONNECTION -> 用于数据存储的 MongoDB Atlas。

  1. 如果我们在相同的VPC 作为运行我们的 AWS Lambdas 的 VPC,我们还会遇到 ENI 创建延迟和限制吗?

  2. 在之前的 AWS Re:invent 活动期间,有讨论通过池化 ENI 来改进这一点,但我们尚未收到有关此功能上线的任何更新,有更新吗?

答案1

以下是您所期待的公告:改进了 AWS Lambda 函数的 VPC 网络

这应该会显著加快 Lambda 冷启动速度。在公告中,AWS 声称这一变化降低了他们的冷启动速度“从 14.8 秒到 933 毫秒”

您的 Lambda 是否与 MongoDB 在同一 VPC 中运行并不重要,Lambda 冷启动速度相同。但是,如果您想更好地控制网络、延迟,甚至可能降低出站数据成本,我会考虑使用 DocumentDB,而不是在不同 VPC 中运行的 MongoDB Atlas。

希望有帮助:)

答案2

为了最大限度地减少冷启动的频率,您可以使用 cloudwatch 或其他方式每 5 分钟设置一次对 lambda 函数的调用。

相关内容