Il networking in AWS: Amazon VPC
Amazon VPC (Virtual Private Cloud) è la tua rete virtuale privata e isolata all’interno del cloud AWS. Dentro una VPC definisci uno spazio di indirizzi IP (CIDR) e lo suddividi in subnet, ciascuna vincolata a una singola Availability Zone. La distinzione chiave è tra public subnet (con una route verso un Internet Gateway, quindi raggiungibile da Internet) e private subnet (senza rotta diretta verso l’esterno, usata per database e backend).
Per far uscire verso Internet le risorse in private subnet senza esporle a connessioni in ingresso si usa un NAT Gateway. Il traffico è filtrato a due livelli: i security group, stateful e applicati alla singola istanza (regole di allow), e le network ACL, stateless e applicate a livello di subnet (allow e deny). Concettualmente, VPC serve a controllare dove stanno le risorse e chi può parlarci: è il pilastro dell’isolamento e della segmentazione di rete.
DNS globale con Amazon Route 53
Amazon Route 53 è il servizio DNS gestito e altamente disponibile di AWS. Svolge tre funzioni: registrazione dei domini, DNS autoritativo (traduce nomi come esempio.com in indirizzi IP) e health check delle risorse. La forza di Route 53 sono le routing policy, che decidono a quale endpoint indirizzare l’utente: simple, weighted (per distribuire percentuali di traffico, utile nei rilasci graduali), latency-based (verso la Region più veloce), geolocation e failover (per scenari di disaster recovery attivo/passivo). Se ti chiedono di reindirizzare automaticamente il traffico verso un sito di backup quando il primario è down, la risposta è Route 53 con failover routing e health check.
Distribuzione dei contenuti con Amazon CloudFront
Amazon CloudFront è la CDN (Content Delivery Network) di AWS. Mette in cache i contenuti in centinaia di edge location distribuite nel mondo, così l’utente scarica i dati dal punto geograficamente più vicino: il risultato è minore latenza e minor carico sull’origine. CloudFront serve sia contenuti statici (immagini, video, file da un bucket Amazon S3) sia dinamici, e si integra con AWS Shield e AWS WAF per la protezione da attacchi DDoS e a livello applicativo. La parola chiave da riconoscere all’esame è “utenti globali + performance/latenza”: è CloudFront, non una soluzione basata su più Region.
I modi di interagire con AWS
AWS espone gli stessi servizi attraverso interfacce diverse, adatte a profili diversi:
- AWS Management Console: interfaccia web grafica, ideale per esplorare, imparare e gestire risorse manualmente.
- AWS CLI: interfaccia a riga di comando per operare da terminale e creare script ripetibili.
- AWS SDK: librerie che permettono di richiamare i servizi AWS dal codice, integrandoli nelle applicazioni (disponibili per molti linguaggi come Python, Java, .NET, JavaScript).
- Infrastructure as Code (IaC) con AWS CloudFormation: descrivi l’infrastruttura in un template dichiarativo, che AWS provisiona in modo automatico, coerente e ripetibile.
Il tema dell’automation è centrale: CLI, SDK e soprattutto CloudFormation eliminano le operazioni manuali, riducono l’errore umano e consentono di ricreare ambienti identici. Console per gli umani, CLI/SDK/IaC per l’automazione.
Trappole tipiche d’esame
- Isolare le risorse e controllare il traffico di rete → Amazon VPC: subnet, route table e security group vivono qui; non confondere con Route 53 (DNS) o CloudFront (CDN).
- Distribuzione automatica del traffico verso un sito di backup in caso di guasto → Route 53 failover routing + health check: è DNS, non un load balancer né CloudFront.
- Utenti globali che lamentano lentezza nel caricare immagini/video → Amazon CloudFront: la CDN e le edge location, non “aprire più Region”.
- Provisioning ripetibile e automatizzato dell’infrastruttura → AWS CloudFormation (IaC): template dichiarativo; la Console è manuale, non “automation”.
- Integrare chiamate AWS dentro il codice di un’applicazione → AWS SDK; scripting da terminale → AWS CLI: distinguono il caso “dentro il programma” dal caso “riga di comando”.
- Security group vs network ACL → istanza (stateful, solo allow) vs subnet (stateless, allow e deny): l’esame scambia spesso i due livelli per confonderti.