Pourquoi ne puis-je pas détacher ou supprimer une interface réseau Elastic créée par Lambda ?

Dernière mise à jour : 01/12/2021

Lorsque j'essaie de détacher ou de supprimer une interface réseau Elastic créée par AWS Lambda, le message d'erreur « You are not allowed to manage 'ela-attachments'. » (« Vous n'êtes pas autorisé à gérer 'ela-attachments'. ») s'affiche. Pourquoi cela se produit-il et comment supprimer une interface réseau créée par Lambda ?

Brève description

Lorsque vous configurez une fonction Lambda pour accéder aux ressources d'un Amazon Virtual Private Cloud (Amazon VPC), Lambda affecte la fonction à une interface réseau. Les interfaces réseau créées par Lambda ne peuvent être supprimées que par le service Lambda.

Si vous supprimez les ressources représentées par l'interface réseau, Lambda détache et supprime l'interface réseau pour vous. Pour supprimer les interfaces réseau inutilisées, le service Lambda utilise le rôle d'exécution des fonctions qui ont créé les interfaces réseau.

Les interfaces réseau ne sont pas supprimées si elles sont utilisées par des fonctions ou des versions de fonctions ayant les mêmes configurations Amazon VPC que les fonctions qui les ont créées.

Pour identifier les fonctions ou versions de fonctions qui utilisent actuellement une interface réseau, utilisez le script bash Lambda ENI Finder disponible sur GitHub.

Pour plus d'informations, veuillez consulter la section Interfaces réseau gérées par demandeur.

Remarque : Lambda partage des interfaces réseau entre plusieurs fonctions ayant la même configuration Amazon VPC. Le partage d'interfaces réseau permet de réduire la quantité d'interfaces réseau utilisées dans votre compte AWS.

Résolution

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis AWS Command Line Interface (AWS CLI), assurez-vous d'utiliser la version AWS CLI la plus récente.

Identifiez les fonctions et versions de fonction qui utilisent encore l'interface réseau en exécutant Lambda ENI Finder

Remarque : les commandes des instructions suivantes sont valables uniquement pour les systèmes d'exploitation Linux, Unix et macOS.

1.    Si vous ne l'avez pas déjà fait, installez AWS CLI.

2.    Configurez l'interface de ligne de commande AWS avec un rôle AWS Identity and Access Management (IAM) disposant des autorisations nécessaires pour interroger Lambda et les interfaces réseau. Pour plus d'informations, consultez Rôle d'exécution et autorisations utilisateur.

3.    Installez le processeur JSON de ligne de commande jq en exécutant la commande suivante :

$ sudo yum install jq -y

Remarque : Pour plus d'informations, veuillez consulter la page Web jq sur GitHub.

4.    Si ce n'est déjà fait, installez Git en exécutant la commande suivante :

$ sudo yum install git -y

5.    Clonez le référentiel GitHub rds-support-tools à l'aide des commandes suivantes :

$ git clone https://github.com/awslabs/aws-support-tools.git

6.    Remplacez le répertoire par l'emplacement de Lambda ENI Finder.

Emplacement Lambda ENI Finder

$ cd aws-support-tools
$ cd Lambda
$ cd FindEniMappings

7.    Exécutez Lambda ENI Finder pour l'interface réseau que vous souhaitez supprimer en exécutant la commande suivante :

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

Remarque : remplacez eni-0123456789abcef01 par l'ID de l'interface réseau. (Recherchez l'ID sur la page Interfaces réseau de la console Amazon Elastic Compute Cloud (Amazon EC2).) Remplacez également us-east-1 par la région AWS dans laquelle se trouve l'interface réseau.

Les résultats répertorient toutes les fonctions et versions de fonctions Lambda de votre compte AWS et la région que vous avez spécifiée utilisant l'interface réseau.

Remarque : si vous avez toujours besoin de l'une de ces fonctions ou versions de fonctions, vous n'avez probablement pas besoin de supprimer l'interface réseau.

Pour supprimer une interface réseau créée par Lambda

1.    Pour chaque version de fonction Lambda non publiée ($LATEST) répertoriée dans Lambda ENI Finder, effectuez l'une des opérations suivantes :

Modifiez la configuration Amazon VPC pour utiliser un sous-réseau et un groupe de sécurité différents.

-ou-

Déconnectez la fonction d'Amazon VPC.

2.    Pour chaque version de fonction Lambda publiée répertoriée, supprimez la version de fonction.
Remarque : les versions de fonction publiées ne peuvent pas être modifiées, vous ne pouvez donc pas modifier la configuration du VPC.

3.    Vérifiez que l'interface réseau n'est plus utilisée en exécutant à nouveau le Lambda ENI Finder.

Si aucune autre fonction ou version de fonction n'est répertoriée dans le résultat, Lambda supprime pour vous l'interface réseau dans un délai de 24 heures.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?