O Que É NAT? Compartilhando Um Único Endereço Público
NAT, network address translation, permite que hosts com endereços IP privados alcancem a internet reescrevendo seu tráfego para usar um endereço público compartilhado na saída.
Sub-redes privadas não conseguem rotear para a internet diretamente, mas seus hosts ainda precisam buscar pacotes e chamar APIs externas. O NAT resolve isso traduzindo endereços de origem privados para um público e rastreando o mapeamento para que as respostas retornem corretamente. Runners de CI em sub-redes privadas dependem do NAT para todo o tráfego de saída.
Traduzindo endereços
Quando um host privado envia tráfego para fora, o dispositivo NAT reescreve a origem para seu endereço público e lembra do mapeamento. Quando a resposta retorna, ele traduz o destino de volta para o host privado original.
Apenas saída
O NAT tipicamente permite que hosts privados iniciem conexões para fora, mas não deixa a internet iniciar conexões para dentro. Isso mantém recursos privados acessíveis para egress enquanto os protege de acesso direto de entrada.
NAT e IPs de egress estáveis
- Todos os hosts privados compartilham o endereço público do NAT.
- Isso fornece um IP de egress estável para colocar em allowlist no downstream.
- Ele oculta os endereços dos hosts individuais do destino.
NAT em CI/CD
Um runner em uma sub-rede privada baixa dependências e chama APIs através de um NAT gateway. Como o tráfego sai de um endereço conhecido, serviços downstream podem colocar esse único IP de egress em allowlist.
Quando o NAT se torna um gargalo
Um NAT gateway tem limites de conexão e de banda. Uma grande frota de runners fazendo downloads pesados pode esgotar portas ou saturar o gateway, causando falhas de conexão intermitentes.
Pressão transitória no NAT
Conexões que falham porque o NAT gateway está brevemente saturado são transitórias e frequentemente têm sucesso no retry. Os runners da Latchkey fazem retry dessas falhas de egress transitórias a endpoints comuns, para que um pico momentâneo de NAT não faça um job falhar.
Principais conclusões
- O NAT permite que hosts privados alcancem a internet através de um endereço público compartilhado.
- Ele permite conexões de saída enquanto bloqueia conexões de entrada não solicitadas.
- Um NAT gateway saturado causa falhas de egress intermitentes e passíveis de retry.