Configurar e gerenciar a conversão de endereços de rede com o Private NAT

Nesta página, mostramos como configurar a conversão de endereços de rede (NAT, na sigla em inglês) usando o Inter-VPC NAT, um recurso do Private NAT. Antes de configurar o Inter-VPC NAT, leia a Visão geral do Private NAT.

Limitações

  • O Inter-VPC NAT não é compatível com o mapeamento independente de endpoint.
  • O Inter-VPC NAT com suporte entre projetos não está disponível na Prévia.
  • O suporte de geração de registros para Inter-VPC NAT não está disponível na Prévia.
  • Na Prévia, os gateways do Private NAT aparecem na lista de gateways NAT no console do Google Cloud. No entanto, é preciso usar apenas a CLI gcloud para atualizar qualquer gateway do Private NAT existente. Usar o console do Google Cloud para atualizar um gateway do Private NAT atual pode levar a uma configuração incorreta.
  • A drenagem de intervalos de endereços IP não é compatível com a Prévia.
  • Não é possível usar Inter-VPC NAT para converter um intervalo de endereços IP primário ou secundário específico para uma determinada sub-rede. Um gateway do Private NAT executa NAT em todos os intervalos de endereços IP de uma determinada sub-rede ou em uma lista de sub-redes.
  • Depois de criada, não é possível aumentar ou diminuir o tamanho da sub-rede do Private NAT. No entanto, é possível especificar vários intervalos de sub-redes do Private NAT para um determinado gateway.
  • O Inter-VPC NAT é compatível com, no máximo, 64.000 conexões simultâneas por endpoint.
  • O Inter-VPC NAT é compatível apenas com conexões TCP e UDP.
  • O Inter-VPC NAT é compatível com a conversão de endereços de rede (NAT, na sigla em inglês) entre spokes de nuvem privada virtual (VPC, na sigla em inglês) do Network Connectivity Center, e não com redes de nuvem privada virtual conectadas por meio do peering de rede VPC.
  • Uma instância de máquina virtual (VM) em uma rede VPC só pode acessar destinos em uma sub-rede não sobreposta em uma rede com peering, e não em uma sub-rede sobreposta.

Antes de começar

Conclua as tarefas a seguir antes de configurar o Private NAT.

Acessar permissões do IAM

O papel Administrador de rede do Compute (roles/compute.networkAdmin) concede permissões para criar um gateway NAT no Cloud Router, reservar e atribuir endereços IP de NAT e especificar sub-redes (sub-redes) cujo tráfego deve usar a conversão de endereços de rede pelo gateway NAT.

Configurar o Google Cloud

Antes de começar, configure os seguintes itens no Google Cloud.

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Instale a CLI do Google Cloud.
  5. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  6. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  7. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  8. Instale a CLI do Google Cloud.
  9. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init

As instruções da CLI do Google Cloud nesta página presumem que você tenha definido o ID do projeto antes de emitir comandos.

  1. Configure um código de projeto com o seguinte comando:

    gcloud config set project PROJECT_ID
    
  2. É possível também ver um ID projeto já configurado:

    gcloud config list --format='text(core.project)'
    

Criar uma sub-rede NAT de finalidade PRIVATE_NAT

Antes de configurar o Inter-VPC NAT, crie uma sub-rede NAT de finalidade PRIVATE_NAT. O gateway do Private NAT usa intervalos de endereços IP dessa sub-rede para executar NAT. Verifique se essa sub-rede não se sobrepõe a uma sub-rede existente em nenhum dos spokes VPC anexados ao mesmo hub do Network Connectivity Center. Não é possível criar recursos nesta sub-rede. Essa sub-rede é usada apenas para o Private NAT.

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Para mostrar a página de detalhes da rede VPC, clique no nome dela.

  3. Clique em Add subnet. Na caixa de diálogo Adicionar uma sub-rede, faça isto:

    1. Forneça um nome para a sub-rede.
    2. Selecione uma região.
    3. Em Finalidade, selecione Private NAT.
    4. Insira um Intervalo de endereços IP, que é o intervalo IPv4 principal da sub-rede.

      Se você selecionar um intervalo que não seja um endereço RFC 1918, confirme se não há incompatibilidade entre o intervalo e uma configuração existente. Para mais informações sobre intervalos de sub-rede IPv4 válidos, consulte Intervalos de sub-rede IPv4.

  4. Clique em Adicionar.

gcloud

Use o comando compute networks subnet create para criar a sub-rede.

    gcloud beta compute networks subnets create NAT_SUBNET \
      --network=NETWORK \
      --region=REGION \
      --range=IP_RANGE \
      --purpose=PRIVATE_NAT

Substitua:

  • NAT_SUBNET: o nome do intervalo de sub-rede do Private NAT a ser criado.
  • NETWORK: a rede à qual a sub-rede pertence.
  • REGION: a região da sub-rede a ser criada. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
  • IP_RANGE: o espaço de IP alocado para essa sub-rede no formato CIDR. Verifique se IP_RANGE leva em conta o uso de duas vezes o tamanho das portas necessárias por VM.

Criar configurações do Private NAT

O Inter-VPC NAT usa um gateway do Private NAT que funciona em conjunto com o Network Connectivity Center para executar NAT entre redes VPC.

Configurar Inter-VPC NAT

Para ativar a comunicação entre duas redes VPC com intervalos de IP de sub-rede sobrepostos, verifique se as redes VPC estão configuradas como spokes VPC conectados ao mesmo hub do Network Connectivity Center. Para mais informações sobre como criar spokes VPC, consulte Criar um spoke VPC.

Depois de configurar as redes VPC como spokes VPC, crie um gateway do Private NAT com uma regra NAT personalizada que executa NAT no tráfego entre os spokes VPC.

Console

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique em Primeiros passos ou Criar gateway Cloud NAT.

  3. Digite um nome de gateway.

  4. Em Tipo de NAT, selecione Particular.

  5. Selecione uma rede VPC para o gateway NAT.

  6. Defina a região para o gateway NAT.

  7. Selecione ou crie um Cloud Router na região.

  8. Em Mapeamento do Cloud NAT, na lista Origem, selecione Personalizado.

  9. Selecione uma sub-rede em que você quer executar NAT.

  10. Na lista Intervalos de IP, selecione Todos os intervalos principais e secundários.

  11. Se você quiser especificar mais intervalos, clique em Adicionar sub-rede e intervalo de IP.

  12. Clique em Adicionar uma regra.

  13. No campo Número da regra, digite qualquer valor entre 1 e 65000.

  14. Na lista Correspondência, selecione o hub correspondente do Network Connectivity Center.

  15. Selecione ou crie um intervalo de sub-rede Private NAT.

  16. Clique em Concluído e em Criar.

gcloud

  1. Crie um Cloud Router no spoke VPC para o qual você quer executar NAT. Use o comando compute routers create.

    gcloud compute routers create ROUTER_NAME \
      --network=NETWORK --region=REGION
    

    Substitua:

    • ROUTER_NAME: o nome do roteador a ser criado.
    • NETWORK: a rede VPC do roteador.
    • REGION: a região do roteador a ser criado. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
  2. Crie um gateway do Private NAT especificando as sub-redes do spoke VPC de origem para as quais você quer executar NAT.

    Use o comando compute routers nats create com a flag --type definida como PRIVATE.

    gcloud beta compute routers nats create NAT_CONFIG \
      --router=ROUTER_NAME --type=PRIVATE --region=REGION \
      --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL ...] | \
      [--nat-all-subnet-ip-ranges]
    

    Substitua:

    • NAT_CONFIG: o nome da configuração do Private NAT a ser criada.
    • ROUTER_NAME: o nome do roteador a ser usado com esse gateway. O roteador é o mesmo que você criou na etapa anterior. Garanta que nenhum outro recurso esteja associado a este roteador.
    • SUBNETWORK: o nome da sub-rede ou da lista de sub-redes que podem usar o gateway. Também é possível especificar uma lista de sub-redes em um formato separado por vírgulas, como SUBNETWORK_1, SUBNETWORK_2 e assim por diante. O Google Cloud sempre executa NAT em todos os intervalos de IP da sub-rede ou lista de sub-redes especificada.
  3. Para executar NAT no tráfego que está saindo do spoke VPC de origem para qualquer um dos spokes de VPC de peering anexados a um hub do Network Connectivity Center correspondente, crie uma regra NAT no gateway do Private NAT. Com base na regra NAT, o gateway do Private NAT atribui endereços IP NAT da sub-rede do Private NAT para executar NAT no tráfego.

    Use o comando compute routers nats rules create.

    gcloud beta compute routers nats rules create NAT_RULE_NUMBER \
      --router=ROUTER_NAME --region=REGION \
      --nat=NAT_CONFIG \
      --match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \
      --source-nat-active-ranges=NAT_SUBNET ...
    

    Substitua:

    • NAT_RULE_NUMBER: o número que identifica exclusivamente a regra a ser criada.
    • NAT_CONFIG: o nome da configuração do Private NAT da regra a ser criada. A configuração é a mesma que você criou na etapa anterior.
    • PROJECT_ID: o identificador global exclusivo do projeto em que o roteador está localizado.
    • HUB: o nome do hub correspondente do Network Connectivity Center.
    • NAT_SUBNET: o nome da sub-rede do Private NAT que você criou anteriormente. Você também pode especificar uma lista de sub-redes em um formato separado por vírgulas.

Configurar Inter-VPC NAT com alocação de porta estática

O Inter-VPC NAT usa a alocação de porta dinâmica por padrão. No entanto, é possível configurar o Inter-VPC NAT para que use alocação de porta estática.

Console

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique em Primeiros passos ou Criar gateway Cloud NAT.

  3. Digite um nome de gateway.

  4. Em Tipo de NAT, selecione Particular.

  5. Selecione uma rede VPC para o gateway NAT.

  6. Defina a região para o gateway NAT.

  7. Selecione ou crie um Cloud Router na região.

  8. Especifique os detalhes de mapeamento do Cloud NAT e crie uma regra NAT. Para mais informações, consulte Configurar Inter-VPC NAT.

  9. Clique em Configuração avançada.

  10. Desmarque Ativar alocação de porta dinâmica.

  11. Especifique o valor de Portas mínimas por instância de VM. O padrão é 64.

  12. Clique em Concluído e em Criar.

gcloud

Use o comando compute routers nats create com a flag --no-enable-dynamic-port-allocation.

  gcloud beta compute routers nats create NAT_CONFIG \
    --router=ROUTER_NAME --type=PRIVATE --region=REGION \
    --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] \
    --no-enable-dynamic-port-allocation \
    [--min-ports-per-vm=VALUE]

Substitua:

  • NAT_CONFIG: o nome da configuração do Private NAT a ser criada.
  • ROUTER_NAME: o nome do roteador a ser usado com esse gateway.
  • SUBNETWORK: o nome da sub-rede ou da lista de sub-redes que podem usar o gateway.

    Também é possível especificar uma lista de sub-redes em um formato separado por vírgulas, como SUBNETWORK_1, SUBNETWORK_2 e assim por diante. O Google Cloud sempre executa NAT em todos os intervalos de IP da sub-rede ou lista de sub-redes especificada.

  • VALUE: as portas mínimas por VM a serem atribuídas pelo gateway. Se não for especificado, o Google Cloud atribuirá o valor padrão de 64.

Ver configuração NAT

Console

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Para visualizar os detalhes do gateway NAT, informações de mapeamento ou detalhes de configuração, clique no nome do gateway NAT.

  3. Para mostrar o status do NAT, consulte a coluna Status do seu gateway NAT.

gcloud

Para ver os detalhes da configuração do NAT, execute os seguintes comandos:

  • Ver a configuração do gateway do Private NAT.

    gcloud compute routers nats describe NAT_CONFIG \
       --router=NAT_ROUTER \
       --region=REGION
    

    Substitua:

    • NAT_CONFIG: o nome da configuração NAT.
    • NAT_ROUTER: o nome do seu Cloud Router.
    • REGION: a região do NAT a ser descrito. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
  • Veja o mapeamento de intervalos de IP:porta para cada interface de VM.

    gcloud compute routers get-nat-mapping-info NAT_ROUTER \
      --region=REGION
    
  • Veja o status do gateway do Private NAT.

    gcloud compute routers get-status NAT_ROUTER \
      --region=REGION
    

Atualizar configurações do Inter-VPC NAT

Depois de configurar o gateway do Private NAT, atualize a configuração do gateway com base nos seus requisitos. As seções a seguir listam as tarefas que podem ser executadas para atualizar o gateway do Private NAT.

Alterar sub-redes associadas ao Inter-VPC NAT

Console

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique no seu gateway NAT.

  3. Clique em Editar.

  4. Em Mapeamento do Cloud NAT, na lista Origem, selecione Personalizado.

  5. Selecione uma nova sub-rede na lista de sub-redes disponíveis.

  6. Se você quiser especificar mais intervalos, clique em Adicionar sub-rede e intervalo de IP e selecione outra sub-rede.

  7. Clique em Save.

gcloud

gcloud beta compute routers nats update NAT_CONFIG \
  --router=ROUTER_NAME \
  --region=REGION \
  --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]

Substitua:

  • NAT_CONFIG: o nome da configuração do Private NAT a ser atualizada.
  • ROUTER_NAME: o nome do roteador a ser usado com esse gateway.
  • SUBNETWORK: o nome da sub-rede a ser usada.

Excluir sub-redes associadas ao Inter-VPC NAT

É possível remover sub-redes específicas do gateway NAT que não estão mais em uso.

Console

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique no seu gateway NAT.

  3. Clique em Editar.

  4. Exclua a sub-rede que você quer remover do mapeamento NAT.

  5. Clique em Save.

Excluir configuração NAT

A exclusão de uma configuração de gateway remove a configuração NAT de um Cloud Router. Ela não exclui o roteador.

Console

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Marque a caixa de seleção ao lado da configuração de gateway que você quer excluir.

  3. No Menu, clique em Excluir.

gcloud

gcloud compute routers nats delete NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • NAT_ROUTER: o nome do seu Cloud Router.
  • REGION: a região do NAT a ser excluída. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).

A seguir