ALB vs NLB vs GLB: quale usare e quando
Comprenderete le differenze tra Application, Network e Gateway Load Balancer e assocerete ciascuno al caso d'uso ideale.
ALB vs NLB vs GLB: quale usare e quando è 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.
Panoramica di Elastic Load Balancing
Elastic Load Balancing (ELB) distribuisce automaticamente il traffico applicativo in ingresso tra più destinazioni: istanze EC2, container, funzioni Lambda o indirizzi IP. ELB è un servizio gestito, ovvero AWS si occupa del provisioning, del dimensionamento e della disponibilità del load balancer stesso tra più AZ.
AWS offre tre tipi di load balancer nell'ambito di ELB: Application Load Balancer (ALB), Network Load Balancer (NLB) e Gateway Load Balancer (GWLB). Ognuno opera a un livello diverso del modello OSI ed è ottimizzato per casi d'uso differenti.
Application Load Balancer (ALB)
ALB opera al livello 7 (HTTP/HTTPS) del modello OSI. Può esaminare gli header HTTP, i percorsi, le stringhe di query, i nomi host e i cookie per prendere decisioni di routing intelligenti. ALB è la scelta principale per applicazioni web, microservizi ed endpoint API che richiedono il routing basato sul contenuto.
Funzionalità principali di ALB: routing basato sul percorso (/api/* verso un target group, /static/* verso un altro), routing basato sull'host (host virtuali diversi verso backend diversi), routing basato su header HTTP e stringhe di query, supporto per WebSocket e supporto per HTTP/2. ALB può eseguire il routing verso istanze EC2, container (ECS/EKS), funzioni Lambda e indirizzi IP.
# Create an ALB
aws elbv2 create-load-balancer \
--name my-alb \
--subnets subnet-aaaa1111 subnet-bbbb2222 \
--security-groups sg-12345678 \
--type applicationNetwork Load Balancer (NLB)
NLB opera al livello 4 (TCP/UDP/TLS). Esegue il routing dei pacchetti in base ai dati del protocollo IP senza esaminare il contenuto dell'applicazione. NLB è progettato per prestazioni estreme: gestisce milioni di richieste al secondo con latenza estremamente bassa (in genere inferiore a 100 microsecondi).
Funzionalità principali di NLB: indirizzi IP statici per ogni AZ (un indirizzo IP elastico per subnet), TLS pass-through (inoltro del traffico crittografato senza decrittografia), conservazione dell'indirizzo IP del client e supporto per i protocolli UDP (ad esempio DNS, RADIUS e server di gioco). NLB non può eseguire il routing basato sul contenuto né esaminare gli header HTTP.
# Create an NLB
aws elbv2 create-load-balancer \
--name my-nlb \
--subnets subnet-aaaa1111 subnet-bbbb2222 \
--type networkGateway Load Balancer (GWLB)
GWLB opera al livello 3 (livello di rete) ed è progettato esclusivamente per il deployment, il dimensionamento e la gestione di appliance di rete virtuali di terze parti: firewall, sistemi di rilevamento e prevenzione delle intrusioni (IDS/IPS) e sistemi di ispezione approfondita dei pacchetti.
GWLB utilizza il protocollo GENEVE (porta 6081) per incapsulare il traffico e inviarlo al Suo parco di appliance. L'appliance esamina il pacchetto e lo restituisce attraverso lo stesso endpoint GWLB. Il traffico fluisce in modo trasparente senza richiedere modifiche al routing nella VPC di origine. Questo è il pattern standard per inserire l'ispezione di sicurezza centralizzata nei flussi di traffico delle VPC AWS.
Casi d'uso di ALB
Scelga ALB quando:
- Ha bisogno del routing basato sul contenuto HTTP/HTTPS (percorso, host, header, stringa di query)
- Il Suo backend include funzioni Lambda o container ECS
- Ha bisogno di connessioni WebSocket o HTTP/2
- Desidera integrarsi con AWS WAF per la sicurezza delle applicazioni web a livello di load balancer
- Sta realizzando un'architettura a microservizi con molti servizi su percorsi URL diversi
- Ha bisogno della terminazione SSL/TLS a livello di load balancer
ALB è la risposta corretta per la maggior parte delle domande d'esame SAA-C03 sul bilanciamento del carico di applicazioni web e API REST.
Casi d'uso di NLB
Scelga NLB quando:
- Ha bisogno di prestazioni estreme (milioni di richieste al secondo, latenza inferiore al millisecondo)
- Richiede indirizzi IP statici che i partner o i firewall possano inserire nelle allowlist
- Deve gestire traffico UDP (gaming, DNS, RADIUS, IoT)
- Desidera il TLS pass-through senza decrittografia nel load balancer (crittografia end-to-end fino alla destinazione)
- Ha bisogno di conservare nativamente l'IP di origine del client a livello TCP
- Utilizza AWS PrivateLink per esporre servizi ad altre VPC o account (NLB è obbligatorio per PrivateLink)
Casi d'uso e architettura di GWLB
Scelga GWLB quando deve:
- Inserire appliance firewall di terze parti (Palo Alto, Fortinet, Check Point) nel flusso del traffico di rete
- Eseguire l'ispezione approfondita dei pacchetti a livello di VPC per tutto il traffico in ingresso o in uscita
- Dimensionare orizzontalmente un parco di appliance IDS/IPS con bilanciamento del carico automatico
Architettura: il traffico fluisce dalla VPC di origine → endpoint GWLB → VPC delle appliance (dove GWLB distribuisce il traffico tra le istanze delle appliance) → l'appliance restituisce il traffico a GWLB → GWLB inoltra il traffico alla destinazione originale. L'origine e la destinazione non sono consapevoli dell'ispezione intermedia.
Bilanciamento del carico tra le zone
Il bilanciamento del carico tra le zone distribuisce il traffico in modo uniforme tra tutte le destinazioni registrate in tutte le AZ abilitate, indipendentemente dall'AZ in cui il nodo del load balancer ha ricevuto la richiesta. Senza il bilanciamento del carico tra le zone, il nodo di ogni AZ distribuisce il traffico solo alle destinazioni nella propria AZ.
ALB ha il bilanciamento del carico tra le zone abilitato per impostazione predefinita senza costi aggiuntivi. NLB ha il bilanciamento del carico tra le zone disabilitato per impostazione predefinita: abilitarlo comporta costi di trasferimento dati tra AZ. Anche GWLB ha il bilanciamento del carico tra le zone disabilitato per impostazione predefinita. Abiliti il bilanciamento del carico tra le zone quando il numero di destinazioni è sbilanciato tra le AZ, per evitare punti congestionati.
Confronto tra protocolli e funzionalità
Tabella di confronto rapido per l'esame:
- Livello OSI: ALB = 7 (HTTP), NLB = 4 (TCP/UDP), GWLB = 3 (IP)
- Protocolli: ALB = HTTP, HTTPS, WebSocket; NLB = TCP, UDP, TLS; GWLB = tutti i protocolli IP tramite GENEVE
- IP statico: ALB = No (utilizzi il pattern NLB + ALB); NLB = Sì (1 per AZ); GWLB = N/A
- Integrazione WAF: ALB = Sì; NLB = No; GWLB = No
- Destinazione Lambda: ALB = Sì; NLB = No; GWLB = No
- Connection draining: tutti e tre supportano il ritardo di deregistrazione
ALB con AWS WAF
ALB si integra nativamente con AWS WAF per la protezione regionale (a differenza di WAF su CloudFront, che offre protezione globale all'edge). Collegando una Web ACL WAF a un ALB, può filtrare le richieste HTTP prima che raggiungano l'applicazione, bloccando SQL injection, XSS, indirizzi IP malevoli noti e client che abusano della frequenza.
Utilizzi ALB + WAF quando desidera eseguire l'ispezione di sicurezza a livello di load balancer (ad esempio per proteggere API che non vengono servite tramite CloudFront). Le Web ACL WAF collegate agli ALB devono trovarsi nella stessa Regione dell'ALB e devono avere ambito REGIONAL (a differenza di WAF per CloudFront, che richiede l'ambito CLOUDFRONT in us-east-1).
NLB con PrivateLink
AWS PrivateLink utilizza NLB per esporre servizi presenti in una VPC ai consumer di altre VPC o account AWS senza richiedere peering VPC, un internet gateway o NAT. Il provider del servizio crea un NLB davanti al proprio servizio e crea un VPC Endpoint Service. I consumer creano un Interface VPC Endpoint nella propria VPC che punta al servizio.
Il traffico fluisce sulla rete privata di AWS e non attraversa mai Internet. PrivateLink è il pattern standard per i provider SaaS su AWS e per esporre servizi condivisi (ad esempio un servizio di sicurezza centralizzato) a più account AWS interni.
Verifica rapida
Verifichi la Sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha appreso che: ALB esegue il routing al livello 7 (HTTP) con regole basate sul contenuto, integrazione con WAF e destinazioni Lambda, NLB esegue il routing al livello 4 (TCP/UDP) con IP statici e throughput estremo e GWLB implementa appliance di rete virtuali al livello 3 utilizzando GENEVE. Abbini il load balancer ai requisiti di protocolli e funzionalità. Ora esamineremo i target group e i controlli dello stato.
Domande Frequenti
La lezione «ALB vs NLB vs GLB: quale usare e quando» è gratuita?
Sì — il testo completo di «ALB vs NLB vs GLB: quale usare e quando» è 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 «ALB vs NLB vs GLB: quale usare e quando»?
Comprenderete le differenze tra Application, Network e Gateway Load Balancer e assocerete ciascuno al caso d'uso ideale. 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 «ALB vs NLB vs GLB: quale usare e quando»?
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
- ALB vs NLB vs GLB: quale usare e quando
- Target group e health check
- Regole dei listener e routing basato sul percorso
- Terminazione SSL e sessioni persistenti