1. Identificar o caminho que traduz o endereço
Uma allowlist de um parceiro deve usar o endereço que o parceiro observa no caminho real. Num NAT público zonal, a saída pela Internet através do IGW da mesma VPC utiliza o Elastic IP. Se o tráfego seguir para TGW ou VGW, o endereço traduzido relevante é privado. Um NAT privado não se torna uma saída pública ao acrescentar uma rota para IGW; esse caminho é rejeitado. Desenha o destino, o percurso e as traduções antes de alterar a allowlist. A localização privada de uma instância não determina, sozinha, o caminho usado. Para um serviço financeiro, confirma a origem nos registos do parceiro com uma operação autorizada e sem dados reais, e associa a evidência à rota e ao modo NAT que estavam ativos.
2. Escolher disponibilidade com o modo explícito
As instruções de um NAT zonal não descrevem todos os modos atuais. Num desenho zonal, uma única gateway numa AZ cria uma dependência para outras zonas que a utilizam. A distribuição por AZ deve incluir rotas correspondentes. O modo regional permite um ID comum e gestão de presença em várias zonas; não exige uma subnet pública para alojar a gateway. Em modo automático, a expansão para uma nova AZ não é instantânea e pode haver processamento temporário noutra zona. Em modo manual, a equipa gere essa expansão. NAT privado continua a exigir o modo zonal nas funcionalidades consultadas. Define no desenho o modo escolhido, a propriedade dos endereços e o comportamento durante expansão, em vez de aprovar apenas uma caixa chamada NAT altamente disponível.
3. Separar resolução, síntese e transporte IPv6
Uma aplicação IPv6-only que consulta um destino apenas IPv4 precisa de mais do que uma resposta DNS. DNS64 pode sintetizar um endereço com o prefixo 64:ff9b::/96 a partir do IPv4; o tráfego para esse prefixo precisa de seguir para uma NAT gateway que execute NAT64. Se já existir uma resposta IPv6, a resolução mantém esse caminho nativo. Para saída IPv6 nativa sem início de ligações pela Internet, usa o comportamento de uma egress-only internet gateway; ela não converte IPv6 em IPv4. No teste, verifica separadamente o nome, a resposta, a rota mais específica e a operação. O exercício local mostra apenas a seleção entre um destino sintetizado e um destino nativo; não consulta DNS nem demonstra que a aplicação aceita ambos.
4. Ler capacidade nas unidades corretas
Uma falha ao abrir ligações pode coexistir com largura de banda baixa. A capacidade de portas depende das ligações concorrentes ao mesmo destino, definido por endereço, porta e protocolo. Na documentação consultada, cada IPv4 acrescenta até 55 000 ligações concorrentes por destino; isso não é um limite global de pedidos HTTP por segundo. Confirma os limites e quotas do modo escolhido antes de dimensionar endereços. ErrorPortAllocation indica falhas de alocação de porta e merece correlação com concorrência e reutilização de ligações. Para NAT regional, inclui a dimensão AvailabilityZone além do ID. Compara métricas do mesmo intervalo e unidade. Uma média de bytes pode esconder picos de pacotes, e uma contagem de ligações estabelecidas que inclui retransmissões não fornece, sozinha, a taxa de sucesso de transações.
5. Diagnosticar sessões sem inventar disponibilidade
Um cliente que reutiliza uma ligação TCP depois de um longo período sem tráfego pode receber RST: o timeout de inatividade documentado é 350 segundos. Distingue a duração sem tráfego da duração total da transação. Avalia o comportamento do pool, keepalive e repetição segura, sem aumentar retries de instruções não idempotentes. Um ping à própria gateway não é uma prova suficiente de saúde do caminho; testa um destino apropriado e a operação relevante. Protocolos suportados, MTU e fragmentação também importam. IPsec bruto e IPsec encapsulado em UDP por NAT-T são casos diferentes. Não apliques automaticamente recomendações antigas de sysctl encontradas numa página de troubleshooting: verifica a versão do sistema e a existência do parâmetro antes de propor uma alteração ao Linux de produção.
6. Migrar com contratos de endereço e de sessão
Migrar de NAT zonal para regional pode alterar endereços, interromper ligações ou ambos. Reutilizar um Elastic IP não transfere o estado das sessões; a abordagem documentada com reutilização exige uma janela de interrupção. Se forem usados novos endereços, coordena previamente as allowlists dos parceiros e mantém uma estratégia de reversão aprovada. No ensaio, acompanha reconexões, instruções confirmadas e pendentes, erros de portas e origem observada pelo destino. Um teste HTTP bem-sucedido não basta para aceitar um batch com ligações persistentes. A entrega a RUN deve incluir os endereços e zonas esperados, os limiares definidos pela equipa, os proprietários dos contratos externos e os critérios para parar a mudança. Regista o estado efetivo antes de retirar a infraestrutura antiga.
from ipaddress import IPv4Address, IPv6Address, IPv6Network
prefix = IPv6Network("64:ff9b::/96")
def synthesize(v4):
return IPv6Address(int(prefix.network_address) | int(IPv4Address(v4)))
def conceptual_route(address):
return "NAT64" if IPv6Address(address) in prefix else "native-IPv6"
assert str(synthesize("192.0.2.7")) == "64:ff9b::c000:207"
assert conceptual_route(synthesize("192.0.2.7")) == "NAT64"
assert conceptual_route("2001:db8::7") == "native-IPv6"
assert int(synthesize("192.0.2.7")) & 0xffffffff == int(IPv4Address("192.0.2.7"))
assert synthesize("192.0.2.7") != synthesize("192.0.2.8")
print("five synthesis checks passed; no DNS query or network translation performed")
Exemplo fictício: um batch passa a usar NAT regional com novos endereços. As chamadas internas funcionam, mas o parceiro recusa a origem. A equipa identifica a allowlist não atualizada, interrompe o avanço da mudança e coordena a aceitação do endereço com reconciliação das instruções pendentes.
Armadilhas comuns
Aplicar limites zonais a todos os modos; confundir EIP com origem privada via TGW; tratar DNS64 como transporte; interpretar reutilização de IP como preservação de sessões.
Tópicos relacionados: IPv6 e DNS · Capacidade e observabilidade · Cutover e parceiros
Desenha resolução, tradução, capacidade e continuidade com o modo e o caminho declarados.
Referência: NAT gateways · ANS-C01