Salta al contenuto

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

7 minuti di lettura
0

Ho provato a scollegare o eliminare un'interfaccia di rete elastica creata da AWS Lambda, ma ho ricevuto un messaggio di errore.

Breve descrizione

Puoi eliminare un'interfaccia di rete solo tramite Lambda. Se elimini le risorse rappresentate dall'interfaccia, Lambda provvede a scollegare ed eliminare l'interfaccia di rete. Per eliminare interfacce di rete inutilizzate, Lambda utilizza il ruolo di esecuzione delle funzioni che hanno creato le interfacce. Tuttavia, non puoi eliminare interfacce di rete utilizzate da una funzione o da una versione della funzione.

Lambda condivide le interfacce di rete tra più funzioni e strumenti di mappatura dell'origine degli eventi che hanno la stessa configurazione di Amazon Virtual Private Cloud (Amazon VPC). Per ridurre il numero di interfacce di rete utilizzate in un account AWS, puoi condividerle.

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Individua le funzioni e le versioni delle funzioni che utilizzano l'interfaccia di rete

Nota: i seguenti comandi valgono solo per i sistemi operativi Linux e Unix.

Per identificare le funzioni o le versioni delle funzioni che utilizzano un'interfaccia di rete, utilizza Lambda ENI Finder sul sito web GitHub.

Completa i seguenti passaggi:

  1. Configura AWS CLI con un ruolo AWS Identity and Access Management (AWS IAM) che ha le autorizzazioni per eseguire query su Lambda e sulle interfacce di rete.
    Importante: Lambda utilizza le autorizzazioni del ruolo di esecuzione di una funzione per eliminare un'interfaccia di rete elastica Hyperplane. Elimina il ruolo di esecuzione solo dopo che Lambda ha eliminato l'interfaccia di rete elastica Hyperplane.

  2. Per installare il processore JSON a riga di comando jq, esegui questo comando:

    sudo yum install jq -y

    Nota: per ulteriori informazioni, consulta jq sul sito web jq.

  3. Per installare Git, esegui questo comando:

    sudo yum install git -y

    Nota: per ulteriori informazioni, consulta Getting started - installing Git (Guida introduttiva: installazione di Git) sul sito web Git.

  4. Per clonare il repository GitHub aws-support-tools, esegui questo comando:

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

    Nota: per ulteriori informazioni, consulta aws-support-tools sul sito web GitHub.

  5. Per modificare la directory nella posizione di Lambda ENI Finder, esegui questi comandi:

    cd aws-support-tools    cd Lambda  
    cd FindEniMappings
  6. Per eseguire Lambda ENI Finder per l'interfaccia di rete che desideri eliminare, esegui questo comando:

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

    Nota: sostituisci eni-0123456789abcef01 con l'ID dell'interfaccia di rete e us-east-1 con la Regione AWS in cui si trova l'interfaccia di rete. Per ulteriori informazioni, consulta Interfacce di rete gestite dal richiedente.

L'output restituisce l'elenco delle funzioni Lambda e delle versioni delle funzioni che utilizzano l'interfaccia di rete nell'account e nella Regione. Se hai bisogno di una delle funzioni o versioni delle funzioni, non eliminare l'interfaccia di rete.

Se l'output non elenca alcuna funzione o versione di funzione, controlla se i servizi seguenti nel tuo account utilizzano l'interfaccia di rete:

  • Streaming gestito da Amazon per Apache Kafka (Amazon MSK)
  • Apache Kafka self-managed
  • Amazon MQ per ActiveMQ
  • Amazon MQ per RabbitMQ
  • Amazon DocumentDB (compatibile con MongoDB)

Individua gli strumenti di mappatura dell'origine degli eventi che utilizzano l'interfaccia di rete

Utilizza AWS CLI

Completa i seguenti passaggi:

  1. Configura AWS CLI con un ruolo IAM che ha le autorizzazioni per eseguire query su Lambda, Amazon MSK, Amazon MQ e Amazon DocumentDB.
    Nota: Lambda utilizza le autorizzazioni del ruolo di esecuzione della funzione associato allo strumento di mappatura dell'origine degli eventi per eliminare l'interfaccia di rete elastica Hyperplane. Elimina il ruolo di esecuzione solo dopo che Lambda ha eliminato l'interfaccia di rete elastica Hyperplane.

  2. Per elencare gli strumenti di mappatura dell'origine degli eventi, esegui questo comando list-event-source-mappings:

    aws lambda list-event-source-mappings --query 'EventSourceMappings[?State != Disabled]'
  3. Controlla il campo EventSourceArn o il campo SelfManagedEventSource per ogni strumento di mappatura dell'origine degli eventi.
    Se il campo EventSourceArn contiene un nome della risorsa Amazon (ARN) per un cluster MSK, un broker Amazon MQ o un cluster Amazon DocumentDB, prendi nota dell'ARN.
    Per visualizzare i dettagli del cluster o del broker, esegui uno di questi comandi in base all'origine degli eventi.
    Per Amazon MSK, esegui questo comando describe-cluster-v2:

    aws kafka describe-cluster-v2 --cluster-arn MSK_CLUSTER_ARN

    Nota: sostituisci MSK_CLUSTER_ARN con l'ARN del tuo cluster MSK.
    Per Amazon MQ, esegui questo comando describe-broker:

    aws mq describe-broker --broker-id MQ_BROKER_ID

    Nota: sostituisci MQ_BROKER_ID con l'ID del tuo broker Amazon MQ.
    Per Amazon DocumentDB, esegui questo comando describe-db-clusters:

    aws docdb describe-db-clusters --db-cluster-identifier DOCDB_CLUSTER_ID

    Nota: sostituisci DOCDB_CLUSTER_ID con l'ID del tuo cluster Amazon DocumentDB.

  4. Nell'output del comando, controlla se il cluster o il broker utilizza gli stessi ID di sottorete e gruppo di sicurezza dell'interfaccia di rete.

  5. Se esiste il campo SelfManagedEventSource, controlla se gli ID della sottorete e del gruppo di sicurezza dell'interfaccia di rete sono elencati in SourceAccessConfigurations nello strumento di mappatura dell'origine degli eventi.

Utilizza la console Lambda

Nota: per verificare lo strumento di mappatura dell'origine degli eventi per Apache Kafka self-managed, devi utilizzare la console Lambda.

Completa i seguenti passaggi:

  1. Apri la console Lambda.
  2. Nel pannello di navigazione, scegli Strumenti di mappatura dell'origine degli eventi.
  3. Controlla la colonna Servizio di origine degli eventi per trovare gli strumenti di mappatura dell'origine degli eventi per apache kafka, docdb, msk o mq.
  4. Per docdb, msk o mq, prendi nota del nome del cluster o del broker in Risorsa di origine degli eventi. Per apache kafka, scegli l'UUID dello strumento di mappatura dell'origine degli eventi, quindi procedi al passaggio 8.
  5. Utilizza la console Amazon MSK, Amazon MQ o Amazon DocumentDB per cercare il nome del cluster o del broker.
  6. Scegli il nome del cluster o del broker per visualizzarne i dettagli.
  7. Nelle impostazioni di rete, verifica di aver configurato il cluster o il broker per utilizzare gli stessi ID di sottorete e gruppo di sicurezza dell'interfaccia di rete.
  8. Scegli l'ARN origine degli eventi del servizio per visualizzare le configurazioni del servizio e dell'origine degli eventi.
  9. In Configurazioni di accesso origine controlla se sono elencati gli ID della sottorete e del gruppo di sicurezza dell'interfaccia di rete.

Elimina un'interfaccia di rete creata da Lambda

Completa i seguenti passaggi:

  1. Esegui Lambda ENI Finder.
  2. Per ogni versione non pubblicata della funzione Lambda ($LATEST) elencata, completa uno dei seguenti passaggi:
    Modifica la configurazione di Amazon VPC per utilizzare una sottorete e un gruppo di sicurezza diversi.
    -oppure-
    Scollega la funzione da Amazon VPC.
  3. Per le versioni pubblicate delle funzioni Lambda, eliminale tutte.
    Nota: non puoi modificare le versioni delle funzioni pubblicate, per cui non puoi modificare la configurazione di Amazon VPC.
  4. Per ogni strumento di mappatura dell'origine degli eventi Lambda che utilizza l'interfaccia di rete, disattiva o elimina lo strumento.
  5. Per verificare che l'interfaccia di rete non sia più in uso, esegui nuovamente Lambda ENI Finder.

Lambda elimina automaticamente l'interfaccia di rete quando si verificano entrambe le seguenti condizioni:

  • L'output non elenca altre funzioni o versioni di funzioni.
  • Lo strumento di mappatura dell'origine degli eventi non utilizza l'interfaccia di rete.

Trova ed elimina gli scraper

Se associ le interfacce di rete Lambda a scraper del servizio gestito da Amazon per Prometheus, completa i seguenti passaggi:

  1. Per identificare la configurazione dello scraper, esegui questo comando list-rule-groups-namespaces:

    aws amp list-rule-groups-namespaces
  2. Per elencare gli scraper nell'account, esegui questo comando list-scrapers:

    aws amp list-scrapers --region your-region

    Nota: sostituisci your-region con la tua Regione.

  3. Per eliminare uno scraper, esegui questo comando delete-scraper:

    aws amp delete-scraper --scraper-id your-scraperId

    Nota: sostituisci your-scraperId con l'ID del tuo scraper. Attendi 5-10 minuti il completamento dell'eliminazione dello scraper prima di procedere al passaggio 4.

  4. Per eliminare l'ENI, esegui questo comando delete-network:

    aws ec2 delete-network --your-network-interface-id

    Nota: sostituisci your-network-interface-id con l'ID della tua interfaccia di rete.

Per ulteriori informazioni, consulta Trova ed elimina gli scraper.

Informazioni correlate

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