¿Cómo puedo activar los registros de CloudWatch para solucionar problemas con mi API de REST o API de WebSocket de API Gateway?

5 minutos de lectura
0

Quiero depurar los errores con una API de REST o una API de WebSocket de Amazon API Gateway que estoy creando.

Descripción corta

Para solucionar problemas con una API de REST o una API WebSocket de API Gateway, utilice Registros de Amazon CloudWatch. Para obtener información sobre los tipos de formatos de registro, consulte Formatos de registro de CloudWatch para API Gateway.

Nota: Las API HTTP solo admiten el registro de acceso. Para obtener más información, consulte Configuración del registro para las API HTTP en API Gateway.

Puede encontrar la siguiente información en los registros:

Resolución

Creación de un rol de IAM para enviar registros a CloudWatch

Siga estos pasos:

  1. Abra la consola de AWS Identity and Access Management (IAM).
  2. En el panel de navegación, seleccione Roles.
  3. En el panel Roles, elija Crear rol.
  4. En la página Crear rol, introduzca la siguiente información:
    En Entidad de confianza, elija Servicio de AWS.
    Para el caso de uso, elija API Gateway y, a continuación, elija el botón de opción API Gateway.
    Seleccione Siguiente.
  5. En Políticas de permisos, utilice la política administrada de AWS AmazonAPIGatewayPushToCloudWatchLogs predeterminada, que tiene todos los permisos necesarios.
  6. Seleccione Siguiente.
  7. En Nombrar, revisar y crear, introduzca la siguiente información:
    En Nombre de rol, introduzca un nombre para el rol.
    (Opcional) Para Descripción del rol, edite la descripción según sus preferencias.
    (Opcional) Añada etiquetas.
    Seleccione Crear rol.
  8. En el panel Roles, elija el rol que ha creado.
  9. En el panel Resumen, anote el ARN del rol que se usará en la siguiente sección.

Para obtener información sobre los permisos, consulte Permisos para el registro de CloudWatch.

Adición del rol de IAM en la consola de API Gateway

Siga estos pasos:

  1. Abra la consola de API Gateway.
  2. En el panel de API, elija el nombre de la API de REST o la API de WebSocket, no el de la API HTTP.
  3. En el panel de navegación, seleccione Configuración.
  4. En Configuración, introduzca el ARN del rol de IAM como ARN de rol de registro de CloudWatch.
    Nota: El rol de registros de CloudWatch es una configuración a nivel regional de AWS que se usa con todas las API de la región.
  5. Seleccione Guardar.

Nota: Si crea varias API en diferentes regiones, complete los pasos anteriores en cada región.

Activación del registro de la API y organización de la API

Siga estos pasos:

  1. Abra la consola de API Gateway.
  2. En el panel de navegación, seleccione API y, a continuación, elija su API.
  3. En el panel de navegación, elija Etapas y, a continuación, seleccione su proxy.
  4. En Registros y seguimiento, seleccione Editar.
  5. En Registros de CloudWatch, seleccione un nivel en el menú desplegable.
    Nota: Para ver los registros completos de solicitudes y respuestas, seleccione la opción Seguimiento de datos con el nivel de registro establecido en Registros de errores e información. Se recomienda no activar el seguimiento de datos para las API de producción, ya que puede registrar datos confidenciales.
  6. Elija Métricas detalladas.
  7. En Registro de acceso personalizado, complete los pasos siguientes:
    Seleccione Habilitar el registro de acceso.
    En Acceder al ARN del registro del destino, introduzca el ARN de un grupo de registro de Amazon Data Firehose o CloudWatch.
    Nota: Solo las API de REST admiten el ARN de Firehose.
  8. Introduzca un formato de registro.
  9. Seleccione Guardar cambios.

Probar la configuración de los registros

Nota: Para enviar una nueva solicitud a su API, use la aplicación del cliente o herramientas como la aplicación Postman o wscat para las API de WebSocket.

Siga estos pasos:

  1. Abra la consola de CloudWatch.
  2. En el panel de navegación, en Registros, elija Grupos de registros.
  3. En Grupos de registros, seleccione el grupo de registros de la API que quiere depurar:
    En el caso de las API de REST, el nombre del grupo de registro está en el formato API-Gateway-Execution-Logs_apiId/stageName.
    En el caso de las API de WebSocket, el nombre del grupo de registro está en el formato /aws/apigateway/apiId/stageName.
    Nota: Los registros de acceso se encuentran en el grupo de registro que especificó al activar los registros de acceso.
  4. En la lista Secuencias de registro, seleccione la secuencia de registro con la última hora del último evento para ver los mensajes con los detalles de su solicitud.

Información relacionada

Plantilla de asignación de API Gateway y referencia de variable de registro de acceso

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

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