Amazon web services 专有网络澄清中的AWS Lambda ENI限制

Amazon web services 专有网络澄清中的AWS Lambda ENI限制,amazon-web-services,networking,aws-lambda,cloud,aws-vpc,Amazon Web Services,Networking,Aws Lambda,Cloud,Aws Vpc,我在AWS官方文档中找到了以下内容: 如果您的Lambda功能访问VPC,您必须确保您的VPC具有足够的ENI容量,以支持您的Lambda功能的规模要求。您可以使用以下公式大致确定ENI要求 预计峰值并发执行*(内存单位为GB/3GB) 我理解这个公式背后的原因。我唯一的问题是:为什么是3GB?此数字来自何处?3GB是单个lambda函数的最大内存分配。 预测峰值并发执行×(GB/3GB内存)公式是对实际(但未提及)问题“Lambda需要分配多少m-class(通用)EC2实例才能容纳所需数量的

我在AWS官方文档中找到了以下内容:

如果您的Lambda功能访问VPC,您必须确保您的VPC具有足够的ENI容量,以支持您的Lambda功能的规模要求。您可以使用以下公式大致确定ENI要求

预计峰值并发执行*(内存单位为GB/3GB)


我理解这个公式背后的原因。我唯一的问题是:为什么是3GB?此数字来自何处?

3GB是单个lambda函数的最大内存分配。

预测峰值并发执行×(GB/3GB内存)公式是对实际(但未提及)问题“Lambda需要分配多少m-class(通用)EC2实例才能容纳所需数量的这种大小的容器”的回答的代理

AWS Lambda使用与通用Amazon EC2实例类型(如M3类型)相同的比率,按内存比例分配CPU功率

这个比率是“相同的”,因为M3。。。或者类似的东西。。。这是Lambda在引擎盖下实际用来存放容器的东西

m3.medium是m3系列中最小的机器,内存为3.75GB。。。因此,lambda需要提供的这种类型的EC2虚拟机的数量——以及所需的ENI数量——大约为n×(m/3GB)。此实例可以承载(例如)大约2×1.5 GB或24×128 MB或1×3.0 GB的容器,为VM内的操作/管理开销留出一些空间


可能涉及多少开销,Lambda在放置和选择容器时使用的算法,以及Lambda是否混合使用实例大小,以及在什么规则下。。。都是Lambda黑匣子的一部分。逻辑将规定Lambda将从较小的实例开始,并随着并发性的增长而发展到较大的实例,因为较大的实例(在同一系列中)将允许更高的打包效率,而不会造成性能损失(因为内存和CPU以固定比率专用于每个容器),特别是对于大型和尺寸奇怪的容器。这个公式揭示的是,接收ENIs的不是容器,而是实例。。。在大小为m GB的并发n下,Lambda将分配大约n个×(m/3GB)实例。

正确,但这不是公式中出现的原因。哦,是吗?你能解释一下@Michael sqlbot吗?它与每个主机VM中可以打包的容器数量有关。重要更新:值得注意的是,根据@Federico的链接博客文章,将ENIs重新分配给实例的评论不再正确:“接收ENIs的不是容器,而是实例”。ENI现在是共享的,而不是每个实例一个