Come posso risolvere gli errori 500, 502 e 503 causati dalle funzioni Lambda@Edge in CloudFront?

3 minuti di lettura
0

Ho associato una funzione AWS Lambda@Edge a una distribuzione Amazon CloudFront. Ora sto ricevendo degli errori 500, 502 o 503. In che modo posso risolvere il problema?

Breve descrizione

Gli errori 500, 502 e 503 di Lambda@Edge indicano quanto segue:

  • Il codice di stato HTTP 500 indica che la funzione Lambda ha restituito un errore di esecuzione.

  • Il codice di stato HTTP 502 indica che la risposta della funzione Lambda è stata formata in modo errato o include contenuto non valido.

  • Il codice di stato HTTP 503 indica che CloudFront è limitato a causa delle quote di servizio Lambda (precedentemente note come limiti).

Consulta le sezioni seguenti per le cause dell'errore e la risoluzione dei problemi.

Risoluzione

La funzione Lambda@Edge restituisce un errore 500

Un errore di esecuzione 500 si verifica quando CloudFront non riceve una risposta da Lambda. Ciò accade perché vi sono eccezioni non gestite nella funzione, un errore nel codice o si tratta di un ambiente di esecuzione non supportato.

Per risolvere gli errori 500 generati da Lambda@Edge, devi eseguire il debug del codice aggiungendo istruzioni di registrazione per le funzioni Lambda. Per ulteriori informazioni, consulta Quattro passaggi per il debug della distribuzione dei contenuti su AWS e consulta le informazioni riportate in I - Errori di esecuzione. Queste istruzioni di registrazione scrivono messaggi nei file di log di CloudWatch che monitorano l'esecuzione della funzione CloudFront. Puoi esaminare tali istruzioni nei file di log di CloudWatch per verificare che la funzione funzioni correttamente.

Per ulteriori informazioni, consulta Errori di funzione Lambda in Node.js e Errori di funzione Lambda in Python.

La funzione Lambda@Edge restituisce un errore 502

Dopo l'esecuzione della funzione, CloudFront riceve una risposta da Lambda. Un errore 502 viene restituito se la struttura dell'oggetto della risposta non è conforme alla struttura di eventi di Lambda@Edge. Viene inoltre restituito se la risposta contiene intestazioni o altri campi non validi.

Per risolvere l'errore 502 generato da Lambda@Edge, controlla la presenza dei seguenti problemi nella funzione Lambda@Edge:

  • Oggetto JSON restituito
  • Campi obbligatori mancanti
  • La risposta ha un oggetto non valido
  • L'aggiunta o l'aggiornamento non sono consentiti o sono presenti intestazioni di sola lettura
  • Superamento delle dimensioni massime del testo
  • I caratteri o i valori non sono validi

Per ulteriori informazioni, consulta Test e debug delle funzioni Lambda@Edge e Limitazioni sulle funzioni edge.

La funzione Lambda@Edge restituisce un errore 503

Il servizio Lambda limita le esecuzioni in ogni regione e restituisce un errore 503 se superi la quota.

Per risolvere l'errore 503, controlla i parametri e i file di log di CloudWatch per Lambda@Edge per i seguenti problemi:

  • Esecuzioni simultanee per regione
  • Quote delle funzioni raggiunte

Per ulteriori informazioni, consulta Quote su Lambda@Edge.

Nota: per visualizzare i file di log creati quando CloudFront ha eseguito la funzione Lambda, è necessario esaminare i file di log di CloudWatch nella regione corretta.


Informazioni correlate

Best practices di progettazione per Lambda@Edge

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa