Realizar consultas en los registros de flujo mediante Amazon Athena - Amazon Virtual Private Cloud

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Realizar consultas en los registros de flujo mediante Amazon Athena

Amazon Athena es un servicio de consulta interactivo que le permite analizar datos en Amazon S3, como los logs de flujo, mediante SQL estándar. Puede utilizar Athena con los logs de flujo de VPC para obtener rápidamente información útil sobre el tráfico que fluye a través de su VPC. Por ejemplo, puede identificar qué recursos de sus nubes privadas virtuales (VPC) son los principales interlocutores o puede identificar las direcciones IP con las conexiones TCP más rechazadas.

Opciones
  • Puede optimizar y automatizar la integración de sus registros de flujo de VPC con Athena mediante la generación de una CloudFormation plantilla que cree AWS los recursos necesarios y las consultas predefinidas que puede ejecutar para obtener información sobre el tráfico que fluye a través de su VPC.

  • Puede crear sus propias consultas con Athena. Para obtener más información, consulte Realizar consultas en los registros de flujo mediante Amazon Athena en la Guía del usuario de Amazon Athena.

Precios

Incurre en cargos estándar de Amazon Athena por ejecutar consultas. Incurre en cargos estándar de AWS Lambda por la función de Lambda que carga nuevas particiones en una programación periódica (cuando especifica una frecuencia de carga de partición pero no especifica una fecha de inicio y finalización).

Genere la CloudFormation plantilla mediante la consola

Una vez que los primeros registros de flujo se entreguen a su bucket de S3, puede integrarlos con Athena generando una CloudFormation plantilla y utilizándola para crear una pila.

Requisitos
  • La región seleccionada debe ser compatible con AWS Lambda Amazon Athena.

  • Los buckets de Amazon S3 deben estar en la región seleccionada.

  • El formato del registro de registro para el registro de flujo debe incluir los campos utilizados por las consultas predefinidas específicas que desea ejecutar.

Para generar la plantilla mediante la consola
  1. Aplique alguna de las siguientes acciones:

    • Abra la consola de Amazon VPC. En el panel de navegación, elija Your VPCs (Sus VPC) y, a continuación seleccione su VPC,

    • Abra la consola de Amazon VPC. En el panel de navegación, elija Subnets (Subredes) y, a continuación, seleccione la suya.

    • Abra la consola de Amazon EC2. En el panel de navegación, elija Network Interfaces (Interfaces de red) y, a continuación, seleccione su interfaz de red.

  2. En la pestaña Flow logs (Logs de flujo) , seleccione un log de flujo que se publique en Amazon S3 y, a continuación, elija Actions (Acciones), Generate Athena integration (Generar integración de Athena).

  3. Especifique la frecuencia de carga de la partición. Si elija None (Ninguno), debe especificar la fecha de inicio y finalización de la partición, utilizando fechas anteriores. Si elija Daily (Diaria), Weekly (Semanal)o Monthly (Mensual), las fechas de inicio y finalización de la partición son opcionales. Si no especifica las fechas de inicio y finalización, la CloudFormation plantilla crea una función Lambda que carga las nuevas particiones de forma periódica.

  4. Seleccione o cree un bucket de S3 para la plantilla generada y un bucket de S3 para los resultados de la consulta.

  5. Elija Generate Athena Integration (Generar integración de Athena).

  6. (Opcional) En el mensaje de confirmación, elija el enlace para ir al depósito que especificó para la CloudFormation plantilla y personalice la plantilla.

  7. En el mensaje de confirmación, selecciona Crear CloudFormation pila para abrir el asistente Crear pila en la AWS CloudFormation consola. La URL de la CloudFormation plantilla generada se especifica en la sección Plantilla. Complete el asistente para crear los recursos especificados en la plantilla.

Recursos creados por la CloudFormation plantilla
  • Una base de datos de Athena. El nombre de la base de datos es flow-logs-subscription-idvpcflowlogsathenadatabase< >.

  • Un grupo de trabajo de Athena. El nombre del grupo de trabajo es < >< >< fecha de inicio >< fecha de finalización >grupo de trabajo flow-log-subscription-idpartition-load-frequency

  • Una tabla Athena particionada que corresponde a sus registros del log de flujo. El nombre de la tabla es < >< >< fecha de inicio >< fecha de finalización >. flow-log-subscription-idpartition-load-frequency

  • Un conjunto de consultas llamadas Athena. Para obtener más información, consulte Consultas predefinidas.

  • Una función Lambda que carga nuevas particiones en la tabla según la programación especificada (diaria, semanal o mensual).

  • Una función de IAM que otorga permiso para ejecutar las funciones Lambda.

CloudFormation Genere la plantilla mediante el AWS CLI

Una vez que se entreguen los primeros registros de flujo a su bucket de S3, puede generar y usar una CloudFormation plantilla para integrarla con Athena.

Utilice el siguiente comando get-flow-logs-integration-template para generar la CloudFormation plantilla.

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

A continuación se muestra un ejemplo del archivo 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" } ] } }

Utilice el siguiente comando create-stack para crear una pila con la plantilla generada. CloudFormation

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

Ejecutar una consulta predefinida

La CloudFormation plantilla generada proporciona un conjunto de consultas predefinidas que puede ejecutar para obtener rápidamente información significativa sobre el tráfico de su AWS red. Después de crear la pila y comprobar que todos los recursos se han creado correctamente, puede ejecutar una de las consultas predefinidas.

Para ejecutar una consulta predefinida mediante la consola
  1. Abra la consola de Athena.

  2. En el panel de navegación izquierdo, elija Query Editor (Editor de consultas). En Grupo de trabajo, seleccione el grupo de trabajo creado por la CloudFormation plantilla.

  3. Seleccione Saved queries (Consultas guardadas), seleccione una consulta, modifique los parámetros según sea necesario y, a continuación, ejecute la consulta. Para obtener una lista de las consultas predefinidas disponibles, consulte Predefined queries (Consultas predefinidas).

  4. En Query results (Resultados de consulta), consulte los resultados de la consulta.

Consultas predefinidas

La siguiente es la lista completa de consultas llamadas Athena. Las consultas predefinidas que se proporcionan al generar la plantilla dependen de los campos que forman parte del formato de la entrada de registro del registro de flujo. Por lo tanto, es posible que la plantilla no contenga todas estas consultas predefinidas.

  • VpcFlowLogsAcceptedTraffic— Las conexiones TCP que se permitían en función de los grupos de seguridad y las ACL de la red.

  • VpcFlowLogsAdminPortTraffic— Las 10 direcciones IP con más tráfico, registradas por las aplicaciones que atienden las solicitudes en los puertos administrativos.

  • VpcFlowLogsTráfico de IPv4: el total de bytes del tráfico de IPv4 registrados.

  • VpcFlowLogsTráfico de IPv6: el total de bytes de tráfico de IPv6 registrados.

  • VpcFlowLogsRejectedTráfico TCP: las conexiones TCP que se rechazaron en función de sus grupos de seguridad o ACL de red.

  • VpcFlowLogsRejectedTraffic— El tráfico que se rechazó en función de sus grupos de seguridad o ACL de red.

  • VpcFlowLogsSshRdpTraffic— El tráfico SSH y RDP.

  • VpcFlowLogsTopTalkers— Las 50 direcciones IP con más tráfico registrado.

  • VpcFlowLogsTopTalkersPacketLevel— Las 50 direcciones IP a nivel de paquete con más tráfico registrado.

  • VpcFlowLogsTopTalkingInstances— Los ID de las 50 instancias con más tráfico registrado.

  • VpcFlowLogsTopTalkingSubnets— Los ID de las 50 subredes con más tráfico registrado.

  • VpcFlowLogsTopTcpTraffic: todo el tráfico TCP registrado para una dirección IP de origen.

  • VpcFlowLogsTotalBytesTransferred— Los 50 pares de direcciones IP de origen y destino con más bytes registrados.

  • VpcFlowLogsTotalBytesTransferredPacketNivel: los 50 pares de direcciones IP de origen y destino a nivel de paquete con el mayor número de bytes registrados.

  • VpcFlowLogsTrafficFrmSrcAddr— El tráfico registrado para una dirección IP de origen específica.

  • VpcFlowLogsTrafficToDstAddr— El tráfico registrado para una dirección IP de destino específica.