¿Cómo puedo utilizar AWS CloudTrail para realizar un seguimiento de las llamadas a la API de mis instancias de Amazon EC2?

5 minutos de lectura
0

Quiero realizar un seguimiento de las llamadas a la API que ejecutan, detienen, inician y finalizan mis instancias de Amazon Elastic Compute Cloud (Amazon EC2). ¿Cómo busco llamadas de la API a mis instancias de Amazon EC2 con AWS CloudTrail?

Breve descripción

AWS CloudTrail le permite identificar y realizar un seguimiento de cuatro tipos de llamadas a la API (tipos de eventos) realizadas a su cuenta de AWS:

Para revisar estos tipos de llamadas a la API después de que se hayan realizado en su cuenta, puede usar cualquiera de los siguientes métodos.

Nota: Puede ver el historial de eventos de su cuenta de hasta los últimos 90 días.

Resolución

Realizar un seguimiento de las llamadas a la API mediante el historial de eventos de CloudTrail

1.    Abra la consola de CloudTrail.

2.    Seleccione Event history (Historial de eventos).

  1.    En Filter (Filtrar), seleccione Event name (Nombre del evento) en la lista desplegable.

4.    En Enter event name (Introducir el nombre del evento), indique el tipo de evento que desea buscar. A continuación, elija el tipo de evento.

5.    En Time range (Intervalo de tiempo), introduzca el intervalo de tiempo deseado para el que quiere realizar un seguimiento del tipo de evento.

6.    Elija Apply (Aplicar).

Para obtener más información, consulte Viewing events with CloudTrail event history (Visualización de eventos con el historial de eventos de CloudTrail) y Viewing Cloudtrail events in the CloudTrail console (Visualización de eventos de CloudTrail en la consola de CloudTrail).

Realizar un seguimiento de las llamadas a la API mediante consultas de Amazon Athena

Siga las instrucciones que se indican en How do I automatically create tables in Amazon Athena to search through AWS CloudTrail logs? (¿Cómo creo tablas de forma automática en Amazon Athena para buscar en los registros de AWS CloudTrail?)

A continuación se muestran ejemplos de consultas para la llamada a la API RunInstances. Puede utilizar consultas similares para cualquiera de los tipos de eventos admitidos.

Importante: Sustituya cloudtrail-logs por el nombre de su tabla de Athena antes de ejecutar cualquiera de los siguientes ejemplos de consultas.

Ejemplo de consulta que devuelve toda la información de eventos disponible para la llamada a la API RunInstances

SELECT *
FROM cloudtrail-logs
WHERE eventName = 'RunInstances'

Ejemplo de consulta que devuelve información de eventos filtrada para la llamada a la API RunInstances

SELECT userIdentity.username, eventTime, eventName
FROM cloudtrail-logs
WHERE eventName = 'RunInstances'

Ejemplo de consulta que devuelve información de eventos de las API que terminan con la cadena «Instances» desde un momento determinado hasta la fecha actual

Importante: Sustituya «2021-07-01T00:00:01Z» por el momento concreto del que desee obtener información del evento.

SELECT userIdentity.username, eventTime, eventName
FROM cloudtrail-logs
WHERE (eventName LIKE '%Instances') AND eventTime > '2021-07-01T00:00:01Z'

Realizar un seguimiento de las llamadas a la API mediante los registros archivados de Amazon CloudWatch en Amazon Simple Storage Service (Amazon S3)

Importante: Para registrar eventos en un bucket de Amazon S3, primero debe crear un registro de seguimiento de CloudWatch.

1.    Acceda a los archivos de registro de CloudTrail siguiendo las instrucciones que se indican en Finding your CloudTrail log files (Búsqueda de archivos de registro de CloudTrail).

2.    Descargue los archivos de registro siguiendo las instrucciones que se indican en Downloading your CloudTrail log files (Descarga de archivos de registro de CloudTrail).

3.    Busque en los registros los tipos de eventos de los que desee realizar el seguimiento mediante jq u otro procesador de línea de comandos JSON.

Ejemplo del procedimiento jq para buscar registros de CloudWatch descargados de Amazon S3 para tipos de eventos específicos

1.    Abra una terminal de Bash. A continuación, cree el siguiente directorio para almacenar los archivos de registro:

$ mkdir cloudtrail-logs

4.    Navegue hasta el nuevo directorio. A continuación, descargue los registros de CloudTrail ejecutando el siguiente comando:

Importante: Sustituya el ejemplo my_cloudtrail_bucket por su bucket de Amazon S3.

$ cd cloudtrail-logs

$ aws s3 cp s3://my_cloudtrail_bucket/AWSLogs/012345678901/CloudTrail/eu-west-1/2019/08/07 ./ --recursive

5.    Descomprima los archivos de registro ejecutando el siguiente comando gzip:

Importante: Sustituya * por el nombre del archivo que desea descomprimir.

$ gzip -d *

6.    Ejecute una consulta jq para los tipos de eventos que desea buscar.

Ejemplo de consulta jq que devuelve toda la información de eventos disponible para la llamada a la API RunInstances

cat * | jq '.Records[] | select(.eventName=="RunInstances")'

Ejemplo de consulta jq que devuelve toda la información de eventos disponible para las llamadas a la API StopInstances y TerminateInstances

cat * | jq '.Records[] | select(.eventName=="StopInstances" or .eventName=="TerminateInstances" )'

Información relacionada

How can I use CloudTrail to review what API calls and actions have occurred in my AWS account? (¿Cómo puedo usar CloudTrail para revisar qué llamadas y acciones a la API se han producido en mi cuenta de AWS?)

Creación de métricas a partir de eventos de registro mediante filtros

AWS Config console now displays API events associated with configuration changes (La consola de AWS Config ahora muestra los eventos de la API asociados a los cambios de configuración)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años