如何排查在 Amazon VPC 中配置 Lambda 函数时出现的“您已超出 VPC 的 Lambda HyperPlane 弹性网络接口的最大限制”错误?

2 分钟阅读
0

我创建或更新连接到 Amazon Virtual Private Cloud (Amazon VPC) 的 AWS Lambda 函数。我收到错误“您已经超出 VPC 的 Lambda HyperPlane ENI 的最大限制。”

简短描述

当您将 Lambda 函数配置为访问 Amazon VPC 中的资源时,Lambda 会建立 Hyperplane 弹性网络接口(ENI)。在首次定义唯一子网和安全组的组合时创建 Hyperplane 弹性网络接口。

每个 Amazon VPC 的弹性网络接口的默认配额限制为 250。超出弹性网络接口配额会引发超出限制错误。

有关更多信息,请参阅配置 Lambda 函数以访问 VPC 中的资源

解决方案

**注意:**如果您在运行 AWS 命令行界面(AWS CLI)命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

确定您的 Amazon VPC 中 Hyperplane 弹性网络接口的使用情况

运行 AWS CLI 命令 describe-network-interfaces 以查找 Lambda 在您的 Amazon VPC 上使用的 Hyperplane ENI 总数。

**注意:**将 VPC 替换为您的 Amazon VPC ID,将 region 替换为您的 AWS 区域。

$ aws ec2 describe-network-interfaces --region us-east-1 \
  --filters 'Name=vpc-id,Values=VPC' 'Name=status,Values=in-use' \
  --query 'NetworkInterfaces[?InterfaceType=='lambda'].NetworkInterfaceId'

删除不访问私有资源的 Lambda 函数的 Amazon VPC 配置

最佳实践是为您的 Lambda 函数配置 Amazon VPC,使其仅访问私有资源。更新函数以删除其 Amazon VPC 配置后,Lambda 会删除连接的 Hyperplane 弹性网络接口。

**注意:**只有在没有其他函数或已发布版本使用 Hyperplane 弹性网络接口时,Lambda 才会删除此接口。

要使用弹性网络接口识别函数,请参阅为什么我无法分离或删除 Lambda 创建的弹性网络接口?

移除活跃 Lambda 函数的未使用版本并重用 Hyperplane 弹性网络接口

如果您使用 Amazon VPC 配置的 Lambda 函数有多个已发布版本,则最佳实践是删除未使用的版本。删除未使用的 Lambda 函数版本有助于释放未使用的 Hyperplane 弹性网络接口。

如果 Lambda 函数连续数周处于空闲状态,则 Lambda 会回收未使用的 Hyperplane 弹性网络接口并将函数状态设置为空闲。Lambda 不会删除 Lambda 函数正在使用的 Hyperplane 弹性网络接口。

Lambda 将 Hyperplane 弹性网络接口重复用于您账户中使用相同子网和安全组组合的其他 Amazon VPC 已激活函数。根据您的使用案例,您可以尝试通过配置相同的安全组-子网配对来跨功能重用弹性网络接口。

有关更多信息,请参阅创建弹性网络接口

在多个 Amazon VPC 上创建 Lambda 函数

每个 Amazon VPC 的 Hyperplane 弹性网络接口数量上限为 250。根据您的使用案例,您可以在不同的 Amazon VPC 上创建 Lambda 函数,这样就不会达到 Hyperplane 弹性网络接口上限。

在 Service Quotas 控制面板中打开配额增加案例

如果您确定使用案例需要更高的 Hyperplane 弹性网络接口服务配额,则可以请求增加服务配额。

1.    打开 Service Quotas 控制面板

2.    选择 AWS Lambda 卡。此时将打开 Lambda Service quotas 页面。

3.    选择每个 VPC 的弹性网络接口,然后选择请求增加配额

4.    在更改配额值中,输入配额量,然后选择请求

注意:请求的初始状态为待处理。当状态变为配额已请求之后,将显示 AWS Support 案例编号。

5.    选择案例编号以打开您的请求票据。

6.    在票据的评论线程中,添加 Lambda 函数使用案例的描述。

**注意:**您将收到来自 AWS Support 的状态更新电子邮件,以批准或拒绝请求。

有关更多信息,请参阅请求增加配额


相关信息

如何请求增加我的 Lambda 函数的并发限制?

AWS 官方
AWS 官方已更新 1 年前