Le frecce nel diagramma indicano solo la direzione dello stabilimento della connessione, non il flusso del traffico.
Sì, il traffico di ritorno ritorna attraverso l'ELB.
Ma non è un NAT con stato: è un proxy di connessione TCP. Le macchine ELB accettano connessioni TCP sulle porte di ascolto configurate, terminando la sessione SSL se così configurata e stabiliscono una nuova connessione TCP al server back-end. Se il listener è configurato per HTTP, ELB opera in modalità in grado di supportare il payload, analizzando, registrando e inoltrando le richieste HTTP al back-end, altrimenti è payload-agnostic, stabilendo una nuova connessione TCP 1: 1 al back-end per ogni connessione in entrata e "unendo i tubi" (senza consapevolezza o modifica a livello HTTP).
In entrambi i casi, l'indirizzo di origine della connessione in entrata all'applicazione sarà quello del nodo ELB, non del client originale. Ecco come il traffico di risposta ritorna all'ELB per il ritorno al client.
In modalità http, ELB aggiunge (o accoda) l' X-Forwarded-For
intestazione in modo che l'applicazione possa identificare l'IP client originale, nonché X-Forwarded-Proto: [ http | https ]
per indicare se la connessione client utilizza SSL e X-Forwarded-Port
per indicare la porta front-end.
Aggiornamento: quanto sopra si riferisce a un tipo di bilanciamento del carico che ora è noto come "ELB Classic" o ELB / 1.0 (presente nella stringa dell'agente utente che invia con i controlli di integrità HTTP).
Il più nuovo bilanciatore di livello 7, Application Load Balancer o ELB / 2.0 funziona in modo simile, rispetto al flusso di traffico. La funzionalità di livello 4 ("trasparente" TCP) è stata rimossa da ALB e le funzionalità di livello 7 sono state notevolmente migliorate.
Il più nuovo tipo di bilanciamento del carico, Network Load Balancer, è un bilanciamento di livello 3. A differenza degli altri due, si comporta in modo molto simile al NAT dinamico, gestendo solo le connessioni in entrata (originate all'esterno), mappando source-addr + port tramite EIP-addr + port su istanza-private-ip: adde + port - con l'EIP associato al "bilanciamento" - e diversamente dagli altri due tipi di bilanciatori, le istanze devono essere su sottoreti pubbliche e utilizzare i propri IP pubblici per questo.
Concettualmente parlando, il Network Load Balancer sembra effettivamente modificare il comportamento di Internet Gateway - che è, di per sé, un oggetto logico che non può essere disabilitato, sostituito o sperimentare un errore in qualsiasi senso significativo. Ciò è in contrasto con ELB e ALB, che in realtà operano su istanze EC2 "nascoste". NLB opera sull'infrastruttura di rete, a sua volta, sotto tutti gli aspetti.