¿Cómo puedo utilizar los registros de Amazon API Gateway para solucionar problemas?

4 minutos de lectura
0

Quiero utilizar los registros de Amazon API Gateway para solucionar problemas de las API.

Descripción breve

Para solucionar problemas de una API de REST o una API de WebSocket de API Gateway, active el registro de ejecución y el registro de acceso mediante Registros de Amazon CloudWatch. Asegúrese de asociar todos los permisos necesarios al rol AWS Identity and Access Management (IAM) de API Gateway. Para obtener instrucciones, consulte How do I turn on CloudWatch Logs for troubleshooting my API Gateway REST API or WebSocket API? (¿Cómo activo los registros de CloudWatch para solucionar problemas de la API de REST o la API de WebSocket de API Gateway?)

Nota: En la actualidad, las API de HTTP solo admiten el registro de acceso, y la configuración del registro es diferente para estas API. Para obtener más información, consulte Configuración de registro para una API HTTP.

Solución

Tras activar el registro, API Gateway crea automáticamente un grupo de registro de CloudWatch denominado API-Gateway-Execution-Logs/{rest-api-id}/{stage-name}. Para obtener más información, consulte Formatos de registro de CloudWatch para API Gateway.

Autorizadores de AWS Lambda

Si tiene activados los autorizadores de Lambda en la API, los registros indican si la solicitud está autorizada e incluyen los ID del autorizador y de la solicitud.

Ejemplo de registros autorizados:

Starting authorizer: 62mgrc for request: 3323ffe5-6ddf-45c8-896a-b45ec2284cc0
Successfully completed authorizer execution

Ejemplo de registros no autorizados:

Starting authorizer: 62mgrc for request: fd443056-60d0-425f-874e-e93e5d61351e
Unauthorized request: fd443056-60d0-425f-874e-e93e5d61351e

Planes de uso

Una vez que el autorizador de Lambda registre, API Gateway verifica el plan de uso de la solicitud de la API. Si no se ha configurado un plan de uso, las solicitudes de API no se contabilizan para la restricción de la limitación.

Ejemplo de registros del plan de uso:

Verifying Usage Plan for request: 3323ffe5-6ddf-45c8-896a-b45ec2284cc0. API Key: API Stage: <api_id>/<stage>
API Key authorized because method 'GET /' does not require API Key. Request will not contribute to throttle or quota limits
Usage Plan check succeeded for API Key and API Stage <api_id>/<stage>

Si configuró las API con claves de API pero falta el encabezado X-API-Key, los registros devuelven un error similar al que se muestra a continuación:

API Key not authorized because method 'GET /' requires API Key and API 
Key is not associated with a Usage Plan for API Stage 
<api_id>/<stage>: API Key was required but not present

Si agregó la clave de API correcta en el encabezado, pero la solicitud está restringida, los registros devuelven un error similar al que se muestra a continuación:

API Key **********************************FGQes7 exceeded throttle limit for API Stage <api_id>/<stage>: Key throttle limit exceeded for Usage Plan ID iwuzkt. Limit: 5.00 Burst: 0
Method completed with status: 429

Tipos de registro de solicitudes

Nota: Todos los tipos de registro de solicitudes requieren activar la opción Log full requests/responses data (Registrar datos completos de solicitudes/respuestas) en los registros de ejecución.

Registros de solicitudes de métodos

Los registros de solicitudes de métodos incluyen información detallada recibida por una solicitud de API, que incluye la ruta de la solicitud, el parámetro de consulta y el encabezado y el cuerpo de la solicitud.

Registros de solicitudes de puntos de conexión

Los registros de solicitudes de puntos de conexión incluyen información detallada recibida por una solicitud de API, que incluye la URI y los encabezados y el cuerpo de la solicitud.

Los datos que se incluyen en las solicitudes de puntos de conexión se envían a la integración de backend para su posterior procesamiento.

Registros de respuestas de puntos de conexión

Los registros de respuestas de puntos de conexión incluyen los datos devueltos por la integración de backend, que incluyen el código de estado, el cuerpo de los encabezados y la latencia de la integración.

Registros de respuestas de métodos

Los registros de respuestas de métodos incluyen los encabezados y el cuerpo enviados al cliente después de la transformación.

Importante: API Gateway limita los eventos de registro a 1024 bytes. API Gateway trunca los eventos de registro que superan los 1024 bytes, como los cuerpos de las solicitudes y las respuestas, antes de enviarlos a los registros de CloudWatch.


Información relacionada

¿Cómo se puede solucionar el problema que supone la falta de registros de CloudWatch para las API de REST de API Gateway?

Configuración del registro de CloudWatch para una API de REST en API Gateway

Monitoreo de la ejecución de la API de REST con métricas de Amazon CloudWatch

Monitoreo de la ejecución de la API de WebSocket con métricas de CloudWatch

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año