Casos de uso do gateway NAT - Amazon Virtual Private Cloud

Casos de uso do gateway NAT

Os exemplos a seguir são casos de uso de gateways NAT públicos e privados.

Acessar a Internet a partir de uma sub-rede privada

Você pode usar um gateway NAT público para permitir que instâncias em uma sub-rede privada enviem tráfego para a Internet, enquanto impede que a Internet estabeleça conexões com essas instâncias.

Visão geral

O diagrama a seguir ilustra esse caso de uso. Existem duas zonas de disponibilidade, com duas sub-redes em cada uma. A tabela de rotas para cada sub-rede determina como o tráfego é encaminhado. Na zona de disponibilidade A, as instâncias na sub-rede pública podem acessar a Internet por meio de uma rota para o gateway da Internet, enquanto as instâncias na sub-rede privada não têm rota para a Internet. Na zona de disponibilidade B, a sub-rede pública contém um gateway NAT e as instâncias na sub-rede privada podem acessar a Internet por meio de uma rota para o gateway NAT na sub-rede pública. O gateway NAT envia o tráfego para o gateway da Internet usando o endereço de IP elástico como endereço IP de origem.


            VPC com sub-redes públicas e privadas, um gateway NAT e um gateway da Internet.

Roteamento

A tabela de rotas a seguir está associada à sub-rede pública na zona de disponibilidade A. A primeira entrada é a rota local. Ela permite que as instâncias na sub-rede se comuniquem com outras instâncias na VPC usando endereços IP privados. A segunda entrada envia todo o outro tráfego da sub-rede para o gateway da Internet; o que permite que as instâncias na sub-rede acessem a Internet.

Destination (Destino) Destino
CIDR DA VPC local
0.0.0.0/0 internet-gateway-id

A tabela de rotas a seguir está associada à sub-rede privada na zona de disponibilidade A. A entrada é a rota local, que permite que as instâncias na sub-rede se comuniquem com outras instâncias na VPC usando endereços IP privados. As instâncias nessa sub-rede não têm acesso à Internet.

Destination (Destino) Destino
CIDR DA VPC local

A tabela de rotas a seguir está associada à sub-rede pública na zona de disponibilidade B. A primeira entrada é a rota local. Ela permite que as instâncias na sub-rede se comuniquem com outras instâncias na VPC usando endereços IP privados. A segunda entrada envia todo o outro tráfego da sub-rede para o gateway da Internet; o que permite que o gateway NAT na sub-rede acesse a Internet.

Destination (Destino) Destino
CIDR DA VPC local
0.0.0.0/0 internet-gateway-id

A tabela de rotas a seguir está associada à sub-rede privada na zona de disponibilidade B. A primeira entrada é a rota local. Ela permite que as instâncias na sub-rede se comuniquem com outras instâncias na VPC usando endereços IP privados. A segunda entrada envia todos os outros tráfegos da sub-rede ao gateway NAT.

Destination (Destino) Destino
CIDR DA VPC local
0.0.0.0/0 nat-gateway-id

Para obter mais informações, consulte Trabalhar com tabelas de rotas.

Testar o gateway NAT público

Após criar o gateway NAT e atualizar as tabelas de rotas, você poderá executar ping endereços remotos na internet de uma instância na sua sub-rede privada para testar se ela pode se conectar à Internet. Para obter um exemplo de como fazer isso, consulte Testar a conexão com a internet.

Se conseguir conectar à Internet, você também poderá testar se o tráfego da Internet é roteado via gateway NAT:

  • rastreie a rota do tráfego de uma instância em sua sub-rede privada. Para isso, execute o comando traceroute em uma instância Linux em sua sub-rede privada. Na saída, você deve ver o endereço IP privado do gateway NAT em um dos saltos (em geral, o primeiro salto).

  • Use um site ou uma ferramenta de terceiros que exiba o endereço IP de origem quando você se conecta a ele de uma instância de sua sub-rede privada. O endereço IP de origem deve ser o endereço IP elástico do seu gateway NAT.

Se esses testes falharem, consulte Solucionar problemas de gateways NAT.

Testar a conexão com a internet

O exemplo a seguir demonstra como testar se uma instância em uma sub-rede privada pode se conectar com a Internet.

  1. Execute uma instância em sua sub-rede pública (use-a como bastion host). No Launch Wizard, é necessário selecionar uma AMI do Amazon Linux e atribuir um endereço IP público à instância. Verifique se as regras do grupo de segurança permitem tráfego SSH de entrada do intervalo de endereços IP de sua rede local e tráfego SSH de saída para o intervalo de endereços IP da sub-rede privada (você também pode usar 0.0.0.0/0 para tráfego SSH de entrada e de saída para este teste).

  2. Execute uma instância em sua sub-rede privada. No Launch Wizard, selecione uma Amazon Linux AMI. Não atribua um endereço IP público à sua instância. Confirme se as regras de seu security group permitem tráfego SSH de entrada do intervalo de endereços IP privados da instância que você executou na sub-rede pública e todos os tráfegos ICMP de saída. Você deve escolher o mesmo par de chaves que usou para executar sua instância na sub-rede pública.

  3. Configure o encaminhamento de agente SSH no computador local e conecte-se ao host bastion na sub-rede pública. Para obter mais informações, consulte Para configurar o encaminhamento de agente SSH para Linux ou macOS ou Para configurar o encaminhamento de agente SSH para Windows (PuTTY).

  4. No host bastion, conecte-se à instância na sub-rede privada e teste a conexão com a internet na instância na sub-rede privada. Para obter mais informações, consulte Para testar a conexão com a internet.

Para configurar o encaminhamento de agente SSH para Linux ou macOS

  1. Em seu computador local, adicione sua chave privada para o agente de autenticação.

    No Linux, use o comando a seguir:

    ssh-add -c mykeypair.pem

    No macOS, use o comando a seguir:

    ssh-add -K mykeypair.pem
  2. Conecte-se à sua instância na sub-rede pública usando a opção -A para permitir o encaminhamento de agente SSH e use o endereço público da instância, conforme mostrado no exemplo a seguir.

    ssh -A ec2-user@54.0.0.123

Para configurar o encaminhamento de agente SSH para Windows (PuTTY)

  1. Faça download e instale o Pageant na página de download PuTTY, se ele ainda não estiver instalado.

  2. Converta sua chave privada no formato .ppk. Para obter mais informações, consulte Converter a chave privada com PuTTYgen no Manual do usuário do Amazon EC2 para instâncias do Linux.

  3. Inicie o Pageant, clique com o botão direito no ícone do Pageant na barra de tarefas (ele pode estar oculto) e escolha Add Key. Selecione o arquivo .ppk que você criou, digite a senha se necessário e escolha Open (Abrir).

  4. Inicie a sessão PuTTY session e conecte-se à sua instância na sub-rede pública usando o respectivo endereço IP. Para obter mais informações, consulte Conectar-se à instância do Linux. Na categoria Auth, selecione a opção Allow agent forwarding e deixe a caixa Private key file for authentication em branco.

Para testar a conexão com a internet

  1. Em sua instância na sub-rede pública, conecte-se à sua instância na sub-rede privada usando o endereço IP privado, conforme mostrado no exemplo a seguir.

    ssh ec2-user@10.0.1.123
  2. Na instância privada, teste se é possível conectar-se à Internet executando o comando ping para um site que tenha o ICMP habilitado.

    ping ietf.org
    PING ietf.org (4.31.198.44) 56(84) bytes of data. 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=1 ttl=47 time=86.0 ms 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=2 ttl=47 time=75.6 ms ...

    Pressione Ctrl+C no teclado para cancelar o comando ping. Se o comando ping falhar, consulte As instâncias não conseguem acessar a Internet.

  3. (Opcional) Se você não precisar mais das instâncias, termine-as. Para obter mais informações, consulte Terminar a instância no Manual do usuário do Amazon EC2 para instâncias do Linux.

Acessar sua rede de endereços IP permitidos

Você pode usar um gateway NAT privado para permitir a comunicação de suas VPCs para sua rede on-premises usando um grupo de endereços permitidos. Em vez de atribuir a cada instância um endereço IP separado do intervalo de endereços IP permitidos, você pode rotear o tráfego da sub-rede destinado à rede on-premises por meio de um gateway NAT privado, com um endereço IP do intervalo de endereços IP permitidos.

Visão geral

O diagrama a seguir mostra como as instâncias podem acessar os recursos on-premises por meio da AWS VPN. O tráfego das instâncias é roteado para um gateway privado virtual, pela conexão VPN, para o gateway do cliente e, em seguida, para o destino na rede on-premises. No entanto, suponha que o destino permita tráfego somente de um intervalo de endereços IP específico, como 100.64.1.0/28. Isso impediria que o tráfego dessas instâncias chegasse à rede on-premises.


            Acessar uma rede on-premises usando uma conexão da AWS VPN.

O diagrama a seguir mostra os principais componentes da configuração deste cenário. A VPC tem seu intervalo de endereços IP original e o intervalo de endereços IP permitidos. A VPC tem uma sub-rede do intervalo de endereços IP permitidos com um gateway NAT privado. O tráfego das instâncias destinadas à rede on-premises é enviado para o gateway NAT antes de ser roteado para a conexão VPN. A rede on-premises recebe o tráfego das instâncias com o endereço IP de origem do gateway NAT, que está no intervalo de endereços IP permitidos.


            O tráfego da sub-rede da VPC é roteado por meio de um gateway NAT privado usando o endereço IP do gateway NAT como seu endereço de origem.

Recursos

Crie ou atualize recursos da seguinte maneira:

  • Associe o intervalo de endereços IP permitidos à VPC.

  • Crie uma sub-rede na VPC do intervalo de endereços IP permitidos.

  • Crie um gateway NAT privado na nova sub-rede.

  • Atualize a tabela de rotas para a sub-rede com as instâncias, para enviar tráfego destinado à rede on-premises para o gateway NAT. Adicione uma rota à tabela de rotas para a sub-rede com o gateway NAT privado que envia o tráfego destinado à rede on-premises para o gateway privado virtual.

Roteamento

A tabela de rotas a seguir está associada à primeira sub-rede. Existe uma rota local para cada CIDR da VPC. As rotas locais permitem que os recursos na sub-rede se comuniquem com outros recursos na VPC usando endereços IP privados. A terceira entrada envia tráfego destinado à rede on-premises para o gateway NAT privado.

Destination (Destino) Destino
10.0.0.0/16 local
100.64.1.0/24 local
192.168.0.0/16 nat-gateway-id

A tabela de rotas a seguir está associada à segunda sub-rede. Existe uma rota local para cada CIDR da VPC. As rotas locais permitem que os recursos na sub-rede se comuniquem com outros recursos na VPC usando endereços IP privados. A terceira entrada envia o tráfego destinado à rede on-premises para o gateway privado virtual.

Destination (Destino) Destino
10.0.0.0/16 local
100.64.1.0/24 local
192.168.0.0/16 vgw-id

Habilitar a comunicação entre redes sobrepostas

Você pode usar um gateway NAT privado para habilitar a comunicação entre redes, mesmo se elas tiverem intervalos CIDR sobrepostos. Por exemplo, suponha que as instâncias na VPC A precisem acessar os serviços fornecidos pelas instâncias na VPC B.


          Duas VPCs com intervalos CIDR sobrepostos.

Visão geral

O diagrama a seguir mostra os principais componentes da configuração deste cenário. Primeiro, sua equipe de gerenciamento de IP determina quais intervalos de endereços podem se sobrepor (intervalos de endereços não roteáveis) e quais não podem (intervalos de endereços roteáveis). A equipe de gerenciamento de IP aloca intervalos de endereços do grupo de intervalos de endereços roteáveis a projetos, mediante solicitação.

Cada VPC tem seu intervalo de endereços IP original, que não é roteável, além do intervalo de endereços IP roteáveis atribuído a ela pela equipe de gerenciamento de IP. A VPC A tem uma sub-rede de seu intervalo roteável com um gateway NAT privado. O gateway NAT privado obtém seu endereço IP de sua sub-rede. A VPC B tem uma sub-rede de seu intervalo roteável com um Application Load Balancer. O Application Load Balancer obtém seus endereços IP de suas sub-redes.

O tráfego de uma instância na sub-rede não roteável da VPC A destinada às instâncias na sub-rede não roteável da VPC B é enviado por meio do gateway NAT privado e, em seguida, roteado para o gateway de trânsito. O gateway de trânsito envia o tráfego ao Application Load Balancer, que o roteia a uma das instâncias de destino na sub-rede não roteável da VPC B. O tráfego do gateway de trânsito para o Application Load Balancer tem o endereço IP de origem do gateway NAT privado. Portanto, o tráfego de resposta do balanceador de carga usa o endereço do gateway NAT privado como destino. O tráfego de resposta é enviado para o gateway de trânsito e, em seguida, roteado para o gateway NAT privado, que traduz o destino para a instância na sub-rede não roteável da VPC A.


            Uma VPC com um gateway NAT privado e um gateway de trânsito para permitir a comunicação entre VPCs com um CIDR sobreposto.

Recursos

Crie ou atualize recursos da seguinte maneira:

  • Associe os intervalos de endereços IP roteáveis atribuídos às respectivas VPCs.

  • Crie uma sub-rede na VPC A de seu intervalo de endereços IP roteáveis e crie um gateway NAT privado nessa nova sub-rede.

  • Crie uma sub-rede na VPC B de seu intervalo de endereços IP roteáveis e crie um Application Load Balancer nessa nova sub-rede. Registre as instâncias na sub-rede não roteável com o grupo de destino para o balanceador de carga.

  • Crie um gateway de trânsito para conectar as VPCs. Certifique-se de desabilitar a propagação de rotas. Quando você anexar cada VPC ao gateway de trânsito, use o intervalo de endereços roteáveis da VPC.

  • Atualize a tabela de rotas da sub-rede não roteável na VPC A para enviar todo o tráfego destinado ao intervalo de endereços roteáveis da VPC B para o gateway NAT privado. Atualize a tabela de rotas da sub-rede roteável na VPC A para enviar todo o tráfego destinado ao intervalo de endereços roteáveis da VPC B para o gateway de trânsito.

  • Atualize a tabela de rotas da sub-rede roteável na VPC B para enviar todo o tráfego destinado ao intervalo de endereços roteáveis da VPC A para o gateway de trânsito.

Roteamento

A tabela a seguir é a tabela de rotas para a sub-rede não roteável na VPC A.

Destination (Destino) Destino
10.0.0.0/16 local
100.64.1.0/24 local
100.64.2.0/24 nat-gateway-id

A tabela a seguir é a tabela de rotas para a sub-rede roteável na VPC A.

Destination (Destino) Destino
10.0.0.0/16 local
100.64.1.0/24 local
100.64.2.0/24 transit-gateway-id

A tabela a seguir é a tabela de rotas para a sub-rede não roteável na VPC B.

Destination (Destino) Destino
10.0.0.0/16 local
100.64.2.0/24 local

A tabela a seguir é a tabela de rotas para a sub-rede roteável na VPC B.

Destination (Destino) Destino
10.0.0.0/16 local
100.64.2.0/24 local
100.64.1.0/24 transit-gateway-id

Veja a seguir a tabela de rotas de gateway de trânsito.

CIDR Attachment Tipo de rota
100.64.1.0/24 Anexo para a VPC A Estático
100.64.2.0/24 Anexo para a VPC B Estático