为什么我无法分离或删除 Lambda 创建的弹性网络接口?

2 分钟阅读
0

当我尝试分离或删除 AWS Lambda 创建的弹性网络接口时,收到了以下错误消息: “You are not allowed to manage 'ela-attach' attachments.”

简短描述

当您配置 Lambda 函数以访问 Amazon Virtual Private Cloud(Amazon VPC)中的资源时,Lambda 会将该函数分配给网络接口。您只能通过 Lambda 服务删除此网络接口。如果您删除网络接口代表的资源,则 Lambda 会为您分离并删除相应的网络接口。要删除未使用的网络接口,Lambda 服务会使用创建了网络接口的函数的执行角色

网络接口可能会被与创建相应网络接口的函数具有相同 Amazon VPC 配置的函数或函数版本使用。在这种情况下,您将无法删除该网络接口。

要确定当前使用网络接口的函数或函数版本,请使用 GitHub 网站上的 Lambda ENI Finder Bash 脚本。有关更多信息,请参阅请求者托管的网络接口

**注意:**Lambda 在具有相同 Amazon VPC 配置的多个函数之间共享网络接口。要减少您的 AWS 账户中使用的网络接口数量,您可以共享网络接口。

解决方法

**注意:**如果您在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保使用的是最新版本的 AWS CLI

运行 Lambda ENI Finder 以确定使用该网络接口的函数和函数版本

**注意:**以下命令仅适用于 Linux、Unix 和 macOS 操作系统。

要确定使用该网络接口的函数和函数版本,请完成以下步骤:

  1. 使用有权查询 Lambda 和网络接口的 AWS Identity and Access Management(IAM)角色配置 AWS CLI。有关更多信息,请参阅执行角色和用户权限
    **注意:**Lambda 使用函数执行角色的权限来删除 Hyperplane 弹性网络接口。在 Lambda 删除 Hyperplane 弹性网络接口之前,不要删除执行角色。

  2. 从 jq 网站安装命令行 JSON 处理器 jq

    $ sudo yum install jq -y
  3. 确认是否已安装 Git:

    $ sudo yum install git -y

    要安装 Git,请参阅 Git 网站上的起步 - 安装 Git

  4. 从 GitHub 网站克隆 aws-support-tools GitHub 存储库:

    $ git clone https://github.com/awslabs/aws-support-tools.git
  5. 将目录更改为 Lambda ENI Finder 的位置

    $ cd aws-support-tools
    $ cd Lambda
    $ cd FindEniMappings
  6. 针对要删除的网络接口运行 Lambda ENI Finder:

    ./findEniAssociations --eni eni-0123456789abcef01 --region us-east-1

    注意:请将 eni-0123456789abcef01 替换为网络接口的 ID。您可以在 Amazon Elastic Compute Cloud(Amazon EC2)控制台网络接口页面上找到该 ID。请将 us-east-1 替换为网络接口所在的 AWS 区域。

输出结果将返回您的 AWS 账户以及使用网络接口的指定区域中的 Lambda 函数和函数版本列表。如果您需要这些函数或函数版本中的任何一个,则不要删除网络接口。

删除 Lambda 创建的网络接口

要删除 Lambda 创建的网络接口,请完成以下步骤:

  1. 对于 Lambda ENI Finder 列出的每个未发布的 Lambda 函数版本$LATEST),请执行以下一项操作:
    更改 Amazon VPC 配置以使用不同的子网和安全组。
    -或-
    断开函数与 Amazon VPC 的连接。
  2. 对于列出的每个已发布的 Lambda 函数版本,删除该函数版本。
    **注意:**您无法编辑已发布的函数版本,因此无法更改 VPC 配置。
  3. 确认该网络接口是否已不再使用。为此,再次运行 Lambda ENI Finder。

如果输出结果未列出其他函数或函数版本,则 Lambda 会在 20 分钟内自动删除网络接口。

相关信息

如果我已达到 AWS 区域中的弹性网络接口限制,如何获得更多的弹性网络接口?

AWS 官方
AWS 官方已更新 1 个月前