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

Date de la dernière mise à jour : 27/03/2020

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'. » s'affiche. Pourquoi ne puis-je pas supprimer l'interface réseau ?

Brève description

Les interfaces réseau créées par Lambda ne peuvent être supprimées que par Lambda. Pour plus d'informations, consultez la section Interfaces réseau gérées par demandeur.

Lambda supprime régulièrement pour vous vos interfaces réseau créées par Lambda non utilisées à l'aide du rôle d'exécution des fonctions qui ont créé les interfaces réseau. Lambda ne supprime pas les interfaces réseau de votre compte qui sont actuellement utilisées par des fonctions ou des versions de fonctions avec les mêmes configurations Amazon Virtual Private Cloud (Amazon VPC) que les fonctions qui ont créé les interfaces réseau.

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.

Pour identifier les fonctions ou versions de fonctions qui utilisent actuellement une interface réseau, utilisez Lambda ENI Finder.

Résolution

Exécuter Lambda ENI Finder

Remarque : les commandes des instructions suivantes sont valides uniquement pour les systèmes Linux/Unix/macOS.

1.    Si vous ne l'avez pas déjà fait, installez l'interface de ligne de commande AWS (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 :

$ sudo yum install jq -y

Pour plus d'informations, consultez la page Internet jq sur GitHub.

4.    Si vous ne l'avez pas déjà fait, installez git :

$ sudo yum install git -y
$ git clone https://github.com/awslabs/aws-support-tools.git

6.    Remplacez le répertoire par l'emplacement de 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 :

./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 us-east-1 par la région AWS de 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) qui utilisent 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.

Supprimer l'interface réseau

Pour que Lambda supprime l'interface réseau, procédez comme suit :

1.    Pour chaque fonction Lambda non publiée (version $LATEST) répertoriée par Lambda ENI Finder, modifiez la configuration Amazon VPC pour utiliser un sous-réseau et un groupe de sécurité différents. Vous pouvez également déconnecter complètement la fonction d'Amazon VPC.

2.    Pour chaque version de fonction Lambda publiée répertoriée, supprimez la version de fonction. Comme les versions publiées ne peuvent pas être modifiées, la configuration VPC ne peut pas être modifiée.

3.    Exécutez à nouveau Lambda ENI Finder pour vérifier que l'interface réseau n'est plus en cours d'utilisation. 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 ?