Cloud Intelligence™
Consulta tus VPC Flow Logs con AWS Athena usando CloudFormation
Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.
About Piyush Patil
Principal Cloud Architect
Forward Deployed Engineer at heart, specializing in one thing: saying “BRING IT ON” to complex customer challenges.
With 15+ years in customer-facing technology roles, I’ve worked across the full customer lifecycle—from pre-sales and solution architecture to post-sales delivery, adoption, and product growth. Along the way, I’ve partnered with organizations across FinTech, Healthcare, Automotive, Government, Energy, and other industries, helping turn challenging business problems into practical technology outcomes.
As a Principal Cloud Architect and technology leader, my experience spans cloud strategy, architecture, migration, modernization, FinOps, AI, data platforms, SaaS, and enterprise architecture across AWS, GCP, and complex multi-cloud environments. I’m most comfortable where the problem isn’t perfectly defined, the architecture isn’t obvious, and someone needs to bridge the gap between customer, product, engineering, and business.
I enjoy getting close to the customer, understanding the real problem behind the requirement, rolling up my sleeves, and figuring out how to make things work. Whether that means designing an architecture, building a proof of concept, solving a difficult cloud challenge, optimizing economics, helping shape a product, or working alongside engineering teams, my approach is simple:
Bring me the challenge !!
My personal pageVPC Flow Logs es una funcionalidad que ofrecen servicios en la nube como Amazon Web Services (AWS) para capturar información sobre el tráfico IP que entra y sale de las interfaces de red de una Virtual Private Cloud (VPC). Estos logs sirven para monitorear la red, analizar la seguridad y resolver problemas. Al habilitarlos, se obtienen datos como el origen, el destino y el protocolo del tráfico, además de la cantidad de bytes transferidos. Esta información es clave para entender la actividad de red dentro de una VPC y suele usarse para detectar patrones de tráfico anómalos o posibles amenazas de seguridad.
VPC Flow Logs es una funcionalidad de AWS que captura información sobre el tráfico IP. Al analizar estos logs, los administradores pueden identificar actividades maliciosas como reconocimiento de red, exfiltración de datos no autorizada o patrones de tráfico inesperados. También ayudan a garantizar el cumplimiento de las políticas y normativas de red. Por ejemplo, las organizaciones pueden recurrir a los flow logs para verificar que sus configuraciones de red se ajusten a sus estándares de seguridad y requisitos regulatorios. Además, estos logs resultan muy valiosos para el análisis de rendimiento, ya que permiten optimizar el tráfico de red y la asignación de recursos dentro de la VPC.
Existen varios servicios de AWS que se pueden usar para consultar los VPC Flow Logs, como Amazon Athena, Amazon CloudWatch Logs, AWS ElasticSearch Service, Amazon QuickSight, AWS Glue y Amazon Redshift. En este blog te voy a explicar cómo configurar la integración entre Athena y S3 usando AWS CloudFormation.
AWS Athena es un servicio de consultas interactivas que te permite analizar datos directamente en Amazon S3 con SQL estándar. Puedes usar Athena para consultar los VPC Flow Logs almacenados en buckets de S3. Resulta muy útil para consultas complejas y análisis ad-hoc, ya que Athena es serverless y no requiere que montes ninguna infraestructura.
Antes, configurar Athena era bastante complejo y había que dar de alta S3 como fuente de datos manualmente. Además, al consultar los logs tenías que escribir las queries por tu cuenta para obtener los datos correctos. AWS simplificó este proceso al ofrecer una forma de generar una plantilla de CloudFormation junto con varias consultas predefinidas que aportan insights bastante detallados sobre el flujo de tráfico.
Así se configura:
Paso 1: Habilitar VPC Flow Logs
A continuación se muestran todas las opciones que necesitas marcar para habilitar VPC Flow Logs. Una vez habilitado, ve al bucket de S3 que seleccionaste y verifica que los logs estén llegando.

Habilitar VPC Flow Logs
Paso 2: Generar la plantilla de CloudFormation desde la consola
Ve a tu VPC y, en la pestaña Flow logs, selecciona un flow log que publique en Amazon S3; luego elige Actions y Generate Athena integration.

Generate Athena Integration
Después de hacer clic en Generate Athena Integration, en la siguiente sección completa los detalles correspondientes. Yo usé el mismo bucket de S3 para la plantilla de CloudFormation y para los Query Results, pero también puedes usar buckets distintos.

Selección del bucket de S3 para Generate Athena Integration
Paso 2: Crear el stack de CloudFormation
Después de hacer clic en "Generate Athena Integration", en la siguiente página podrás crear el stack de CloudFormation con el botón "Create CloudFormation stack" en la esquina superior derecha. Ojo: no cierres ese popup verde, porque tendrías que repetir todo el proceso anterior.

Crear CloudFormation Stack 1
Al hacer clic en "Create CloudFormation Stack" se abrirá la página de AWS CloudFormation.
Solo haz clic en Next.

Crear CloudFormation Stack 2
Pon el nombre que prefieras para el stack y haz clic en Next.

Crear CloudFormation Stack 3
En la siguiente ventana deja todas las opciones tal como están y haz clic en Next.

Crear CloudFormation Stack 4
Revisa que todas tus selecciones estén correctas, marca la casilla de "I acknowledge" y haz clic en Submit.

Crear CloudFormation Stack 5
Espera a que el stack termine de crearse.

Crear CloudFormation Stack 6
Una vez creado el stack, entra a Athena y verás la base de datos VPC Flow Log lista para consultarse. Si aparece la advertencia sobre la ubicación de los resultados de las consultas, haz clic en "Edit Settings" y elige el bucket donde quieras guardarlos. Yo usé el mismo bucket de S3 que creé para los VPC Flow Logs.

Crear CloudFormation Stack 7
Paso 3: Ejecutar una consulta predefinida
En Athena, selecciona Query Editor en el menú de la izquierda y elige el workgroup que creó nuestra plantilla de CloudFormation.

Ejecutar una consulta predefinida 1
Ahora, al hacer clic en Saved queries, vas a encontrar varias consultas ya cargadas junto con la descripción de los insights que aportan.

Ejecutar una consulta predefinida 2
En la captura de arriba se ven pocas consultas porque estoy usando mi cuenta de sandbox, pero según los logs que recopilen tus VPC Flow Logs podrás ver muchas más. A continuación, el listado de las consultas disponibles.
- VpcFlowLogsAcceptedTraffic — Las conexiones TCP permitidas según tus security groups y network ACLs.
- VpcFlowLogsAdminPortTraffic — Las 10 direcciones IP con más tráfico, registradas por aplicaciones que atienden solicitudes en puertos administrativos.
- VpcFlowLogsIPv4Traffic — El total de bytes de tráfico IPv4 registrados.
- VpcFlowLogsIPv6Traffic — El total de bytes de tráfico IPv6 registrados.
- VpcFlowLogsRejectedTCPTraffic — Las conexiones TCP rechazadas según tus security groups o network ACLs.
- VpcFlowLogsRejectedTraffic — El tráfico rechazado según tus security groups o network ACLs.
- 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 IDs de las 50 instancias con más tráfico registrado.
- VpcFlowLogsTopTalkingSubnets — Los IDs 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.
- VpcFlowLogsTotalBytesTransferredPacketLevel — Los 50 pares de direcciones IP de origen y destino a nivel de paquete con más 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.
Vamos a correr una consulta de ejemplo para hacernos una idea de los insights que ofrecen. Yo usé la consulta VpcFlowLogsTopTalkers, que muestra las 50 direcciones IP con la mayor cantidad de bytes transferidos.

Y listo. Ya tienes un mecanismo de consulta para hacer troubleshooting o sacar insights sobre los problemas de tu red.
¡Feliz troubleshooting!
Referencia:
[1] https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-athena.html
Cloud bill shouldn't be a mystery
One platform for AI and Cloud optimization.