AWS Lambda 配置 VPC 意味着什么?
What it means when AWS Lambda is configured with VPC?
即使浏览了 AWS documentation 和各种博客,我仍然不明白 AWS lambda 在配置 VPC 时的行为方式。
- 当 AWS lambda 配置了 VPC 时,是否意味着所有 lambda 实例都将从该 VPC 的指定子网获取 IP 地址?
- ENI在AWS Lambda-VPC配置中的作用如何?
AWS 文档中的 ENI 容量公式 -
Projected peak concurrent executions * (Memory in GB / 3GB)
这是否意味着 AWS lambda 的 运行ning 实例曾经有 3 GB 内存?当超过另一个 ENI 时会被附加吗?
- 大多数与 AWS Lambda-VPC 配置相关的架构图显示了 VPC 内部的 Lambda。这是否意味着 Lambda 会 运行 在 VPC 中?
在这里,我确定我遗漏了一些信息。任何指针都会有所帮助。
当您在 VPC 中将 Lambda 函数配置为 运行 时,它使用创建的 ENI 和您 select 之一的子网中的 IP 地址。根据所需的预期 ENI 的公式,似乎可以在 lambda 之间共享 ENI。
据我所知,运行在 VPC 中使用 lambda 的原因只有两个。
- 它需要访问您的 VPC 内没有 public 端点的资源,例如Redis/Memcached 缓存集群 (Elasticache) 或没有 public ip 的 RDS/Redshift 集群(数据库上没有 public ip 是个好主意)。当您在 VPC 内使用 lambda 运行s 时,它使用私有 ip 并且可以连接到您的 VPC
中的私有资源
- 如果您需要让您的 lambda 具有一致的 IP 地址(也许是一项只允许将 IP 列入白名单以进行身份验证的服务)。这是通过使用 NAT 网关实现的。
Lambda 函数在任何情况下都无法接收入站连接。
将 lambda 放在 VPC 中的缺点是
- 冷启动时间较慢,因为可能需要配置 ENI。
- 您需要一个 NAT 网关(或 VPC 端点)来访问外部资源
- 需要更密切地管理并发和可用 IP 地址。
即使浏览了 AWS documentation 和各种博客,我仍然不明白 AWS lambda 在配置 VPC 时的行为方式。
- 当 AWS lambda 配置了 VPC 时,是否意味着所有 lambda 实例都将从该 VPC 的指定子网获取 IP 地址?
- ENI在AWS Lambda-VPC配置中的作用如何? AWS 文档中的 ENI 容量公式 -
Projected peak concurrent executions * (Memory in GB / 3GB)
这是否意味着 AWS lambda 的 运行ning 实例曾经有 3 GB 内存?当超过另一个 ENI 时会被附加吗?
- 大多数与 AWS Lambda-VPC 配置相关的架构图显示了 VPC 内部的 Lambda。这是否意味着 Lambda 会 运行 在 VPC 中?
在这里,我确定我遗漏了一些信息。任何指针都会有所帮助。
当您在 VPC 中将 Lambda 函数配置为 运行 时,它使用创建的 ENI 和您 select 之一的子网中的 IP 地址。根据所需的预期 ENI 的公式,似乎可以在 lambda 之间共享 ENI。
据我所知,运行在 VPC 中使用 lambda 的原因只有两个。
- 它需要访问您的 VPC 内没有 public 端点的资源,例如Redis/Memcached 缓存集群 (Elasticache) 或没有 public ip 的 RDS/Redshift 集群(数据库上没有 public ip 是个好主意)。当您在 VPC 内使用 lambda 运行s 时,它使用私有 ip 并且可以连接到您的 VPC 中的私有资源
- 如果您需要让您的 lambda 具有一致的 IP 地址(也许是一项只允许将 IP 列入白名单以进行身份验证的服务)。这是通过使用 NAT 网关实现的。
Lambda 函数在任何情况下都无法接收入站连接。
将 lambda 放在 VPC 中的缺点是
- 冷启动时间较慢,因为可能需要配置 ENI。
- 您需要一个 NAT 网关(或 VPC 端点)来访问外部资源
- 需要更密切地管理并发和可用 IP 地址。