

# Registro y monitoreo en Amazon API Gateway
<a name="security-monitoring"></a>

El monitoreo es una parte importante para mantener la fiabilidad, la disponibilidad y el rendimiento de API Gateway y sus soluciones de AWS. Debe recopilar datos de monitoreo de todas las partes de su solución de AWS para que pueda depurar un error de varios puntos de una forma más fácil en caso de producirse. AWS proporciona varias herramientas para monitorear sus recursos de API Gateway y responder a posibles incidentes.

**Amazon CloudWatch Logs**  
Para ayudarle a depurar problemas relacionados con la ejecución de solicitudes o el acceso de clientes a la API, puede habilitar CloudWatch Logs para registrar las llamadas a la API. Para obtener más información, consulte [Configuración del registro de CloudWatch para las API de REST en API Gateway](set-up-logging.md).

**Alarmas de Amazon CloudWatch**  
Las alarmas de Amazon CloudWatch le permiten ver una sola métrica durante el período de tiempo que especifique. Si la métrica supera un límite determinado, se envía una notificación a un tema de Amazon Simple Notification Service o a una política de AWS Auto Scaling. Las alarmas de CloudWatch no invocan acciones cuando una métrica se encuentra en un estado determinado. En su lugar, el estado debe haber cambiado y debe mantenerse durante el número de periodos especificado. Para obtener más información, consulte [Supervisión de la ejecución de la API de REST con métricas de Amazon CloudWatch](monitoring-cloudwatch.md).

**Registro de acceso a Firehose**  
Para ayudar a depurar los problemas relacionados con el acceso de los clientes a la API, puede habilitar Firehose para registrar las llamadas a la API. Para obtener más información, consulte [Registro de llamadas a la API en Amazon Data Firehose en API Gateway](apigateway-logging-to-kinesis.md).

**AWS CloudTrail**  
CloudTrail proporciona un registro de las medidas adoptadas por un usuario, un rol o un servicio de AWS en API Gateway. Mediante la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a API Gateway, la dirección IP de origen desde la que se realizó, quién la realizó y cuándo, etc. Para obtener más información, consulte [Registro de llamadas a las API de Amazon API Gateway con AWS CloudTrail](cloudtrail.md). 

**AWS X-Ray**  
X-Ray es un servicio de AWS que recopila datos sobre las solicitudes que la aplicación atiende y los utiliza para crear un mapa de servicios que puede usar para identificar problemas con la aplicación y oportunidades de optimización. Para obtener más información, consulte [Configuración de AWS X-Ray con las API de REST de API Gateway](apigateway-enabling-xray.md). 

**AWS Config**  
AWS Config proporciona una vista detallada de la configuración de los recursos de AWS de su cuenta. Puede observar las relaciones entre los recursos, obtener un historial de los cambios de configuración y comprobar cómo cambian las relaciones y configuraciones con el paso del tiempo. Puede utilizar AWS Config para definir reglas que evalúen la conformidad de los datos de estas configuraciones de recursos. Las reglas de AWS Config representan las opciones de configuración ideales para sus recursos de API Gateway. Si un recurso infringe una regla y está marcado como no conforme, AWS Config puede avisarle mediante un tema de Amazon Simple Notification Service (Amazon SNS). Para obtener información, consulte [Monitoreo de la configuración de la API de API Gateway con AWS Config](apigateway-config.md). 

# Registro de llamadas a las API de Amazon API Gateway con AWS CloudTrail
<a name="cloudtrail"></a>

Amazon API Gateway está integrado con [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html), un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un Servicio de AWS. CloudTrail captura las llamadas a la API de REST de servicio de API Gateway como eventos. Las llamadas capturadas incluyen las llamadas desde la consola de API Gateway y las llamadas de código a las API de servicio de API Gateway. Mediante la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a API Gateway, la dirección IP desde la que se realizó, cuándo se realizó y detalles adicionales.

**nota**  
[TestInvokeAuthorizer](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-authorizer.html) y [TestInvokeMethod](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html) no se registran en CloudTrail.

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:
+ Si la solicitud se realizó con las credenciales del usuario raíz o del usuario.
+ Si la solicitud se realizó en nombre de un usuario de IAM Identity Center.
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro Servicio de AWS.

CloudTrail está activado en la Cuenta de AWS cuando usted crea la cuenta y tiene acceso automático al **Historial de eventos** de CloudTrail. El **Historial de eventos** de CloudTrail proporciona un registro visible e inmutable, que se puede buscar y descargar, de los últimos 90 días de eventos de gestión registrados en una Región de AWS. Para obtener más información, consulte [Trabajar con el historial de eventos de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) en la *Guía del usuario de AWS CloudTrail*. No se cobran cargos de CloudTrail por ver el **Historial de eventos**.

Para mantener un registro permanente de los eventos en su Cuenta de AWS más allá de los 90 días, cree un registro de seguimiento o un almacén de datos de eventos de [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

**Registros de seguimiento de CloudTrail**  
Un *registro de seguimiento* permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. Todos los registros de seguimiento que cree con la Consola de administración de AWS son de varias regiones. Puede crear un registro de seguimiento de una sola región o de varias regiones mediante la AWS CLI. Se recomienda crear un registro de seguimiento de varias regiones, ya que registra actividad en todas las Regiones de AWS de su cuenta. Si crea un registro de seguimiento de una sola región, solo podrá ver los eventos registrados en la Región de AWS del registro de seguimiento. Para obtener más información acerca de los registros de seguimiento, consulte [Creación de un registro de seguimiento para su Cuenta de AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) y [Creación de un registro de seguimiento para una organización](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) en la *Guía del usuario de AWS CloudTrail*.  
Puede crear un registro de seguimiento para enviar una copia de los eventos de administración en curso en su bucket de Amazon S3 sin costo alguno desde CloudTrail; sin embargo, hay cargos por almacenamiento en Amazon S3. Para obtener más información sobre los precios de CloudTrail, consulte [Precios de AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/). Para obtener información acerca de los precios de Amazon S3, consulte [Precios de Amazon S3](https://aws.amazon.com/s3/pricing/).

**Almacenes de datos de eventos de CloudTrail Lake**  
*CloudTrail Lake* le permite ejecutar consultas basadas en SQL sobre los eventos. CloudTrail Lake convierte los eventos existentes en formato JSON basado en filas al formato [ORC de Apache](https://orc.apache.org/). ORC es un formato de almacenamiento en columnas optimizado para una recuperación rápida de datos. Los eventos se agregan en *almacenes de datos de eventos*, que son recopilaciones inmutables de eventos en función de criterios que se seleccionan aplicando [selectores de eventos avanzados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors). Los selectores que se aplican a un almacén de datos de eventos controlan los eventos que perduran y están disponibles para la consulta. Para obtener más información acerca de CloudTrail Lake, consulte [Trabajar con AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) en la *Guía del usuario de AWS CloudTrail*.  
Los almacenes de datos de eventos de CloudTrail Lake y las consultas generan costos adicionales. Cuando crea un almacén de datos de eventos, debe elegir la [opción de precios](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option) que desee utilizar para él. La opción de precios determina el costo de la incorporación y el almacenamiento de los eventos, así como el período de retención predeterminado y máximo del almacén de datos de eventos. Para obtener más información sobre los precios de CloudTrail, consulte [Precios de AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/).

## Eventos de administración de API Gateway en CloudTrail
<a name="cloudtrail-management-events"></a>

Los [eventos de administración](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) proporcionan información sobre las operaciones de administración que se realizan en los recursos de su Cuenta de AWS. Se denominan también operaciones del plano de control. CloudTrail registra los eventos de administración de forma predeterminada.

Amazon API Gateway registra todas las acciones de API Gateway como eventos de administración, excepto [TestInvokeAuthorizer](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-authorizer.html) y [TestInvokeMethod](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html). Para obtener una lista de las acciones de Amazon API Gateway que API Gateway registra en CloudTrail, consulte la [Referencia de la API de Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html).

## Ejemplo de evento de API Gateway
<a name="cloudtrail-event-examples"></a>

Un evento representa una única solicitud de cualquier origen e incluye información sobre la operación de la API solicitada, la fecha y la hora de la operación o los parámetros de la solicitud, entre otras cosas. Los archivos de registro de CloudTrail no rastrean el orden en la pila de las llamadas a la API públicas, por lo que los eventos no aparecen en un orden específico.

En el ejemplo siguiente se muestra un evento de CloudTrail que demuestra la acción `GetResource` de API Gateway:

```
{
    Records: [
        {
            eventVersion: "1.03",
            userIdentity: {
                type: "Root",
                principalId: "AKIAI44QH8DHBEXAMPLE",
                arn: "arn:aws:iam::123456789012:root",
                accountId: "123456789012",
                accessKeyId: "AKIAIOSFODNN7EXAMPLE",
                sessionContext: {
                    attributes: {
                        mfaAuthenticated: "false",
                        creationDate: "2015-06-16T23:37:58Z"
                    }
                }
            },
            eventTime: "2015-06-17T00:47:28Z",
            eventSource: "apigateway.amazonaws.com",
            eventName: "GetResource",
            awsRegion: "us-east-1",
            sourceIPAddress: "203.0.113.11",
            userAgent: "example-user-agent-string",
            requestParameters: {
                restApiId: "3rbEXAMPLE",
                resourceId: "5tfEXAMPLE",
                template: false
            },
            responseElements: null,
            requestID: "6d9c4bfc-148a-11e5-81b6-7577cEXAMPLE",
            eventID: "4d293154-a15b-4c33-9e0a-ff5eeEXAMPLE",
            readOnly: true,
            eventType: "AwsApiCall",
            recipientAccountId: "123456789012"
        },
        ... additional entries ...
    ]
}
```

Para obtener información sobre el contenido de los registros de CloudTrail, consulte [Contenido de los registros de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html) en la *Guía del usuario de AWS CloudTrail*.

# Monitoreo de la configuración de la API de API Gateway con AWS Config
<a name="apigateway-config"></a>

Puede utilizar [AWS Config](https://aws.amazon.com/config/) para registrar cambios de configuración realizados en los recursos de la API de API Gateway y enviar notificaciones en función de los cambios de recursos. Mantener un historial de los cambios de configuración de los recursos de API Gateway es útil para los casos de uso relacionados con la solución de problemas operativos, auditoría y conformidad.

AWS Config puede realizar el seguimiento de cambios realizados en:
+ **Configuración de etapas de la API**, como por ejemplo:
  + configuración del clúster de caché
  + configuración de restricción
  + configuración del registro de acceso
  + la implementación activa definida en la etapa
+ **Configuración de la API**, como por ejemplo:
  + configuración de punto de enlace
  + versión
  + protocolo
  + etiquetas

Además, la característica Reglas de AWS Config le permite definir las reglas de configuración y detectar automáticamente, realizar el seguimiento y alertar cuando se infringen esas reglas. Mediante el seguimiento de los cambios realizados a las propiedades de la configuración de recursos, también puede crear reglas de AWS Config activadas por cambios para los recursos de API Gateway y probar las configuraciones de recursos en función de las prácticas recomendadas.

Puede habilitar AWS Config en su cuenta mediante la consola de AWS Config o la AWS CLI. Seleccione los tipos de recursos en los cuales quiere realizar el seguimiento de los cambios. Si anteriormente estableció la configuración para que AWS Config registrara todos los tipos de recursos, esos recursos de API Gateway se registran de forma automática en la cuenta. El soporte para Amazon API Gateway en AWS Config está disponible en todas las regiones públicas AWS y AWS GovCloud (US). Para ver la lista completa de las regiones admitidas, consulte [Puntos de conexión y cuotas de Amazon API Gateway](https://docs.aws.amazon.com/general/latest/gr/apigateway.html) en la Referencia general de AWS.

**Topics**
+ [Tipos de recursos admitidos](#apigateway-config-resources-rules)
+ [Configuración de AWS Config](#apigateway-config-setup)
+ [Configuración AWS Config para registrar recursos de API Gateway](#apigateway-config-configuring)
+ [Visualización de los detalles de configuración de API Gateway en la consola de AWS Config](#apigateway-config-console)
+ [Evaluación de recursos de API Gateway mediante las reglas de AWS Config](#apigateway-config-rules)

## Tipos de recursos admitidos
<a name="apigateway-config-resources-rules"></a>

Los siguientes tipos de recursos de API Gateway se integran con AWS Config y se documentan en [Tipos de recursos de AWS Config admitidos por AWS y relaciones de recursos](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html):
+ `AWS::ApiGatewayV2::Api` (WebSocket y API HTTP)
+ `AWS::ApiGateway::RestApi` (API REST)
+ `AWS::ApiGatewayV2::Stage` (WebSocket y etapa de API HTTP)
+ `AWS::ApiGateway::Stage` (Etapa de API de REST)

Para obtener más información sobre AWS Config, consulte la [Guía para desarrolladores de AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/). Para obtener información acerca de los precios, consulte la [página de información sobre precios de AWS Config](https://aws.amazon.com/config/pricing/).

**importante**  
Si cambia cualquiera de las siguientes propiedades de API una vez que se implementa la API, es *necesario* [volver a implementar](how-to-deploy-api.md) la API para propagar los cambios. De lo contrario, verá los cambios de atributo en la consola de AWS Config, pero la configuración de la propiedad anterior seguirá estando en vigor; el comportamiento de tiempo de ejecución de la API permanecerá inalterado.  
**`AWS::ApiGateway::RestApi`** – `binaryMediaTypes`, `minimumCompressionSize`, `apiKeySource`
**`AWS::ApiGatewayV2::Api`** – `apiKeySelectionExpression`

## Configuración de AWS Config
<a name="apigateway-config-setup"></a>

Para configurar AWS Config inicialmente, consulte los temas siguientes en la [Guía de desarrollador de AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/).
+ [Configuración AWS Config con la consola](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)
+ [Configuración de AWS Config con la AWS CLI](https://docs.aws.amazon.com/config/latest/developerguide/gs-cli.html)

## Configuración AWS Config para registrar recursos de API Gateway
<a name="apigateway-config-configuring"></a>

De forma predeterminada, AWS Config registra los cambios de configuración de todos los tipos de recursos regionales admitidos que descubre en la región en la que se ejecuta el entorno. Puede personalizar AWS Config de forma que únicamente registre los cambios de determinados tipos de recursos o los cambios de los recursos globales.

Para obtener más información acerca de los recursos regionales y globales, así como el procedimiento de personalización de la configuración de AWS Config, consulte [Selección de los recursos que debe registrar AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).

## Visualización de los detalles de configuración de API Gateway en la consola de AWS Config
<a name="apigateway-config-console"></a>

Puede utilizar la consola de AWS Config para buscar recursos de API Gateway y obtener datos actuales e históricos sobre sus configuraciones. El siguiente procedimiento muestra cómo buscar información sobre una API de API Gateway.

**Para buscar un recurso de API Gateway en la consola de AWS Config**

1. Abra la [consola de AWS Config](https://console.aws.amazon.com/config).

1. Elija **Resources (Recursos)**.

1. En la página **Resource inventory**, elija **Resources**.

1. Abra el menú **Resource type (Tipo de recurso)**, vaya a APIGateway o APIGatewayV2 y elija uno o varios tipos de recursos de API Gateway.

1. Elija **Look up (Buscar)**.

1. Elija un ID de recurso en la lista de recursos que muestra AWS Config. AWS Config muestra detalles de configuración y otra información sobre el recurso que ha seleccionado.

1. Para ver todos los detalles de la configuración registrada, elija **View Details (Ver detalles)**.

Para conocer otras maneras de buscar un recurso y ver información en esta página, consulte [Visualización de historial y configuraciones de recursos de AWS](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource.html) en la Guía del desarrollador de AWS Config.

## Evaluación de recursos de API Gateway mediante las reglas de AWS Config
<a name="apigateway-config-rules"></a>

Puede crear reglas de AWS Config que representarán la configuración ideal para sus recursos de API Gateway. Puede utilizar [reglas administradas de AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) o definir reglas personalizadas. AWS Config realiza un seguimiento constante de los cambios de configuración de los recursos para determinar si estos cambios infringen cualquiera de las condiciones de las reglas. La consola de AWS Config muestra el estado de conformidad de sus reglas y recursos.

Si un recurso infringe una regla y está marcado como no conforme, AWS Config puede avisarle mediante un tema de la [Guía de desarrollador de Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/) (Amazon SNS). Para consumir mediante programación los datos de estas alertas de AWS Config, utilice una cola de Amazon Simple Queue Service (Amazon SQS) como punto de enlace de notificación para el tema Amazon SNS.

Para obtener más información acerca de cómo configurar y utilizar reglas, consulte [Evaluación de recursos con reglas](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) en la [Guía para desarrolladores de AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/). 