本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 中。