Quiero solucionar el motivo por el que no puedo encontrar ningún registro al activar los registros de Amazon CloudWatch para Amazon API Gateway.
Descripción corta
Al configurar el registro de CloudWatch para las API de REST en API Gateway, puedes usar el registro de ejecución y el registro de acceso. API Gateway no registra todos los errores del lado del cliente que rechaza en los registros de ejecución. Por ejemplo, si un cliente realiza una solicitud de API a una ruta de recursos incorrecta de su API de REST, entonces el cliente recibe la siguiente respuesta: "403 Missing Authentication Token". API Gateway no registra este tipo de respuesta en los registros de ejecución. Utiliza el registro de acceso de CloudWatch para solucionar errores del lado del cliente.
Es posible que API Gateway no genere registros para los siguientes errores:
- Errores de "413 Request Entity Too Large"
- Errores de "431 Request Header Fields Too Large"
- Errores de "Excessive 429 Too Many Requests"
- Errores de la serie 400 que se producen porque el cliente envió solicitudes a un dominio personalizado sin asignación de API
- Errores de la serie 500 que se producen debido a errores internos
Para más información, consulta Supervisión de API de REST en API Gateway.
Resolución
Verificación de los permisos de API Gateway para registros de CloudWatch
Para activar los registros de CloudWatch, debes conceder permiso a API Gateway para leer y escribir registros en CloudWatch para tu cuenta de AWS.
Primero, crea un rol de AWS Identity and Access Management (IAM) con apigateway.amazonaws.com como entidad de confianza. A continuación, adjunta la política gestionada de AWS AmazonAPIGatewayPushToCloudWatchLogs al rol. Configura el rol de Amazon Resource Name (ARN) en cloudwatchRoleArn para la cuenta.
Ejemplo de política:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"logs:FilterLogEvents"
],
"Resource": "*"
}
]
}
Nota: Asegúrate de activar AWS Security Token Service (AWS STS) en tu región de AWS. Además, confirma que has activado el rol de IAM en todas las regiones en las que quieres activar los registros de CloudWatch.
Para más información, consulta Activación y desactivación de AWS STS en una región de AWS y Permisos para el registro de CloudWatch.
Verificación de la configuración de registros de API Gateway
Comprueba que has configurado correctamente el registro de ejecución o acceso de CloudWatch para API Gateway.
Nota: Puedes activar el registro de ejecución y el registro de acceso de forma independiente.
Sigue estos pasos:
- Abre la consola de API Gateway.
- En el panel de navegación, selecciona API.
- Selecciona la API y, a continuación, selecciona Etapas.
- Selecciona tu etapa y, a continuación, elige la pestaña Registros/Seguimiento.
- En Configuración de CloudWatch, selecciona ** Habilitar registros de CloudWatch**.
- Establece el nivel de registro en ERROR e INFORMACIÓN.
Nota: Si configuras el nivel de registro en ERROR, API Gateway solo registra los errores de solicitud y no registra las solicitudes de API correctas.
- Selecciona Seguimiento de datos para activar el registro de seguimiento de datos en tu etapa.
Nota: Se recomienda no activar el seguimiento de datos en las API de producción, ya que API Gateway podría registrar datos confidenciales.
- Para el registro de acceso personalizado, elige Habilitar el registro de acceso.
Verifica tu método de registro
De forma predeterminada, todos los recursos de la API utilizan la misma configuración que la etapa de recursos de API. Si no quieres heredar la etapa, anula este parámetro y establece diferentes configuraciones.
Para verificar el método de registro, sigue estos pasos:
- Abre la consola de API Gateway.
- En el panel de navegación, selecciona API.
- Selecciona la API y, a continuación, selecciona Etapas.
- En Etapas, amplía el nombre de la etapa. Luego elige el método HTTP; por ejemplo, GET.
- En Configuración, selecciona Anular para este método.
Nota: Para realizar cambios adicionales en los registros, actualiza las opciones de configuración necesarias en la sección Configuración de CloudWatch.
- Selecciona Guardar cambios.
Información relacionada
¿Cómo puedo encontrar los errores de la API de REST de la API Gateway en los registros de CloudWatch?
¿Cómo puedo configurar el registro de acceso para API Gateway?
¿Cómo puedo activar los registros de CloudWatch para solucionar problemas con mi API de REST o API de WebSocket de API Gateway?