Come posso attivare CloudWatch Logs per risolvere i problemi della mia REST API o API WebSocket di API Gateway?
Desidero eseguire il debug degli errori con una REST API o un'API WebSocket di Gateway Amazon API che sto creando.
Breve descrizione
Per risolvere i problemi relativi a una REST API o un'API WebSocket di API Gateway, utilizza Amazon CloudWatch Logs. Per informazioni sui tipi di formati di log, consulta Formati dei log di CloudWatch per API Gateway.
Nota: le API HTTP supportano solo la registrazione degli accessi. Per ulteriori informazioni, consulta Configura la registrazione per le API HTTP in API Gateway.
Nei log puoi trovare le seguenti informazioni:
- Richieste ricevute dalla tua API
- Risposte del backend di integrazione dalla tua API
- Risposta fornita dagli AWS Lambda Authorizer
- Valore requestId per gli endpoint di integrazione AWS
- Autorizzazione di una chiave API fornita
Risoluzione
Crea un ruolo IAM per inviare i log a CloudWatch
Completa i seguenti passaggi:
- Apri la console AWS Identity and Access Management (IAM).
- Dal pannello di navigazione, scegli Ruoli.
- Nel pannello Ruoli, scegli Crea ruolo.
- Nella pagina Crea ruolo, inserisci le seguenti informazioni:
Per il tipo di Entità affidabile, scegli AWS Service.
Come caso d'uso, scegli API Gateway, quindi scegli il pulsante di opzione API Gateway.
Scegli Avanti. - In Policy di autorizzazione, utilizza la policy gestita da AWS AmazonAPIGatewayPushToCloudWatchLogs predefinita che dispone di tutte le autorizzazioni necessarie.
- Scegli Avanti.
- In Nome, rivedi e crea, inserisci le seguenti informazioni:
In Nome del ruolo, inserisci un nome per il ruolo.
(Facoltativo) Per la Descrizione del ruolo, modifica la descrizione in base alle tue preferenze.
(Facoltativo) Aggiungi tag.
Scegli Crea ruolo. - Nel pannello Ruoli, scegli il ruolo che hai creato.
- Nel pannello Riepilogo, annota l'ARN del ruolo da utilizzare nella sezione successiva.
Per informazioni sulle autorizzazioni, consulta Autorizzazioni per la registrazione di CloudWatch.
Aggiungi il ruolo IAM nella console API Gateway
Completa i seguenti passaggi:
- Apri la console API Gateway.
- Nel pannello API, scegli il nome della REST API o dell'API WebSocket, non dell'API HTTP.
- Dal pannello di navigazione, scegli Impostazioni.
- In Impostazioni, per l'ARN del ruolo per i log di CloudWatch, inserisci l'ARN del ruolo IAM.
Nota: il ruolo in CloudWatch Logs è una configurazione a livello di regione AWS che usi con tutte le API nella regione. - Fai clic su Salva.
Nota: se crei più API in diverse regioni, completa i passaggi precedenti in ciascuna regione.
Attiva la registrazione dell’API e seleziona la fase
Completa i seguenti passaggi:
- Apri la console API Gateway.
- Dal pannello di navigazione, scegli API, quindi scegli la tua API.
- Nel pannello di navigazione, scegli Proxy, quindi seleziona la tua fase.
- In Log e tracciamento, scegli Modifica.
- In Log di CloudWatch, seleziona un livello dal menu a discesa.
Nota: per i log completi delle richieste e delle risposte, seleziona il tracciamento dei dati con il livello di registrazione impostato su Log degli errori e delle informazioni. È consigliabile non attivare il tracciamento dei dati per le API di produzione perché può registrare dati sensibili. - Scegli Metriche dettagliate.
- In Registrazione personalizzata degli accessi, completa i seguenti passaggi:
Seleziona Abilita la registrazione degli accessi.
In ARN di destinazione del log degli accessi, inserisci l'ARN di un Amazon Data Firehose o di un gruppo di log CloudWatch.
Nota: solo le REST API supportano l'ARN Firehose. - Inserisci un formato di log.
- Scegli Salva modifiche.
Verifica la tua configurazione di registrazione
Nota: per inviare una nuova richiesta alla tua API, utilizza l'applicazione client o uno strumento come l'app Postmano wscat per le API WebSocket.
Completa i seguenti passaggi:
- Apri la console CloudWatch.
- Dal pannello di navigazione, in Log, scegli Gruppi di log.
- Per Gruppi di log, seleziona il gruppo di log dell'API di cui desideri eseguire il debug:
Per le REST API, il nome del gruppo di log è nel formato API-Gateway-Execution-Logs_apiId/stageName.
Per le API WebSocket, il nome del gruppo di log è nel formato /aws/apigateway/apiId/stageName.
Nota: i log degli accessi si trovano nel gruppo di log specificato quando è stata attivata la registrazione degli accessi. - In Flussi di log, seleziona il flusso di log con l'ora dell'ultimo evento più recente per visualizzare i messaggi con i dettagli della tua richiesta.
Informazioni correlate
Monitora l’esecuzione delle REST API con le metriche di Amazon CloudWatch
Monitora l'esecuzione delle API WebSocket con le metriche di CloudWatch
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2000 anni fa
- AWS UFFICIALEAggiornata 4 mesi fa