¿Por qué no puedo desasociar o eliminar una interfaz de red elástica creada por Lambda?
He intentado desasociar o eliminar una interfaz de red elástica creada por AWS Lambda, pero aparece un mensaje de error.
Descripción corta
Solo puedes eliminar una interfaz de red a través de Lambda. Si eliminas los recursos representados por la interfaz de red, Lambda desasociará y eliminará la interfaz de red automáticamente. Para eliminar las interfaces de red que no se usan, Lambda utiliza el rol de ejecución de las funciones que crearon las interfaces de red. Sin embargo, no puedes eliminar las interfaces de red que usa una función o versión de función.
Lambda comparte interfaces de red entre varias funciones y asignaciones de orígenes de eventos que tienen la misma configuración de Amazon Virtual Private Cloud (Amazon VPC). Para reducir la cantidad de interfaces de red que se utilizan en tu cuenta de AWS, puedes compartir las interfaces de red.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Identificación de las funciones y versiones de funciones que utilizan la interfaz de red
Nota: Los siguientes comandos solo son para los sistemas operativos Linux y Unix.
Para identificar qué funciones o versiones de funciones utilizan actualmente una interfaz de red, usa Lambda ENI Finder en el sitio web de GitHub.
Sigue estos pasos:
-
Configura la AWS CLI con un rol de AWS Identity and Access Management (IAM) que tenga permisos para consultar Lambda y las interfaces de red.
Importante: Lambda usa los permisos de un rol de ejecución de una función para eliminar la interfaz de red elástica de Hyperplane. Elimina el rol de ejecución solo después de que Lambda haya eliminado la interfaz de red elástica de Hyperplane. -
Para instalar el procesador JSON de línea de comandos jq, ejecuta el siguiente comando:
sudo yum install jq -yNota: Para más información, consulta ./jq en el sitio web de jq.
-
Para instalar Git, ejecuta el siguiente comando:
sudo yum install git -yNota: Para más información, consulta Getting started - installing Git (Introducción: instalación de Git) en el sitio web de Git.
-
Para clonar el repositorio de GitHub aws-support-tools, ejecuta el siguiente comando:
git clone https://github.com/awslabs/aws-support-tools.gitNota: Para más información, consulta aws-support-tools en el sitio web de GitHub.
-
Para cambiar el directorio a la ubicación de Lambda ENI Finder, ejecuta los siguientes comandos:
cd aws-support-tools cd Lambda cd FindEniMappings -
Para ejecutar Lambda ENI Finder en la interfaz de red que deseas eliminar, ejecuta el siguiente comando:
./findEniAssociations --eni eni-0123456789abcef01 --region us-east-1Nota: Sustituye eni-0123456789abcef01 por el ID de la interfaz de red y sustituye us-east-1 por la región de AWS en la que se encuentra la interfaz de red. Para obtener más información, consulta Interfaces de red administradas por el solicitante.
El resultado devuelve una lista de las funciones y versiones de funciones de Lambda que utilizan la interfaz de red en tu cuenta y región. Si necesitas alguna de estas funciones o versiones de funciones, no elimines la interfaz de red.
Si el resultado no muestra ninguna función ni versión de función, comprueba si los siguientes servicios de tu cuenta utilizan la interfaz de red:
- Amazon Managed Streaming para Apache Kafka (Amazon MSK)
- Apache Kafka autoadministrado
- Amazon MQ para ActiveMQ
- Amazon MQ para RabbitMQ
- Amazon DocumentDB (compatible con MongoDB)
Identificación de las asignaciones de orígenes de eventos que utilizan la interfaz de red
Uso de la AWS CLI
Sigue estos pasos:
-
Configura la AWS CLI con un rol de IAM que tenga permisos para consultar Lambda, Amazon MSK, Amazon MQ y Amazon DocumentDB.
Nota: Lambda usa los permisos del rol de ejecución de la función asociada a la asignación de orígenes de eventos para eliminar la interfaz de red elástica de Hyperplane. Elimina el rol de ejecución solo después de que Lambda haya eliminado la interfaz de red elástica de Hyperplane. -
Para enumerar las asignaciones de orígenes de eventos, ejecuta el siguiente comando list-event-source-mappings:
aws lambda list-event-source-mappings --query 'EventSourceMappings[?State != Disabled]' -
Comprueba el campo EventSourceArn o el campo SelfManagedEventSource para cada asignación de orígenes de eventos.
Si el campo EventSourceArn contiene un nombre de recurso de Amazon (ARN) para un clúster de MSK, un agente de Amazon MQ o un clúster de Amazon DocumentDB, anota el ARN.
Para ver los detalles del clúster o del agente, ejecuta uno de los siguientes comandos según el origen del evento.
Para Amazon MSK, ejecuta el siguiente comando describe-cluster-v2:aws kafka describe-cluster-v2 --cluster-arn MSK_CLUSTER_ARNNota: Sustituye MSK_CLUSTER_ARN por el ARN del clúster de MSK.
Para Amazon MQ, ejecuta el siguiente comando describe-broker:aws mq describe-broker --broker-id MQ_BROKER_IDNota: Sustituye MQ_BROKER_ID por tu ID de agente de Amazon MQ.
Para Amazon DocumentDB, ejecuta el siguiente comando describe-db-clusters:aws docdb describe-db-clusters --db-cluster-identifier DOCDB_CLUSTER_IDNota: Sustituye DOCDB_CLUSTER_ID por tu ID de clúster de Amazon DocumentDB.
-
En el resultado del comando, comprueba si el clúster o el agente utilizan los mismos ID de subred y grupo de seguridad que la interfaz de red.
-
Si existe el campo SelfManagedEventSource, comprueba si los ID de subred y grupo de seguridad de la interfaz de red aparecen en SourceAccessConfigurations en la asignación de orígenes de eventos.
Uso de la consola de Lambda
Nota: Para comprobar la asignación de orígenes de eventos para Apache Kafka autoadministrado, debes utilizar la consola Lambda.
Sigue estos pasos:
- Abre la consola de Lambda.
- En el panel de navegación, elige Asignaciones de orígenes de eventos.
- Comprueba la columna Servicio de orígenes de eventos para encontrar las asignaciones de orígenes de eventos para apache kafka, docdb, msk o mq.
- En el caso de docdb, msk o mq, anota el nombre del clúster o del agente en Recurso de orígenes de eventos. Para apache kafka, elige el UUID de la asignación de orígenes de eventos y ve al paso 8.
- Usa la consola de Amazon MSK, Amazon MQ o Amazon DocumentDB para buscar el nombre del clúster o del agente.
- Elige el nombre del clúster o del agente para ver sus detalles.
- En la configuración de red, comprueba que el clúster o el agente estén configurados para usar los mismos ID de subred y grupo de seguridad que la interfaz de red.
- Elige el ARN de origen de eventos de tu servicio para ver el origen de eventos y las configuraciones del servicio.
- En Configuraciones de acceso de origen, comprueba si aparecen los ID de subred y grupo de seguridad de la interfaz de red.
Eliminación de una interfaz de red creada por Lambda
Sigue estos pasos:
- Ejecuta el Lambda ENI Finder.
- Para cada versión no publicada de una función de Lambda ($LATEST) que aparezca en la lista, completa uno de los pasos siguientes:
Cambia la configuración de Amazon VPC de modo que se utilicen otra subred y otro grupo de seguridad.
\Alternativa:
Desconecta la función de la Amazon VPC. - Para las versiones de funciones de Lambda publicadas, elimina cada una de ellas.
Nota: Como no puedes editar las versiones de funciones publicadas, no puedes cambiar la configuración de la VPC. - Para cada asignación de orígenes de eventos de Lambda que utilice la interfaz de red, desactiva o elimina la asignación de orígenes de eventos.
- Para comprobar que la interfaz de red ya no está en uso, vuelve a ejecutar Lambda ENI Finder.
Lambda elimina automáticamente la interfaz de red cuando se cumplen las dos condiciones siguientes:
- El resultado no muestra ninguna otra función ni versión de función.
- La asignación de orígenes de eventos no utiliza la interfaz de red.
Búsqueda y eliminación de extractores
Si asocias las interfaces de red de Lambda con los extractores de Amazon Managed Service para Prometheus, completa los pasos siguientes:
-
Para identificar la configuración de tu extractor, ejecuta el siguiente comando list-rule-groups-namespaces:
aws amp list-rule-groups-namespaces -
Para enumerar los extractores de tu cuenta, ejecuta el siguiente comando list-scrapers:
aws amp list-scrapers --region your-regionNota: Sustituye your-region por tu región.
-
Para eliminar un extractor, ejecuta el siguiente comando delete-scraper:
aws amp delete-scraper --scraper-id your-scraperIdNota: Sustituye your-scraperId por el ID de tu extractor. Espera de 5 a 10 minutos hasta que se complete la eliminación del extractor antes de continuar con el paso 4.
-
Para eliminar el ENI, ejecuta el siguiente comando delete-network:
aws ec2 delete-network --your-network-interface-idNota: Sustituye your-network-interface-id por el ID de tu interfaz de red.
Para obtener más información, consulta Búsqueda y eliminación de extractores.
Información relacionada
¿Cómo puedo obtener interfaces de red más elásticas si he alcanzado el límite en una región de AWS?
- Temas
- ServerlessCompute
- Etiquetas
- AWS Lambda
- Idioma
- Español
Vídeos relacionados


Contenido relevante
preguntada hace un año
- Respuesta aceptada
preguntada hace un año
preguntada hace 2 meses