As setas no diagrama indicam apenas a direção do estabelecimento da conexão - não o fluxo de tráfego.
Sim, o tráfego de retorno volta pelo ELB.
Mas, não é um NAT com estado - é um proxy de conexão TCP. As máquinas ELB aceitam conexões TCP nas portas de escuta configuradas, encerrando a sessão SSL, se configurado, e estabelecem uma nova conexão TCP com o servidor de backend. Se o listener estiver configurado para HTTP, o ELB operará em um modo de reconhecimento de carga útil, registrando e encaminhando solicitações HTTP para o back-end, caso contrário, ele estará agindo em relação à carga útil, estabelecendo uma nova conexão TCP 1: 1 para o back-end para cada conexão de entrada e "ligar os canais juntos" (sem reconhecimento ou modificação no nível de HTTP).
De qualquer forma, o endereço de origem da conexão de entrada para seu aplicativo será o do nó ELB, não o cliente original. É assim que o tráfego de resposta retorna ao ELB para retornar ao cliente.
No modo http, o ELB adiciona (ou acrescenta ao ) o X-Forwarded-For
header para que seu aplicativo possa identificar o IP do cliente original, bem como X-Forwarded-Proto: [ http | https ]
para indicar se a conexão do cliente usa SSL e X-Forwarded-Port
para indicar a porta front-end.
Atualização: acima refere-se a um tipo de balanceador de carga que agora é conhecido como "ELB Classic" ou ELB / 1.0 (encontrado na string de agente do usuário que envia com verificações de integridade HTTP). / p>
O mais novo balanceador de Camada 7, o Application Load Balancer ou o ELB / 2.0 opera de maneira semelhante, no que diz respeito ao fluxo de tráfego. O recurso de camada 4 (TCP "transparente") é removido do ALB e os recursos da camada 7 são aprimorados significativamente.
O mais novo tipo de balanceador de carga, o balanceador de carga de rede, é um balanceador de camada 3. Diferente dos outros dois, ele se comporta muito como o NAT dinâmico, lidando apenas com conexões de entrada (fora-originadas), mapeando source-addr + port através de EIP-addr + port para instância-private-ip: adde + port - com o EIP vinculado ao "balanceador" - e, diferentemente dos outros dois tipos de balanceadores, as instâncias precisam estar em sub-redes públicas e usar seus próprios IPs públicos para isso.
Conceitualmente falando, o balanceador de carga de rede parece realmente modificar o comportamento do gateway de Internet - que é, em si, um objeto lógico que não pode ser desabilitado, substituído ou experimentar uma falha em qualquer sentido significativo. Isso está em contraste com ELB e ALB, que realmente operam em instâncias do EC2 "ocultas". O NLB opera na própria infra-estrutura de rede, por todas as aparências.