Risoluzione dei problemi di rete in Lambda - AWS Lambda

Risoluzione dei problemi di rete in Lambda

Per impostazione predefinita, Lambda esegue le funzioni in un Virtual Private Cloud (VPC) interno con connettività ai servizi AWS e a Internet. Per accedere alle risorse di rete locali, è possibile configurare la funzione in modo che si connetta a un VPC nel proprio account. Quando si utilizza questa funzionalità, è possibile gestire l'accesso a Internet della funzione e la connettività di rete con risorse Amazon Virtual Private Cloud (Amazon VPC).

Gli errori di connettività di rete possono derivare da problemi di configurazione del routing del VPC, regole del gruppo di sicurezza, autorizzazioni di ruolo AWS Identity and Access Management (IAM), traduzione degli indirizzi di rete (NAT) o disponibilità di risorse quali indirizzi IP o interfacce di rete. A seconda del problema, potrebbe verificarsi un errore o un timeout specifico se una richiesta non riesce a raggiungere la sua destinazione.

VPC: la funzione perde l'accesso a Internet o scade

Problema: la funzione Lambda perde l'accesso a Internet dopo la connessione a un VPC.

Errore: Errore: collegare ETIMEDUT 176.32.98.189:443

Errore: Errore: timeout dell'attività dopo 10,00 secondi

Errore: ReadTimeoutError: timeout di lettura. (Timeout lettura=15)

Quando si collega una funzione a un VPC, tutte le richieste in uscita passano attraverso il VPC. Per connettersi a Internet, configurare il VPC per inviare il traffico in uscita dalla sottorete della funzione a un gateway NAT in una sottorete pubblica. Per ulteriori informazioni e le configurazioni VPC di esempio, vedere Abilitare l'accesso a Internet per funzioni Lambda connesse a un VPC.

Se alcune delle connessioni TCP sono scadute, verifica VPC: la connessione TCP o UDP fallisce a intermittenza se la sottorete utilizza una lista di controllo accessi (NACL) di rete. Altrimenti, ciò è probabilmente dovuto alla frammentazione dei pacchetti. Le funzioni Lambda non sono in grado di gestire le richieste TCP frammentate in entrata, poiché Lambda non supporta la frammentazione IP per TCP o ICMP.

VPC: la connessione TCP o UDP fallisce a intermittenza

Nota

Questo problema si applica solo se la sottorete utilizza una lista di controllo accessi (ACL) di rete. Gli ACL di rete non sono necessari per consentire a Lambda di connettersi alle sottoreti.

Problema: Lambda perde in modo intermittente la connessione alle sottoreti VPC, per le quali hai configurato una lista di controllo dell'accesso alla rete (ACL).

Per le funzioni Lambda abilitate per VPCAWS, crea ENI iperplanari nell'account del cliente e utilizza porte temporanee 1024 per 65535 connettere Lambda al VPC del cliente. Se si utilizzano gli ACL di rete nella sottorete di destinazione, è necessario consentire l'intervallo di porte sia per TCP che per UDP. 1024 65535 Non consentire questo intervallo completo di porte può causare errori di connessione intermittenti.

VPC: la funzione richiede l'accesso ai Servizi AWS senza utilizzare Internet

Problema: la funzione Lambda richiede l'accesso ai Servizi AWS senza utilizzare Internet.

Per connettere una funzione ai Servizi AWS da una sottorete privata senza accesso a Internet, utilizza gli endpoint VPC.

VPC: raggiunto il limite dell'interfaccia di rete elastica

Errore: EnilimitReachedException: è stato raggiunto il limite dell'interfaccia di rete elastica per il VPC della funzione.

Quando si connette una funzione Lambda a un VPC, Lambda crea un'interfaccia di rete elastica per ogni combinazione di sottorete e gruppo di sicurezza collegato alla funzione. La quota di servizio predefinita è 250 interfacce di rete per VPC. Per richiedere un aumento di una quota, è possibile utilizzare la console Service Quotas.

EC2: interfaccia di rete elastica con tipo "lambda"

Codice di errore: Client.OperationNotPermitted

Messaggio di errore: il gruppo di sicurezza non può essere modificato per questo tipo di interfaccia

Riceverai questo errore se cerchi di modificare un'interfaccia di rete elastica (ENI) gestita da Lambda. ModifyNetworkInterfaceAttribute non è incluso nell'API Lambda per le operazioni di aggiornamento su interfacce di rete elastiche create da Lambda.

DNS: impossibile connettersi agli host con UNKNOWNHOSTEXCEPTION

Messaggio di errore: UNKNOWNHOSTEXCEPTION

Le funzioni Lambda supportano un massimo di 20 connessioni TCP simultanee per la risoluzione DNS. La tua funzione potrebbe esaurire quel limite. Le richieste DNS più comuni vengono eseguite tramite UDP. Se la tua funzione consiste solo nel creare connessioni DNS UDP, è poco probabile che questo sia il tuo problema. Questo errore viene generalmente generato a causa di una configurazione errata o di un'infrastruttura degradata, quindi prima di esaminare a fondo il traffico DNS, verifica che l'infrastruttura DNS sia configurata correttamente e integra e che la funzione Lambda si riferisca a un host specificato nel DNS.

Se diagnostichi il problema come correlato al numero massimo di connessioni TCP, tieni presente che non puoi richiedere un aumento di questo limite. Se la tua funzione Lambda ritorna al DNS TCP a causa di payload DNS di grandi dimensioni, verifica che la tua soluzione utilizzi librerie che supportano EDNS. Per ulteriori informazioni su EDNS, consulta lo standard RFC 6891. Se i payload DNS superano costantemente le dimensioni massime EDNS, la soluzione potrebbe comunque esaurire il limite DNS TCP.