

# Consulta de registros de flujo de AWS Global Accelerator
<a name="querying-global-accelerator-flow-logs"></a>

Puede utilizar AWS Global Accelerator para crear aceleradores que dirijan el tráfico de red a los puntos de conexión óptimos a través de la red global de AWS. Para obtener más información sobre Global Accelerator, consulte [Qué es AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html).

Los registros de flujo de Global Accelerator le permiten capturar información acerca del tráfico de direcciones IP entrante y saliente de las interfaces de red de los aceleradores. Los datos de registro de flujo se publican en Amazon S3, donde puede recuperar y ver los datos. Para obtener más información, consulte [Registros de flujo de AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html).

Puede utilizar Athena para consultar los registros de flujo de Global Accelerator mediante la creación de una tabla que especifique su ubicación en Amazon S3.

**Para crear la tabla de los registros de flujo de Global Accelerator**

1. Copie y pegue la siguiente instrucción DDL en la consola de Athena. Esta consulta especifica *ROW FORMAT DELIMITED (formato de columna delimitado)* y omite la especificación de [SerDe](serde-reference.md), lo que significa que la consulta utiliza [`LazySimpleSerDe`](lazy-simple-serde.md). En esta consulta los campos terminan con un espacio.

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS aga_flow_logs (
     version string,
     account string,
     acceleratorid string,
     clientip string,
     clientport int,
     gip string,
     gipport int,
     endpointip string,
     endpointport int,
     protocol string,
     ipaddresstype string,
     numpackets bigint,
     numbytes int,
     starttime int,
     endtime int,
     action string,
     logstatus string,
     agasourceip string,
     agasourceport int,
     endpointregion string,
     agaregion string,
     direction string,
     vpc_id string,
     reject_reason string
   )
   PARTITIONED BY (dt string)
   ROW FORMAT DELIMITED
   FIELDS TERMINATED BY ' '
   LOCATION 's3://amzn-s3-demo-bucket/prefix/AWSLogs/account_id/globalaccelerator/region/'
   TBLPROPERTIES ("skip.header.line.count"="1");
   ```

1. Modifique el valor `LOCATION` para que apunte al bucket de Amazon S3 que contiene los datos de registro.

   ```
   's3://amzn-s3-demo-bucket/{{prefix}}/AWSLogs/{{account_id}}/globalaccelerator/{{region_code}}/'
   ```

1. Ejecute la consulta en la consola de Athena. Cuando la consulta finaliza, Athena registra la tabla `aga_flow_logs` y los datos que contiene quedan disponibles para efectuar consultas.

1. Cree particiones para leer los datos, tal y como se indica en la siguiente consulta de ejemplo. La consulta crea una sola partición para la fecha especificada. Sustituya los marcadores de posición de fecha y ubicación.

   ```
   ALTER TABLE aga_flow_logs
   ADD PARTITION (dt={{'YYYY-MM-dd}}')
   LOCATION 's3://amzn-s3-demo-bucket/{{prefix}}/AWSLogs/{{account_id}}/globalaccelerator/{{region_code}}/{{YYYY}}/{{MM}}/{{dd}}';
   ```

## Ejemplos de consulta de registros de flujo de AWS Global Accelerator
<a name="querying-global-accelerator-flow-logs-examples"></a>

**Example – Enumera las solicitudes que pasan a través de una ubicación de borde específica**  
En la siguiente consulta de ejemplo se enumeran las solicitudes que pasaron a través de la ubicación periférica LHR. Utilice el operador `LIMIT` para limitar el número de registros que devuelve la consulta a la vez.  

```
SELECT 
  clientip, 
  agaregion, 
  protocol, 
  action 
FROM 
  aga_flow_logs 
WHERE 
  agaregion LIKE 'LHR%' 
LIMIT 
  100;
```

**Example – Enumera las direcciones IP del punto de conexión que reciben la mayor cantidad de solicitudes HTTPS**  
Para ver qué direcciones IP de punto de conexión reciben el mayor número de solicitudes HTTPS, utilice la siguiente consulta. Esta consulta cuenta el número de paquetes recibidos en el puerto HTTPS 443, los agrupa según la dirección IP de destino, y devuelve las 10 direcciones IP principales.  

```
SELECT 
  SUM(numpackets) AS packetcount, 
  endpointip 
FROM 
  aga_flow_logs 
WHERE 
  endpointport = 443 
GROUP BY 
  endpointip 
ORDER BY 
  packetcount DESC 
LIMIT 
  10;
```