Perché non riesco a scollegare o eliminare un'interfaccia di rete elastica creata da Lambda?

4 minuti di lettura
0

Quando provo a scollegare o eliminare un'interfaccia di rete elastica creata da AWS Lambda, ricevo il seguente messaggio di errore: "You are not allowed to manage 'ela-attach' attachments."

Breve descrizione

Quando configuri una funzione Lambda per accedere alle risorse in un Amazon Virtual Private Cloud (Amazon VPC), Lambda assegna la funzione a un'interfaccia di rete. È possibile eliminare questa interfaccia di rete solo tramite il servizio Lambda. Se elimini le risorse rappresentate dall'interfaccia di rete, Lambda scollega ed elimina l'interfaccia di rete per te. Per eliminare le interfacce di rete non utilizzate, il servizio Lambda utilizza il ruolo di esecuzione delle funzioni che hanno creato le interfacce di rete.

Un'interfaccia di rete potrebbe essere utilizzata da funzioni o versioni di funzioni con le stesse configurazioni di Amazon VPC delle funzioni che le hanno create. In questo caso, non puoi eliminare l'interfaccia di rete.

Per identificare quali funzioni o versioni di funzioni utilizzano attualmente un'interfaccia di rete, utilizza lo script bash Lambda ENI Finder sul sito web GitHub. Per ulteriori informazioni, consulta Requester-managed network interfaces.

Nota: Lambda condivide le interfacce di rete tra più funzioni con la stessa configurazione Amazon VPC. Per ridurre il numero di interfacce di rete utilizzate nel tuo account AWS, puoi condividere le interfacce di rete.

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati che la versione di AWS CLI che stai utilizzando sia la più recente.

Esegui Lambda ENI Finder per identificare le funzioni e le versioni delle funzioni che utilizzano l'interfaccia di rete

Nota: i seguenti comandi sono validi solo per i sistemi operativi Linux, Unix e macOS.

Per identificare le funzioni e le versioni delle funzioni che utilizzano l'interfaccia di rete, completa i passaggi seguenti:

  1. Configura l'AWS CLI con un ruolo AWS Identity and Access Management (IAM) che dispone delle autorizzazioni per interrogare Lambda e interfacce di rete. Per ulteriori informazioni, consulta Execution role and user permissions.
    Nota: Lambda utilizza le autorizzazioni nel ruolo di esecuzione di una funzione per eliminare l'interfaccia di rete elastica Hyperplane. Non eliminare il ruolo di esecuzione prima che Lambda abbia eliminato l'interfaccia di rete elastica Hyperplane.

  2. Installa il processore JSON della linea di comando jq dal sito Web di jq:

    $ sudo yum install jq -y
  3. Verifica che Git sia installato:

    $ sudo yum install git -y

    Per installare Git, consulta Getting started - Installing Git sul sito web di Git.

  4. Clona il repository GitHub aws-support-tools dal sito Web di GitHub:

    $ git clone https://github.com/awslabs/aws-support-tools.git
  5. Cambia la directory nella posizione di Lambda ENI Finder:

    $ cd aws-support-tools
    $ cd Lambda
    $ cd FindEniMappings
  6. Esegui Lambda ENI Finder per l'interfaccia di rete che desideri eliminare:

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

    Nota: sostituisci eni-0123456789abcef01 con l'ID dell'interfaccia di rete. Puoi trovare l'ID nella pagina delle interfacce di rete della console Amazon Elastic Compute Cloud (Amazon EC2). Sostituisci us-east-1 con la regione AWS in cui si trova l'interfaccia di rete.

L'output restituisce un elenco delle funzioni Lambda e delle versioni delle funzioni nel tuo account AWS e nella regione specificata che utilizzano l'interfaccia di rete. Se hai bisogno di una di queste funzioni o versioni di funzioni, non eliminare l'interfaccia di rete.

Eliminare un'interfaccia di rete creata da Lambda

Per eliminare un'interfaccia di rete creata da Lambda, completa i seguenti passaggi:

  1. Per ogni versione non pubblicata della funzione Lambda ($LATEST) elencata in Lambda ENI Finder, intraprendi una delle seguenti azioni:
    Modifica la configurazione di Amazon VPC per utilizzare una sottorete e un gruppo di sicurezza diversi.
    -oppure-
    Disconnetti la funzione da Amazon VPC.
  2. Per ogni versione della funzione Lambda pubblicata elencata, elimina la versione della funzione.
    Nota: non puoi modificare le versioni delle funzioni pubblicate, quindi non puoi modificare la configurazione del VPC.
  3. Verifica che l'interfaccia di rete non sia più in uso. A tale scopo, esegui nuovamente il Lambda ENI Finder.

Se l'output non elenca altre funzioni o versioni di funzioni, Lambda elimina automaticamente l'interfaccia di rete entro 20 minuti.

Informazioni correlate

Come posso ottenere altre interfacce di rete elastiche se ho raggiunto il limite in una regione AWS?

AWS UFFICIALE
AWS UFFICIALEAggiornata un mese fa