Consultar logs de fluxo do AWS Global Accelerator - Amazon Athena

Consultar logs de fluxo do AWS Global Accelerator

É possível usar o AWS Global Accelerator para criar aceleradoras que direcionam o tráfego de rede para endpoints ideais na rede global da AWS. Para obter mais informações sobre o Global Accelerator, consulte What is AWS Global Accelerator? (O que é o ?).

Os logs de fluxo do Global Accelerator permitem que você capture as informações sobre o tráfego de endereço IP que entra e sai das interfaces de rede em suas aceleradoras. Os dados do log de fluxo são publicados no Amazon S3, de onde é possível recuperá-los e visualizá-los. Para obter mais informações, consulte Flow logs in AWS Global Accelerator (Logs de fluxo do ).

É possível usar o Athena para consultar os logs de fluxo do Global Accelerator criando uma tabela que especifica o local deles no Amazon S3.

Para criar a tabela de logs de fluxo do Global Accelerator
  1. Copie e cole a instrução DDL a seguir no console do Athena. Esta consulta especifica ROW FORMAT DELIMITED e omite a especificação de um SerDe, o que significa que a consulta usa LazySimpleSerDe. Nesta consulta, os campos terminam com um espaço.

    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 o valor LOCATION para apontar para o bucket do Amazon S3 que contém os dados de log.

    's3://DOC-EXAMPLE-BUCKET/prefix/AWSLogs/account_id/globalaccelerator/region_code/'
  3. Execute a consulta no console do Athena. Depois que a consulta for concluída, o Athena registrará a tabela aga_flow_logs, disponibilizando os dados dela para consultas.

  4. Crie partições para ler os dados, conforme a consulta de exemplo a seguir. Esta consulta cria uma única partição para uma data especificada. Substitua os espaços reservados por data e local.

    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';

Consultas de exemplo para logs de fluxo do AWS Global Accelerator

exemplo – Listar as solicitações que passam por um local da borda específico

A consulta de exemplo a seguir lista as solicitações que passaram pelo ponto de presença do LHR. Use o operador LIMIT para limitar o número de logs a serem consultados por vez.

SELECT clientip, agaregion, protocol, action FROM aga_flow_logs WHERE agaregion LIKE 'LHR%' LIMIT 100;
exemplo – Listar os endereços IP dos endpoints que recebem a maioria das solicitações HTTPS

Para ver quais endereços IP do endpoint estão recebendo o maior número de solicitações HTTPS, use a seguinte consulta. Esta consulta conta o número de pacotes recebidos na porta HTTPS 443, agrupa-os por endereço IP de destino e retorna os 10 principais endereços IP.

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