AWS: NAT Gateway na sub-rede pública. Por quê?

2

Pelo que entendi, uma sub-rede pública é aquela que pode rotear o tráfego para a Internet através de um Gateway de Internet, e uma sub-rede privada é aquela que não pode (não pode acessar a internet nem pode ser acessada a partir dela). Para acessar a Internet, uma sub-rede privada precisa rotear o tráfego através de um Gateway NAT.

Eu posso confirmar isso porque estou usando essa configuração com sucesso.

Mas ... os documentos da Amazon dizem o contrário (a ênfase é ousada é minha) :

The instances in the public subnet can receive inbound traffic directly from the Internet, whereas the instances in the private subnet can't. The instances in the public subnet can send outbound traffic directly to the Internet, whereas the instances in the private subnet can't. Instead, the instances in the private subnet can access the Internet by using a network address translation (NAT) instance that you launch into the public subnet.

Importa onde reside o gateway NAT? Em caso afirmativo, quais são os casos de uso de colocá-lo em uma sub-rede privada / pública?

    
por Julian 07.06.2017 / 19:31

3 respostas

4

Um Gateway NAT (bem como uma Instância NAT, pelo que vale a pena) deve estar em uma sub-rede pública porque somente dispositivos em sub-redes públicas podem realmente usar um endereço IP público.

Isso é o que faz de uma sub-rede pública uma sub-rede pública.

A definição pedante de uma sub-rede pública é uma sub-rede cuja tabela de rotas VPC associada tem pelo menos uma rota apontando para o Gateway de Internet ... mas na prática, normalmente é uma sub-rede com sua rota padrão (na tabela de rotas VPC) apontando para o gateway da Internet.

Por outro lado, uma sub-rede privada é uma sub-rede sem essa rota. Normalmente, a rota padrão para uma sub-rede privada aponta para um dispositivo NAT, embora possa apontar para uma VPN de hardware ou uma conexão de conexão direta.

Se um dispositivo NAT não estiver em uma sub-rede pública, ele (por definição) não tem rotas pelas quais o tráfego traduzido pode alcançar a Internet, porque seu tráfego de saída segue a tabela de rotas para a sub-rede na qual está localizada ... então a sub-rede em que o NAT Gateway está localizado - novamente, por definição - deve ser uma sub-rede pública.

Não há implicação de segurança de colocar um NAT Gateway em uma sub-rede pública, já que as tentativas de conexão de entrada nunca são aceitas em nenhuma circunstância. Isso é algo que você não pode desconfigurar.

Se você está pensando em termos de LAN, a suposição natural é que um dispositivo NAT precisa estar "ligado" a pelo menos duas sub-redes, a sub-rede externa (endereços públicos) e a sub-rede interna (endereços privados). A rede VPC não é a LAN que parece ser. É uma rede de camada 3 definida por software que emula Ethernet de maneira muito clara, mas não é Ethernet.

    
por 08.06.2017 / 04:49
0

A diferença entre o endereçamento público e privado é que os ISPs concordaram em não rotear pacotes usando o endereçamento privado atribuído arbitrariamente. Do ponto de vista do IP, não há diferença entre os endereços privados e públicos, e o endereçamento é feito da mesma maneira com qualquer um deles.

O local lógico para NAT é onde você conecta uma rede privada a um ISP, que não roteará pacotes com endereços privados. Isso geralmente está na borda da zona de endereçamento privada, mas isso não é necessariamente o melhor lugar. Por exemplo, muitas empresas têm endereços privados e públicos, e não é necessário para NAT entre as zonas públicas e privadas dentro da empresa, mas é necessário entre a empresa e qualquer ISP que a empresa usa para qualquer tráfego usando endereços privados para e da Internet pública. Esse local pode estar na zona pública de uma empresa se todo o tráfego com endereçamento privado fluir pela zona pública da empresa para chegar à Internet pública.

    
por 07.06.2017 / 19:41
0

NACLs e tabelas de rotas se aplicam a um NAT-gateway, portanto você pode considerar o NAT-gateway como outra instância do EC2 e, portanto, ele precisa estar em uma sub-rede pública para acessar o gateway da Internet e rotear o tráfego.

Eu não vejo nenhum outro uso do gateway NAT na AWS, que não pode ser resolvido por tabelas de rotas.

    
por 07.06.2017 / 20:47