Lambda 中的联网问题疑难解答 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Lambda 中的联网问题疑难解答

默认情况下,Lambda 在与Amazon服务和互联网连接的内部 Virtual Private Cloud (VPC) 中运行您的函数。要访问本地网络资源,您可以将函数配置为连接到您账户中的 VPC。使用此功能时,您可以管理函数的互联网访问以及与 Amazon Virtual Private Cloud(Amazon VPC)资源的网络连接。

网络连接错误可能是由于 VPC 的路由配置、安全组规则、Amazon Identity and Access Management(IAM)角色权限、网络地址转换(NAT)或资源可用性(例如 IP 地址或网络接口)中的问题造成。根据具体问题的不同,如果请求无法到达目标,则可能会看到特定错误或超时。

VPC:函数无法访问互联网或超时

问题:连接到 VPC 后,您的 Lambda 函数失去互联网访问权限。

错误:错误:连接 ETIMEDOUT 176.32.98.189:443

错误:错误:任务在 10.00 秒后超时

错误:ReadTimeoutError: 读取超时。 (读取超时=15

当您将函数连接到某个 VPC 时,所有出站请求都会通过该 VPC。要连接到互联网,请将 VPC 配置为将出站流量从函数的子网发送到公有子网中的 NAT 网关。有关更多信息和示例 VPC 配置,请参阅 VPC 连接函数的 Internet 和服务访问

如果您的某些 TCP 连接超时,这可能是数据包碎片造成的。Lambda 函数无法处理传入的碎片 TCP 请求,因为 Lambda 不支持 TCP 或 ICMP 的 IP 碎片化。

VPC:函数需要在不使用互联网的情况下访问Amazon服务

问题:您的 Lambda 函数需要在不使用互联网的情况下访问Amazon服务

要在不能访问互联网的情况下从私有子网将函数连接到Amazon服务,请使用 VPC 终端节点。有关适用于 Amazon Simple Storage Service(Amazon S3)和 Amazon DynamoDB(DynamoDB)的 VPC 终端节点的示例 Amazon CloudFormation 模板,请参阅 VPC 配置示例

VPC:已达到弹性网络接口限制

错误:ENILimitReachedException:该函数的 VPC 已达到弹性网络接口限制。

当您将一个 Lambda 函数连接到某个 VPC 时,Lambda 将为该函数所附加的每个子网和安全组组合创建一个弹性网络接口。原定设置服务配额为每个 VPC 250 个网络接口。要请求增加配额,您可以使用 Service Quotas 控制台

EC2:类型为“lambda”的弹性网络接口

错误代码:客户端。 OperationNotPermitted

错误消息:无法修改此类接口的安全组

如果您尝试修改由 Lambda 管理的弹性网络接口(ENI),则会收到此错误。ModifyNetworkInterfaceAttribute 不包含在用于更新由 Lambda 创建的弹性网络接口上的操作的 Lambda API 中。