0Pricing
AWS Solutions Architect · Lezione

Architettura VPC e blocchi CIDR

Progetterete una VPC con un intervallo CIDR appropriato e la suddividerete in subnet pubbliche e private distribuite tra le Availability Zones.

Architettura VPC e blocchi CIDR è una lezione AWS Solutions Architect gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AWS Solutions Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Solutions Architect include 4 lezioni in totale.

Che cos'è una VPC?

Una Amazon Virtual Private Cloud (VPC) è una rete privata logicamente isolata all'interno di una Regione AWS, che Lei definisce e controlla. Ogni account AWS include una VPC predefinita (CIDR 172.31.0.0/16) in ogni Regione, ma le architetture di produzione utilizzano sempre VPC personalizzate. Una VPC si estende a tutte le Availability Zone della relativa Regione e offre il pieno controllo sull'indirizzamento IP, sulle subnet, sulle tabelle di routing, sui gateway Internet e sulla sicurezza. Le risorse all'interno di una VPC sono isolate dalle altre VPC e da Internet, a meno che non configuri esplicitamente la connettività.

# Create a custom VPC
aws ec2 create-vpc \
  --cidr-block 10.0.0.0/16 \
  --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=production-vpc}]'

Blocchi CIDR: intervalli di indirizzi IP

Un blocco CIDR (Classless Inter-Domain Routing) definisce l'intervallo di indirizzi IP di una VPC o di una subnet utilizzando il formato x.x.x.x/prefix. La lunghezza del prefisso determina il numero di indirizzi IP nell'intervallo: /16 = 65.536 indirizzi, /24 = 256 indirizzi, /28 = 16 indirizzi (dimensione minima di una subnet su AWS). Per le VPC, AWS consente blocchi CIDR da /16 (il più grande) a /28 (il più piccolo). Scelga un CIDR VPC che: (1) non si sovrapponga alle reti on-premises (per future connessioni VPN/Direct Connect), (2) sia abbastanza grande per le subnet pianificate e (3) utilizzi lo spazio di indirizzi privati RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).

# Common VPC CIDR choices:
# 10.0.0.0/16   -> 65,534 usable IPs (largest common choice)
# 10.0.0.0/20   -> 4,094 usable IPs
# 10.0.0.0/24   -> 254 usable IPs (too small for most VPCs)

# AWS reserves 5 IPs in each subnet:
# x.x.x.0   Network address
# x.x.x.1   VPC router
# x.x.x.2   DNS server
# x.x.x.3   Future use
# x.x.x.255  Broadcast

Subnet: suddividere la VPC

Una subnet è un segmento dell'intervallo di indirizzi IP di una VPC che risiede in una singola Availability Zone. Le subnet sono classificate come pubbliche (dispongono di una route verso un gateway Internet) o private (non dispongono di una route diretta verso Internet). Una best practice per una tipica architettura a 3 livelli consiste nel creare almeno tre livelli di subnet: public (load balancer, bastion host), private-app (istanze EC2, task ECS) e private-data (RDS, ElastiCache), replicando ogni livello in almeno due AZ per garantire l'alta disponibilità.

# Create a public subnet in AZ-a
aws ec2 create-subnet \
  --vpc-id vpc-12345678 \
  --cidr-block 10.0.1.0/24 \
  --availability-zone us-east-1a \
  --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-1a}]'

# Create a private subnet in AZ-a
aws ec2 create-subnet \
  --vpc-id vpc-12345678 \
  --cidr-block 10.0.10.0/24 \
  --availability-zone us-east-1a \
  --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-app-1a}]'

Progettazione del layout CIDR di una VPC Multi-AZ

Un layout CIDR comune per una VPC con CIDR 10.0.0.0/16 distribuita su due AZ e tre livelli è il seguente: Public AZ-a: 10.0.1.0/24; Public AZ-b: 10.0.2.0/24; Private-App AZ-a: 10.0.10.0/24; Private-App AZ-b: 10.0.11.0/24; Private-Data AZ-a: 10.0.20.0/24; Private-Data AZ-b: 10.0.21.0/24. Questo layout lascia spazio per aggiungere subnet AZ-c (10.0.3.0/24, 10.0.12.0/24, 10.0.22.0/24) senza riprogettare l'intero schema CIDR. Progetti sempre tenendo conto della crescita futura.

IP riservati in ogni subnet

AWS riserva i primi quattro e l'ultimo indirizzo IP in ogni subnet. Per una subnet 10.0.1.0/24: 10.0.1.0 (rete), 10.0.1.1 (router VPC), 10.0.1.2 (DNS/DHCP), 10.0.1.3 (uso futuro) e 10.0.1.255 (broadcast). Una subnet /24 dispone di 256 IP totali, meno 5 riservati, per un totale di 251 IP utilizzabili. Una subnet /28, la dimensione minima, dispone di 16 IP, meno 5, per un totale di 11 utilizzabili. Questo aspetto è importante quando dimensiona le subnet in base al numero di risorse, come istanze EC2 e funzioni Lambda con VPC, che prevede di distribuire.

Blocchi CIDR secondari della VPC

È possibile aggiungere fino a quattro blocchi CIDR secondari a una VPC esistente senza ricrearla. Questa soluzione è utile quando il CIDR primario è esaurito (tutte le subnet sono piene) o quando è necessario aggiungere spazio di indirizzamento da un intervallo RFC 1918 diverso per un caso d'uso specifico, ad esempio il networking dei pod Kubernetes. I CIDR secondari sono soggetti ad alcune restrizioni: ad esempio, non è possibile aggiungere un CIDR sovrapposto e non è possibile utilizzare determinati intervalli pubblici non RFC 1918. Pianifichi attentamente il dimensionamento del CIDR della VPC fin dall'inizio, per ridurre al minimo la necessità di CIDR secondari.

# Add a secondary CIDR to an existing VPC
aws ec2 associate-vpc-cidr-block \
  --vpc-id vpc-12345678 \
  --cidr-block 10.1.0.0/16

VPC Peering: connessione tra VPC

VPC Peering stabilisce una connessione di rete privata tra due VPC, in modo che le relative risorse possano comunicare utilizzando indirizzi IP privati. Le VPC con peering possono appartenere allo stesso account, ad account diversi o persino a Regioni diverse (peering inter-regionale). Requisiti: i CIDR delle due VPC non devono sovrapporsi. Limitazioni: il peering è non transitivo: se VPC-A ha un peering con VPC-B e VPC-B ha un peering con VPC-C, VPC-A non può comunicare con VPC-C attraverso VPC-B. Per ottenere una connettività a maglia completa tra molte VPC, utilizzi invece AWS Transit Gateway.

AWS Transit Gateway

AWS Transit Gateway (TGW) funge da hub di rete centrale, ovvero da router cloud, che connette più VPC, VPN e connessioni Direct Connect. Invece di creare N*(N-1)/2 connessioni VPC peering per una maglia completa di N VPC, colleghi ogni VPC e connessione al Transit Gateway, che instrada il traffico tra di esse. TGW supporta tabelle di routing che consentono di controllare quali collegamenti possono comunicare tra loro, permettendo la segmentazione della rete (ad esempio, isolando le VPC di produzione dalle VPC di sviluppo sullo stesso TGW).

Abilitazione del DNS in una VPC

Due impostazioni DNS controllano la risoluzione dei nomi in una VPC. enableDnsSupport: quando è impostato su true (valore predefinito), la VPC utilizza il resolver DNS fornito da AWS all'indirizzo 169.254.169.253 o al secondo indirizzo IP del CIDR della VPC (ad esempio, 10.0.0.2 per 10.0.0.0/16). enableDnsHostnames: quando è impostato su true (deve essere abilitato per le VPC personalizzate, mentre è attivo per impostazione predefinita nella VPC predefinita), le istanze EC2 nella VPC ricevono nomi host DNS come ip-10-0-1-15.ec2.internal. Entrambe le impostazioni devono essere abilitate affinché le Route 53 Private Hosted Zones funzionino all'interno della VPC.

# Enable DNS support and DNS hostnames in a VPC
aws ec2 modify-vpc-attribute \
  --vpc-id vpc-12345678 \
  --enable-dns-support '{"Value": true}'
aws ec2 modify-vpc-attribute \
  --vpc-id vpc-12345678 \
  --enable-dns-hostnames '{"Value": true}'

VPC Flow Logs

VPC Flow Logs acquisisce i metadati relativi al traffico di rete che attraversa la VPC: IP di origine e destinazione, porta, protocollo, byte trasferiti e indicazione che il traffico sia stato accettato o rifiutato. I log dei flussi possono essere pubblicati in CloudWatch Logs (per le query con Logs Insights) o in S3 (per l'analisi con Athena). Sono fondamentali per le analisi forensi di sicurezza (chi si è connesso a cosa), l'analisi del traffico (per identificare i flussi ad ampia larghezza di banda) e la risoluzione dei problemi (perché una connessione è stata rifiutata?). I log dei flussi operano a livello di VPC, subnet o singola ENI.

# Enable flow logs for a VPC, deliver to CloudWatch
aws ec2 create-flow-logs \
  --resource-type VPC \
  --resource-ids vpc-12345678 \
  --traffic-type ALL \
  --log-destination-type cloud-watch-logs \
  --log-group-name /aws/vpc/flowlogs \
  --deliver-logs-permission-arn arn:aws:iam::123456789012:role/FlowLogsRole

Pianificazione della connettività

Prima di creare una VPC, pianifichi tutte le esigenze future di connettività: connettività con la rete on-premises (VPN o Direct Connect): si assicuri che il CIDR della VPC non si sovrapponga alle subnet on-premises; connettività tra VPC (peering o Transit Gateway): pianifichi CIDR non sovrapposti in tutte le VPC dell'organizzazione; accesso ai servizi AWS (endpoint VPC per S3, DynamoDB e SSM, per evitare che il traffico passi da Internet); e dimensionamento delle subnet: lasci spazio sufficiente in ogni subnet per il consumo di indirizzi IP da parte dei pod EKS, delle funzioni Lambda e delle interfacce di rete elastiche.

Verifica rapida

Verifichi la Sua comprensione dei concetti AWS Solutions Architect (SAA-C03) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha imparato che: una VPC è una rete logicamente isolata in una Regione, definita da un blocco CIDR che viene suddiviso in subnet pubbliche e private distribuite tra le AZ; AWS riserva 5 IP in ogni subnet, quindi deve sempre dimensionare le subnet tenendo conto di questa riduzione; e VPC Peering e Transit Gateway connettono privatamente le VPC, ma gli intervalli CIDR non devono sovrapporsi. Prossimamente esamineremo gli Internet Gateway e le tabelle di routing.

Domande Frequenti

La lezione «Architettura VPC e blocchi CIDR» è gratuita?

Sì — il testo completo di «Architettura VPC e blocchi CIDR» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AWS Solutions Architect, passa a CoddyKit PRO. Il corso AWS Solutions Architect include 4 lezioni in totale.

Cosa imparerò in «Architettura VPC e blocchi CIDR»?

Progetterete una VPC con un intervallo CIDR appropriato e la suddividerete in subnet pubbliche e private distribuite tra le Availability Zones. Eserciti AWS Solutions Architect con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare AWS Solutions Architect?

Non è richiesta alcuna esperienza precedente. AWS Solutions Architect su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Architettura VPC e blocchi CIDR»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione AWS Solutions Architect?

Sì. Ogni lezione AWS Solutions Architect include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Architettura VPC e blocchi CIDR
  2. Internet gateway e tabelle di routing
  3. NAT gateway e subnet private
  4. Network ACL e security group a confronto
← Torna a AWS Solutions Architect