Consulta de los registros de flujo de AWS Global Accelerator - Amazon Athena

Consulta de los registros de flujo de AWS Global Accelerator

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.

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.

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, lo que significa que la consulta utiliza LazySimpleSerDe. 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 ) PARTITIONED BY (dt string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LOCATION 's3://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region/' TBLPROPERTIES ("skip.header.line.count"="1");
  2. Modifique el valor LOCATION para que apunte al bucket de Amazon S3 que contiene los datos de registro.

    's3://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region_code/'
  3. 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.

  4. 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://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region_code/YYYY/MM/dd';

Ejemplos de consulta de registros de flujo de AWS Global Accelerator

ejemplo – 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;
ejemplo – 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;