He activado el registro de Amazon CloudWatch para Amazon API Gateway, pero no he podido encontrar ningún registro.
Descripción corta
Puede usar el registro de CloudWatch para ayudar a depurar problemas relacionados con la ejecución de solicitudes o el acceso de los clientes a su API. El registro de CloudWatch incluye el registro de ejecución y el registro de acceso.
Para el registro de ejecución, API Gateway administra los registros de CloudWatch, incluida la creación de grupos de registro y secuencias de registro. Para el registro de acceso, puede crear sus propios grupos de registro o elegir los grupos de registro existentes.
No todos los errores del lado del cliente rechazados por API Gateway se registran en los registros de ejecución. Por ejemplo, un cliente que realiza una solicitud de API a una ruta de recursos incorrecta de su API de REST devuelve una respuesta 403 con el mensaje «Falta un token de autenticación». Este tipo de respuesta no se registra en los registros de ejecución. Utilice el registro de acceso de CloudWatch para solucionar errores del lado del cliente.
Para obtener más información, consulte Formatos de registro de CloudWatch para API Gateway.
Es posible que API Gateway no genere registros para:
- Errores 413 de entidad de solicitud demasiado grande.
- Excesivos errores 429 de demasiadas solicitudes.
- Errores de la serie 400 de solicitudes enviadas a un dominio personalizado que no tiene asignación de API.
- Errores de la serie 500 causados por fallos internos.
Para obtener más información, consulte Supervisión de las API de REST.
Resolución
Verificación de los permisos de API Gateway para el registro de CloudWatch
Para activar CloudWatch Logs, debe conceder permiso a API Gateway para leer y escribir registros en CloudWatch para su cuenta. La política administrada AmazonAPIGatewayPushToCloudWatchLogs tiene los permisos necesarios.
Cree un rol de AWS Identity and Access Management (IAM) con apigateway.amazonaws.com como entidad de confianza. A continuación, adjunte la siguiente política al rol de IAM y establezca el ARN del rol de IAM en la propiedad cloudWatchRoleArn de su cuenta de AWS:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"logs:FilterLogEvents"
],
"Resource": "*"
}
]
}
Asegúrese de lo siguiente:
- AWS Security Token Service (AWS STS) está activado para su región de AWS. Para obtener más información, consulte Administración de AWS STS en una región de AWS.
- El rol de IAM está activado en todas las regiones de AWS en las que desea activar los registros de CloudWatch.
Para obtener más información, consulte Permisos de registros de CloudWatch.
Verificación de la configuración de registro de API Gateway
Verifique que la configuración de registro de ejecución o acceso de CloudWatch esté activada para API Gateway.
**Nota:**Puede activar el registro de ejecución y el registro de acceso de forma independiente.
- Abra la consola de API Gateway.
- En el panel de navegación, seleccione API.
- Seleccione su API y, a continuación, seleccione Etapas.
- En Etapas, seleccione su etapa y, a continuación, seleccione la pestaña Registros/Seguimiento.
- En la configuración de CloudWatch, compruebe lo siguiente:
La opción Habilitar registros de CloudWatch está seleccionada.
El nivel de registro está establecido en INFO. Nota: Si el nivel de registro se establece en ERROR, solo se registran las solicitudes de errores en API Gateway. Las solicitudes de API correctas no se registran.
Para los datos de registro adicionales, se seleccionan Registrar todos los datos de solicitudes/respuestas y Habilitar métricas detalladas de CloudWatch.
Nota: Se recomienda no habilitar el registro completo de datos de solicitudes/respuestas para las API de producción, lo que puede provocar el registro de datos confidenciales.
- En Registro de acceso personalizado, compruebe que esté seleccionada la opción Habilitar registro de acceso.
Verificación del método de registro y anulación en caso necesario
De forma predeterminada, todos los recursos de la API utilizan las mismas configuraciones que su etapa. Esta configuración se puede anular para tener configuraciones diferentes para cada método si no desea heredar de la etapa.
- Abra la consola de API Gateway.
- En el panel de navegación, seleccione API.
- Seleccione la API y, a continuación, seleccione Etapas.
- En Etapas, amplíe el nombre de la etapa. Luego, elija el método HTTP. Por ejemplo, GET.
- En Configuración, seleccione Anular para este método.
- En la configuración de CloudWatch, lleve a cabo cualquier cambio de registro adicional para su caso de uso si es necesario y, a continuación, seleccione Guardar cambios.
Para obtener más información, consulte Configurar el registro de CloudWatch para una API de REST en API Gateway.
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?