将AWS Lambda配置为VPC是什么意思?

时间:2018-08-20 16:57:44

标签: aws-lambda serverless-framework amazon-vpc

即使遍历了AWS documentation和各种博客之后,我仍然不了解在用VPC配置AWS Lambda时的表现。

  1. 当AWS lambda配置有VPC时,这是否意味着所有lambda实例都将从该VPC的指定子网中获取IP地址?
  2. ENI在AWS Lambda-VPC配置中如何发挥作用? AWS文档中的ENI容量公式-
  

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

这是否意味着AWS lambda的运行实例曾经拥有3 GB内存?而当超过另一个ENI时,会附加吗?

  1. 大多数与AWS Lambda-VPC配置相关的架构图显示了VPC内部的Lambda。这是否意味着Lambda将在VPC中运行?

在这里,我确定我缺少一些信息。任何指针都会有所帮助。

1 个答案:

答案 0 :(得分:3)

当您配置Lambda函数以在VPC中运行时,它会使用ENI,该ENI是使用您选择的子网之一和IP地址创建的。根据所需的预期ENI公式,似乎可以在Lambda之间共享ENI。

在VPC中运行lambda的原因只有两个。

  1. 它需要访问VPC内部没有公共端点的资源,例如Redis / Memcached缓存集群(Elasticache)或没有公共ip的RDS / Redshift集群(最好不要在数据库上使用公共ip)。当lambda在VPC内运行时,它会使用私有IP,并可以连接到VPC中的私有资源
  2. 如果您需要让lambda具有一致的IP地址(也许是仅允许将IP列入许可白名单的服务)。这是通过使用NAT网关来实现的。

Lambda函数在任何情况下都无法接收入站连接。

将lambda放入VPC的缺点是

  1. 由于可能需要配置ENI,因此冷启动时间较慢。
  2. 您需要NAT网关(或VPC端点)才能访问外部资源
  3. 需要更紧密地管理并发性和可用的IP地址。