AWS Lambda函数如何在VPC子网内扩展?

时间:2019-03-10 21:04:56

标签: amazon-web-services aws-lambda

我了解AWS Lambda是一种无服务器概念,其中可以在某些事件上触发一段代码。
我想了解Lambda如何处理缩放比例?
例如如果我的Lambda函数由于要访问VPC资源而位于VPC子网中,并且该子网的CIDR为192.168.1.0/24,则在减去AWS保留的5个IP < / strong>

这是否意味着如果我的AWS Lambda函数在同一时间获得252次调用,
一旦252个函数之一完成执行,将仅处理251个请求,或者1个超时或被执行?
子网大小对于AWS Lambda扩展是否重要?

我正在关注this reference doc,其中提到了每个区域的并发执行限制,
我是否可以假设,无论AWS Lambda函数是No VPC还是在VPC子网中,它都将按照文档中提到的限制进行扩展? enter image description here

2 个答案:

答案 0 :(得分:1)

弗拉迪斯拉夫(Vladyslav)的回答在技术上仍然是正确的(子网大小确实很重要),但是自从编写以来,情况已经发生了很大变化,子网大小也不再是要考虑的问题。参见aws' announcement

  • 由于网络接口在执行环境之间共享,因此通常每个功能只需要少数几个网络接口。帐户中各个功能之间的每个唯一的安全组:子网组合都需要不同的网络接口。如果您的帐户中的多个功能共享一个组合,我们将在多个功能之间重复使用相同的网络接口。
  • 您的功能扩展不再直接依赖于网络接口的数量,并且Hyperplane ENI可以扩展以支持大量并发功能的执行

答案 1 :(得分:0)

是的,您是对的。子网大小绝对很重要,您必须小心使用CIDR块。最后一次调用(第252次)取决于lambda的调用方式:同步(例如API Gateway)或异步(例如SQS)。如果它被同步调用,它将受到限制,您的API将以429 HTTP状态响应,这表示“请求太多”。如果它是异步的,它将受到限制,并会在六个小时的时段内重试。您可以在此page上找到更详细的说明。

我最近还在自己的博客中发布了一个post,与您的问题有关。您可能会发现它有用。