We are at re:Invent 2026Book my merch
Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Interrogare i VPC Flow Logs con AWS Athena tramite CloudFormation

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Jan 12, 20245 min read
Piyush Patil

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 page

I VPC flow logs sono una funzionalità messa a disposizione da servizi cloud come Amazon Web Services (AWS) per acquisire informazioni sul traffico IP in entrata e in uscita dalle interfacce di rete all'interno di un Virtual Private Cloud (VPC). Questi log sono impiegati per il monitoraggio della rete, l'analisi della sicurezza e il troubleshooting. Una volta abilitati, restituiscono dati come origine, destinazione e protocollo del traffico, oltre al numero di byte trasferiti. Si tratta di informazioni essenziali per comprendere l'attività di rete in un VPC e vengono spesso utilizzate per individuare pattern di traffico anomali o potenziali minacce alla sicurezza.

I VPC flow logs sono una funzionalità di AWS pensata per acquisire informazioni sul traffico IP. Analizzandoli, gli amministratori possono individuare attività malevole come ricognizioni di rete, esfiltrazioni di dati non autorizzate e pattern di traffico inattesi. Questi log contribuiscono inoltre a garantire la conformità alle policy di rete e alle normative: ad esempio, le organizzazioni possono sfruttarli per verificare che le proprie configurazioni di rete rispettino gli standard di sicurezza e i requisiti regolatori. Sono infine preziosi per l'analisi delle performance, perché aiutano gli amministratori a ottimizzare il traffico di rete e l'allocazione delle risorse all'interno del VPC.

Esistono diversi servizi AWS con cui interrogare i VPC flow logs: Amazon Athena, Amazon CloudWatch Logs, AWS ElasticSearch Service, Amazon QuickSight, AWS Glue e Amazon Redshift. In questo articolo vedremo come configurare l'integrazione tra Athena e S3 utilizzando AWS CloudFormation.

AWS Athena è un servizio di query interattivo che consente di analizzare i dati direttamente in Amazon S3 con SQL standard. Athena permette di interrogare i VPC flow logs archiviati nei bucket S3 ed è particolarmente utile per query complesse e analisi ad-hoc, dato che è serverless e non richiede la configurazione di alcuna infrastruttura.

In passato configurare Athena era piuttosto complesso e bisognava impostare manualmente S3 come origine dati. Inoltre, per interrogare i log occorreva scrivere autonomamente le query necessarie a estrarre i dati corretti. AWS ha semplificato questo processo offrendo la possibilità di generare un template CloudFormation insieme a numerose query predefinite, che restituiscono insight piuttosto dettagliati sul flusso del traffico.

Ecco come procedere:

Step 1: abilitare i VPC Flow Logs

Di seguito trova tutte le impostazioni necessarie per abilitare i VPC flow logs. Una volta abilitati, acceda al bucket S3 selezionato per verificare che i log stiano effettivamente arrivando.

Abilitare i VPC Flow Logs

Step 2: generare il template CloudFormation tramite la console

Acceda al proprio VPC e, nella scheda Flow logs, selezioni un flow log che pubblica su Amazon S3, quindi scelga Actions, Generate Athena integration.

Generate Athena Integration

Dopo aver cliccato su Generate Athena Integration, nella sezione successiva si compilano i dettagli richiesti. Ho usato lo stesso bucket S3 sia per il template CloudFormation sia per i risultati delle query, ma è possibile anche utilizzare bucket separati.

Generate Athena Integration: selezione del bucket S3

Step 2: creare lo stack CloudFormation

Dopo aver cliccato su "Generate Athena Integration", nella pagina successiva è possibile creare lo stack CloudFormation cliccando sul pulsante "Create CloudFormation stack" in alto a destra. Attenzione: non chiuda quel popup verde, altrimenti dovrà ripetere l'intera procedura.

Create CloudFormation Stack 1

Dopo aver cliccato su "Create CloudFormation Stack" verrà reindirizzato alla pagina di AWS CloudFormation.

In quella pagina è sufficiente cliccare su Next.

Create CloudFormation Stack 2

Indichi il nome dello stack che preferisce e clicchi su Next.

Create CloudFormation Stack 3

Nella schermata successiva mantenga invariate tutte le impostazioni e clicchi su Next.

Create CloudFormation Stack 4

Verifichi che tutte le selezioni siano corrette, spunti la casella "I acknowledge" e clicchi su Submit.

Create CloudFormation Stack 5

Attenda il completamento dello stack.

Create CloudFormation Stack 6

Una volta creato lo stack, acceda ad Athena: troverà il database VPC Flow Log già pronto per essere interrogato. Se compare l'avviso relativo alla posizione dei risultati delle query, basta cliccare su "Edit Settings" e selezionare il bucket in cui salvarli. Io ho scelto lo stesso bucket S3 creato per i VPC flow logs.

Create CloudFormation Stack 7

Step 3: eseguire una query predefinita

In Athena, selezioni Query Editor nella barra di navigazione a sinistra e scelga il workgroup creato dal nostro template CloudFormation.

Eseguire una query predefinita 1

Cliccando su Saved queries troverà diverse query già pronte, ciascuna con la descrizione degli insight che fornisce.

Eseguire una query predefinita 2

Nello screenshot qui sopra le query visibili sono poche perché sto utilizzando il mio account sandbox, ma a seconda dei log presenti nei vostri VPC flow logs ne potrete vedere molte di più. Di seguito l'elenco delle query disponibili.

  • VpcFlowLogsAcceptedTraffic — le connessioni TCP consentite in base ai security group e alle network ACL.
  • VpcFlowLogsAdminPortTraffic — i 10 indirizzi IP con il maggior volume di traffico, registrati dalle applicazioni che gestiscono richieste sulle porte amministrative.
  • VpcFlowLogsIPv4Traffic — il totale dei byte di traffico IPv4 registrati.
  • VpcFlowLogsIPv6Traffic — il totale dei byte di traffico IPv6 registrati.
  • VpcFlowLogsRejectedTCPTraffic — le connessioni TCP rifiutate in base ai security group o alle network ACL.
  • VpcFlowLogsRejectedTraffic — il traffico rifiutato in base ai security group o alle network ACL.
  • VpcFlowLogsSshRdpTraffic — il traffico SSH e RDP.
  • VpcFlowLogsTopTalkers — i 50 indirizzi IP con il maggior traffico registrato.
  • VpcFlowLogsTopTalkersPacketLevel — i 50 indirizzi IP a livello di pacchetto con il maggior traffico registrato.
  • VpcFlowLogsTopTalkingInstances — gli ID delle 50 istanze con il maggior traffico registrato.
  • VpcFlowLogsTopTalkingSubnets — gli ID delle 50 subnet con il maggior traffico registrato.
  • VpcFlowLogsTopTCPTraffic — tutto il traffico TCP registrato per un determinato indirizzo IP di origine.
  • VpcFlowLogsTotalBytesTransferred — le 50 coppie di indirizzi IP di origine e destinazione con il maggior numero di byte registrati.
  • VpcFlowLogsTotalBytesTransferredPacketLevel — le 50 coppie di indirizzi IP di origine e destinazione a livello di pacchetto con il maggior numero di byte registrati.
  • VpcFlowLogsTrafficFrmSrcAddr — il traffico registrato per uno specifico indirizzo IP di origine.
  • VpcFlowLogsTrafficToDstAddr — il traffico registrato per uno specifico indirizzo IP di destinazione.

Proviamo a eseguire una query di esempio per farci un'idea del tipo di insight che restituiscono. Ho utilizzato la query VpcFlowLogsTopTalkers, che mostra i primi 50 indirizzi IP con il relativo volume di byte trasferiti.

Ed è tutto. Ora abbiamo a disposizione un meccanismo di query per fare troubleshooting o ottenere insight sui problemi legati alla rete.

Buon troubleshooting!!!

Riferimenti:

[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.