在 VPC 中访问私有资源
使用 AWS Lambda 构建无服务器应用
Claudio Canales
Senior DevOps Engineer
什么是 VPC?
- VPC 是您在 AWS 中的私有网络。
- 它提供地址空间、路由和防火墙控制。
- 您决定资源如何连接。
简单类比:封闭小区
- 子网像社区。
- 安全组是门禁规则。
- NAT 是通向公网的共享出口。
为何在 VPC 中运行 Lambda?
- 访问私有资源,如内部服务或数据库。
- 安全组控制 Lambda 可连接的目标。
需要配置的内容
- 选择子网。
- 选择安全组。
- Lambda 在您的 VPC 内获取 IP 以访问私有端点。
子网:函数运行的位置
- 子网决定函数在网络中的放置位置。
- 私有子网无直连公网的路由。
- 选择能到达处理程序所需资源的子网。
安全组:防火墙规则
- 安全组是网络接口的防火墙规则。
- 它们控制入站与出站流量。
- 出站规则常决定 Lambda 是否能访问数据库。
ENI 与冷启动
- ENI = 弹性网络接口。
- 调用处理程序前,Lambda 可能需要创建并附加 ENI。
- 这些额外的网络设置会增加冷启动延迟。
ENI 类比:插上网线
- ENI = 您函数的网络连接。
- 它在所选子网中创建。
- 设置工作越多,冷启动可能越慢。
出站互联网访问
- 私有子网通常无法直连公网。
- 无出站路由时,对公共 API 的调用会超时。
- 常见做法:使用 NAT 网关。
何时需要 NAT?
- 访问公网端点时需要 NAT。
- 仅访问 VPC 内私有资源时可不需 NAT。
网络配置错误的常见症状
- 超时通常表示缺少路由或 NAT。
- 连接被拒多为安全组规则问题。
最佳实践
- 仅为私有连通性而使用 VPC。
- 保持配置最小化。
- 监控冷启动延迟与连接错误。
要点回顾
- VPC 为 Lambda 提供私有网络。
- 您需配置子网和安全组。
- ENI 会增加冷启动开销。
- 私有子网出站上网需 NAT。
Passons à la pratique !
使用 AWS Lambda 构建无服务器应用
Preparing Video For Download...