Consultar logs de fluxo usando o Amazon Athena - Amazon Virtual Private Cloud

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Consultar logs de fluxo usando o Amazon Athena

O Amazon Athena é um serviço de consulta interativa que permite analisar dados no Amazon S3, como seus logs de fluxo, usando o SQL padrão. Você pode usar o Athena com o VPC Flow Logs para obter rapidamente insights acionáveis sobre o tráfego que atravessa a sua VPC. Por exemplo, você pode identificar quais recursos em suas virtual private clouds (VPCs) são os principais locutores ou identificar os endereços IP com as conexões TCP mais rejeitadas.

Opções
  • Você pode simplificar e automatizar a integração dos seus registros de fluxo da VPC com o Athena gerando um CloudFormation modelo que cria os AWS recursos necessários e as consultas predefinidas que você pode executar para obter insights sobre o tráfego que flui pela sua VPC.

  • Você pode criar suas próprias consultas usando o Athena. Para obter mais informações, consulte Consulta de logs de fluxo usando o Amazon Athena no Guia do usuário do Amazon Athena.

Definição de preço

Você incorre em cobranças padrão do Amazon Athena pelas consultas feitas. Cobranças padrão da AWS Lambda serão aplicadas à função do Lambda que carrega novas partições em uma programação recorrente (para quando você especifica uma frequência de carregamento de partição, mas deixa de especificar uma data de início e término).

Gere o CloudFormation modelo usando o console

Depois que os primeiros registros de fluxo forem entregues ao seu bucket do S3, você poderá se integrar ao Athena gerando CloudFormation um modelo e usando o modelo para criar uma pilha.

Requisitos
  • A região selecionada deve oferecer suporte ao AWS Lambda Amazon Athena.

  • Os buckets do Amazon S3 devem estar na região selecionada.

  • O formato de registro de log para o log de fluxo deve incluir os campos usados pelas consultas predefinidas específicas que você desejar executar.

Para gerar o modelo usando o console
  1. Execute um destes procedimentos:

    • Abra o console da Amazon VPC. No painel de navegação, escolha Your VPCs (Suas VPCs) e, em seguida, selecione a sua VPC.

    • Abra o console da Amazon VPC. No painel de navegação, escolha Subnets (Sub-redes) e, em seguida, selecione a sua sub-rede.

    • Abra o console do Amazon EC2. No painel de navegação, escolha Network Interfaces (Interfaces de rede) e, em seguida, selecione a sua interface de rede.

  2. Na guia Flow logs (Logs de fluxo), selecione um log de fluxo que publica no Amazon S3 e, em seguida, escolha Actions (Ações) e Generate Athena integration (Gerar integração ao Athena).

  3. Especifique a frequência de carregamento da partição. Se escolher None (Nenhum), você deve especificar as datas de início e término da partição, usando datas do passado. Se escolher Daily (Diário), Weekly (Semanal) ou Monthly (Mensal), as datas de início e término da partição serão opcionais. Se você não especificar as datas de início e término, o CloudFormation modelo cria uma função Lambda que carrega novas partições em uma programação recorrente.

  4. Selecione ou crie um bucket do S3 para o modelo gerado e um bucket do S3 para os resultados da consulta.

  5. Escolha Generate Athena integration (Gerar integração ao Athena).

  6. (Opcional) Na mensagem de sucesso, escolha o link para navegar até o bucket que você especificou para o CloudFormation modelo e personalize o modelo.

  7. Na mensagem de sucesso, escolha Criar CloudFormation pilha para abrir o assistente Criar pilha no AWS CloudFormation console. O URL do CloudFormation modelo gerado é especificado na seção Modelo. Conclua o assistente para criar os recursos especificados no modelo.

Recursos criados pelo CloudFormation modelo
  • Um banco de dados do Athena. O nome do banco de dados é flow-logs-subscription-idvpcflowlogsathenadatabase< >.

  • Um grupo de trabalho do Athena. O nome do grupo de trabalho é < flow-log-subscription-id>< >< data de início >< data de partition-load-frequencytérmino >grupo de trabalho

  • Uma tabela particionada do Athena que corresponde aos seus registros de log de fluxo. O nome da tabela é < flow-log-subscription-id>< >< data de início partition-load-frequency>< data de término >.

  • Um conjunto de consultas nomeadas do Athena. Para obter mais informações, consulte Consultas predefinidas.

  • Uma função do Lambda que carrega novas partições para a tabela de acordo com a programação especificada (diária, semanal ou mensal).

  • Uma função do IAM que concede permissão para executar as funções do Lambda.

Gere o CloudFormation modelo usando o AWS CLI

Depois que os primeiros registros de fluxo forem entregues ao seu bucket do S3, você poderá gerar e usar um CloudFormation modelo para integrar com o Athena.

Use o seguinte comando get-flow-logs-integration-template para gerar o CloudFormation modelo.

aws ec2 get-flow-logs-integration-template --cli-input-json file://config.json

Este é um exemplo do arquivo config.json.

{ "FlowLogId": "fl-12345678901234567", "ConfigDeliveryS3DestinationArn": "arn:aws:s3:::my-flow-logs-athena-integration/templates/", "IntegrateServices": { "AthenaIntegrations": [ { "IntegrationResultS3DestinationArn": "arn:aws:s3:::my-flow-logs-analysis/athena-query-results/", "PartitionLoadFrequency": "monthly", "PartitionStartDate": "2021-01-01T00:00:00", "PartitionEndDate": "2021-12-31T00:00:00" } ] } }

Use o comando create-stack a seguir para criar uma pilha usando o modelo gerado. CloudFormation

aws cloudformation create-stack --stack-name my-vpc-flow-logs --template-body file://my-cloudformation-template.json

Executar uma consulta predefinida

O CloudFormation modelo gerado fornece um conjunto de consultas predefinidas que você pode executar para obter rapidamente informações significativas sobre o tráfego em sua AWS rede. Depois de criar a pilha e verificar se todos os recursos foram criados corretamente, você pode realizar uma das consultas predefinidas.

Para realizar uma consulta predefinida usando o console
  1. Abra o console do Athena.

  2. No painel de navegação, selecione Query editor (Editor de consultas). Em Grupo de trabalho, selecione o grupo de trabalho criado pelo CloudFormation modelo.

  3. Selecione Saved queries (Consultas salvas), selecione uma consulta, modifique os parâmetros conforme necessário e execute a consulta. Para obter uma lista das consultas predefinidas disponíveis, consulte Predefined queries (Consultas predefinidas).

  4. Em Query results (Resultados da consulta), veja os resultados da consulta.

Consultas predefinidas

A seguir, uma lista completa das consultas nomeadas do Athena. As consultas predefinidas fornecidas quando você gera o modelo dependem dos campos que fazem parte do formato de registro de log para o log de fluxo. Assim sendo, o modelo pode não conter todas essas consultas predefinidas.

  • VpcFlowLogsAcceptedTraffic— As conexões TCP que foram permitidas com base em seus grupos de segurança e ACLs de rede.

  • VpcFlowLogsAdminPortTraffic— Os 10 principais endereços IP com mais tráfego, conforme registrado por aplicativos que atendem solicitações em portas administrativas.

  • VpcFlowLogsIPv4Traffic — O total de bytes do tráfego IPv4 registrados.

  • VpcFlowLogsIPv6Traffic — O total de bytes do tráfego IPv6 registrados.

  • VpcFlowLogsRejectedTCPTraffic — As conexões TCP que foram rejeitadas com base em seus grupos de segurança ou ACLs de rede.

  • VpcFlowLogsRejectedTraffic— O tráfego que foi rejeitado com base em seus grupos de segurança ou ACLs de rede.

  • VpcFlowLogsSshRdpTraffic— O tráfego SSH e RDP.

  • VpcFlowLogsTopTalkers— Os 50 endereços IP com mais tráfego registrado.

  • VpcFlowLogsTopTalkersPacketLevel— Os 50 endereços IP em nível de pacote com o maior tráfego registrado.

  • VpcFlowLogsTopTalkingInstances— Os IDs das 50 instâncias com mais tráfego registrado.

  • VpcFlowLogsTopTalkingSubnets— Os IDs das 50 sub-redes com mais tráfego registrado.

  • VpcFlowLogsTopTCPTraffic — Todo o tráfego TCP registrado para um endereço IP de origem.

  • VpcFlowLogsTotalBytesTransferred— Os 50 pares de endereços IP de origem e destino com mais bytes registrados.

  • VpcFlowLogsTotalBytesTransferredPacketNível — Os 50 pares de endereços IP de origem e destino em nível de pacote com o maior número de bytes registrados.

  • VpcFlowLogsTrafficFrmSrcAddr— O tráfego registrado para um endereço IP de origem específico.

  • VpcFlowLogsTrafficToDstAddr— O tráfego registrado para um endereço IP de destino específico.