

# Casos de uso do gateway NAT
<a name="nat-gateway-scenarios"></a>

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

**Topics**
+ [Acessar a Internet a partir de uma sub-rede privada](#public-nat-internet-access)
+ [Acessar sua rede de endereços IP permitidos](#private-nat-allowed-range)
+ [Habilitar a comunicação entre redes sobrepostas](#private-nat-overlapping-networks)

## Acessar a Internet a partir de uma sub-rede privada
<a name="public-nat-internet-access"></a>

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.

**Topics**
+ [Visão geral](#public-nat-gateway-overview)
+ [Roteamento](#public-nat-gateway-routing)
+ [Testar o gateway NAT público](#public-nat-gateway-testing)

### Visão geral
<a name="public-nat-gateway-overview"></a>

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. Os gateways NAT privados e públicos mapeiam o endereço IPv4 privado de origem das instâncias para o endereço IPv4 privado do gateway NAT privado, mas no caso de um gateway NAT público, o gateway da internet mapeia o endereço IPv4 privado do gateway NAT público para o endereço IP elástico associado ao gateway NAT. Ao enviar tráfego de resposta para as instâncias, seja um gateway NAT público ou privado, o gateway NAT converte o endereço de volta para o endereço IP de origem inicial.

![\[VPC com sub-redes públicas e privadas, um gateway NAT e um gateway da Internet.\]](http://docs.aws.amazon.com/pt_br/vpc/latest/userguide/images/public-nat-gateway-diagram.png)


Observe que, se as instâncias na sub-rede privada na zona de disponibilidade A também precisarem acessar a Internet, você poderá criar uma rota dessa sub-rede para o gateway NAT na zona de disponibilidade B. Como alternativa, é possível melhorar a resiliência criando um gateway NAT em cada zona de disponibilidade que contenha recursos que exigem acesso à Internet. Para ver um exemplo de diagrama, consulte [Exemplo: VPC com servidores em sub-redes privadas e NAT](vpc-example-private-subnets-nat.md).

### Roteamento
<a name="public-nat-gateway-routing"></a>

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) | Alvo | 
| --- | --- | 
| 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) | Alvo | 
| --- | --- | 
| 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) | Alvo | 
| --- | --- | 
| 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) | Alvo | 
| --- | --- | 
| CIDR DA VPC | local | 
| 0.0.0.0/0 | nat-gateway-id | 

Para obter mais informações, consulte [Gerenciar tabelas de rotas de sub-redes](WorkWithRouteTables.md).

### Testar o gateway NAT público
<a name="public-nat-gateway-testing"></a>

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](#nat-gateway-testing-example).

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](nat-gateway-troubleshooting.md).

#### Testar a conexão com a internet
<a name="nat-gateway-testing-example"></a>

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).

1. 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 grupo de segurança 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.

1. Configure o encaminhamento de agente SSH no computador local e conecte-se ao bastion host na sub-rede pública. Para obter mais informações, consulte [Para configurar o encaminhamento de agente SSH para Linux ou macOS](#ssh-forwarding-linux) ou [Configurar o encaminhamento de agente SSH para Windows](#ssh-forwarding-windows).

1. No bastion host, 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](#test-internet-connection).<a name="ssh-forwarding-linux"></a>

**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
   ```

1. 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
   ```<a name="ssh-forwarding-windows"></a>

**Configurar o encaminhamento de agente SSH para Windows**  
Você pode usar o cliente OpenSSH disponível no Windows ou instalar seu cliente SSH preferencial (por exemplo, PuTTY).

------
#### [ OpenSSH ]

Instale o OpenSSH para Windows conforme descrito neste artigo: [Getting started with OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse). Em seguida, adicione sua chave ao agente de autenticação. Para obter mais informações, consulte [Key-based authentication in OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement).

------
#### [ PuTTY ]

1. Faça download e instale o Pageant na [página de download PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/), se ele ainda não estiver instalado.

1. Converta sua chave privada no formato .ppk. Para obter mais informações, consulte [Converter a chave privada usando o PuTTYgen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html#putty-private-key) no *Guia do usuário do Amazon EC2*.

1. 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)**.

1. 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 usando PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html). Na categoria **Auth**, selecione a opção **Allow agent forwarding** e deixe a caixa **Private key file for authentication** em branco.

------<a name="test-internet-connection"></a>

**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
   ```

1. 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\$1C** no teclado para cancelar o comando `ping`. Se o comando `ping` falhar, consulte [As instâncias não conseguem acessar a Internet](nat-gateway-troubleshooting.md#nat-gateway-troubleshooting-no-internet-connection).

1. (Opcional) Se você não precisar mais das instâncias, termine-as. Para obter mais informações, consulte [Terminar sua instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) no *Guia do usuário do Amazon EC2*.

## Acessar sua rede de endereços IP permitidos
<a name="private-nat-allowed-range"></a>

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.

**Topics**
+ [Visão geral](#private-nat-allowed-range-overview)
+ [Recursos](#private-nat-allowed-range-resources)
+ [Roteamento](#private-nat-allowed-range-routing)

### Visão geral
<a name="private-nat-allowed-range-overview"></a>

O diagrama a seguir mostra como as instâncias podem acessar os recursos on-premises por meio da Site-to-Site 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 Site-to-Site VPN.\]](http://docs.aws.amazon.com/pt_br/vpc/latest/userguide/images/allowed-range.png)


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.

![\[Tráfego de sub-rede de VPC roteado por meio de gateway NAT privado\]](http://docs.aws.amazon.com/pt_br/vpc/latest/userguide/images/private-nat-allowed-range.png)


### Recursos
<a name="private-nat-allowed-range-resources"></a>

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 name="private-nat-allowed-range-routing"></a>

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
<a name="private-nat-overlapping-networks"></a>

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.\]](http://docs.aws.amazon.com/pt_br/vpc/latest/userguide/images/overlapping-networks.png)


**Topics**
+ [Visão geral](#private-nat-overlapping-networks-overview)
+ [Recursos](#private-nat-overlapping-networks-resources)
+ [Roteamento](#private-nat-overlapping-networks-routing)

### Visão geral
<a name="private-nat-overlapping-networks-overview"></a>

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 gateway NAT e gateway de trânsito privados para comunicação entre VPCs com um CIDR sobreposto\]](http://docs.aws.amazon.com/pt_br/vpc/latest/userguide/images/private-nat-overlapping-networks.png)


### Recursos
<a name="private-nat-overlapping-networks-resources"></a>

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 name="private-nat-overlapping-networks-routing"></a>

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 | 