Cloud NAT

Visão geral do Cloud NAT

O Cloud NAT é a evolução da configuração de saída padrão do projeto. O Cloud NAT é um serviço zonal com escopo de projeto limitado ao tráfego IPv4 e oferece os seguintes recursos:

  • Vários gateways por projeto que podem sair do tráfego de diferentes conjuntos de endpoints.
  • Vários IPs de saída configuráveis por gateway.
  • Vários seletores de rótulos de endpoint configuráveis por gateway.
  • Tempos limite de conexão configuráveis por gateway.
  • Maior confiabilidade e menor raio de explosão em caso de falha do nó de saída.

O diagrama a seguir ilustra um exemplo de visão geral do Cloud NAT. Cada gateway sai de todo o tráfego direcionado a IPs não internos de endpoints de pods ou VMs (no mesmo projeto que o gateway) que têm todos os rótulos no seletor de rótulos do gateway (e correspondentes). Os endpoints em projetos diferentes ou que não correspondem totalmente ao seletor de rótulos não podem sair do tráfego pelo gateway. Os gateways atribuirão estaticamente um dos IPs de saída a cada endpoint que sair do tráfego por eles. Os IPs de sub-redes folha são usados para especificar o conjunto de IPs de saída que cada gateway do Cloud NAT pode usar.

Exemplo de implantação mostrando vários endpoints se conectando por dois gateways

Por exemplo, se um pod em project-1, com o rótulo app:aa e o IP 192.168.0.1, emitir um pacote com o IP de destino 22.22.22.22, ele será direcionado ao gateway do Cloud NAT. O gateway vai trocar o IP de origem pelo IP de saída atribuído ao endpoint do pod (34.1.22.1) e encaminhá-lo para o VRF de dados. Se uma resposta voltar desse VRF, ela fará a operação inversa e encaminhará o pacote resultante para o endpoint do pod. O mesmo mecanismo será aplicado às VMs nesse projeto e rótulo.

Detalhe de um exemplo de implantação mostrando endereços IP distintos expostos ao exterior

Por padrão, as conexões de saída criadas por um gateway do Cloud NAT terão os seguintes tempos limite. Elas podem ser configuradas manualmente, se necessário.

Tempo limite

Valor padrão (segundos)

Conexões não TCP

60

Conexões TCP inativas

8000

Desativação de conexões TCP

10

Estabelecimento de conexão TCP

60

Limitações

  • Cada endpoint só pode sair por um único gateway do Cloud NAT usando um único endereço IP de saída. Esse endereço IP é atribuído automaticamente pelo gateway a cada endpoint. Essa atribuição não será alterada, a menos que a configuração do endpoint ou do gateway seja alterada.
  • Para garantir que o roteamento entre endpoints e gateways seja determinístico, os gateways do Cloud NAT não podem ter seletores de rótulos sobrepostos, e os endpoints não podem ter rótulos que correspondam a vários gateways.
  • Se o endpoint também tiver rotas de gateways de VPN, elas terão preferência em relação às rotas de gateways do Cloud NAT.

Limites de escala

  • O número máximo de endereços IP de saída por projeto é 100. Se as sub-redes atribuídas ao gateway do Cloud NAT excederem 100, apenas os primeiros 100 IPs serão usados pelo gateway.
  • O número máximo de conexões paralelas por IP de saída por protocolo para um IP e porta de destino específicos é limitado a 32 mil. Exceder esse limite fará com que as conexões falhem.
  • O número máximo de mapeamentos NAT é de 1 mil por VPC por zona. Um mapeamento é criado para cada endpoint atribuído a cada gateway do Cloud NAT. Como um endpoint só pode ser atribuído a um único gateway NAT, o número máximo de endpoints que podem usar o Cloud NAT em uma zona é de 1 mil. Os mapeamentos NAT NÃO são escalonados com o número de conexões.

Comportamento de failover

Caso um nó de saída fique indisponível, os gateways do Cloud NAT que usam esse nó de saída vão migrar automaticamente os IPs externos do nó indisponível para outros nós de saída disponíveis. Em seguida, os gateways vão reconfigurar o sistema para sair do tráfego usando os outros nós disponíveis. Quando a reconfiguração for concluída, os endpoints que estavam usando o nó indisponível poderão restabelecer as conexões de saída.