AWS VPC - por que uma sub-rede privada?

8

No Amazon VPC, o assistente de criação de VPC permite criar uma única "sub-rede pública" ou fazer com que o assistente crie uma "sub-rede pública" e uma "sub-rede privada". Inicialmente, a opção de sub-rede pública e privada parecia boa por razões de segurança, permitindo que os servidores da Web fossem colocados na sub-rede pública e nos servidores de banco de dados na sub-rede privada.

Mas, desde então, soube que instâncias do EC2 na sub-rede pública não são acessíveis pela Internet, a menos que você associe um Amazon ElasticIP à instância do EC2. Parece que, com apenas uma única configuração de sub-rede pública, pode-se optar por não associar um ElasticIP aos servidores de banco de dados e acabar com o mesmo tipo de segurança.

Alguém pode explicar as vantagens de uma configuração de sub-rede pública + privada? As vantagens dessa configuração estão mais relacionadas ao dimensionamento automático ou é realmente menos seguro ter uma única sub-rede pública?

JKim
fonte
Pelo que vale, instâncias EC2 na sub-rede pública podem ser acessadas da Internet, mesmo sem um ElasticIP - elas obtêm um endereço IP público de qualquer maneira. A diferença entre esse endereço IP público e um ElasticIP é simplesmente que o endereço IP público pode mudar quando você reinicia sua instância, enquanto um ElasticIP permanece o tempo que você desejar.
offby1

Respostas:

4

É um limite de segurança ter uma sub-rede privada que você pode controlar com diferentes grupos de segurança da sub-rede pública. Se uma de suas instâncias na sub-rede pública foi invadida, será muito mais difícil invadir instâncias na sub-rede privada se você não for muito liberal em suas políticas de acesso.

generalnetworkerror
fonte
1
Obrigado. A VPC com sub-rede pública + privada parece o caminho a percorrer se a AWS lançar uma instância NAT gratuitamente. Estou pensando em pequenas implantações e estava tentando descobrir se o custo de uma instância NAT todos os meses valia as vantagens da configuração de 2 sub-redes.
JKim
2
@jkim É consideravelmente mais acessível agora que eles finalmente suportam t1.microem uma VPC.
Jeffrey Hantin
2

Além das implicações de segurança, também existe outro aspecto: se você deseja permitir que instâncias sem IPs elásticos acessem a Internet, pode ser necessário 2 (ou mais) sub-redes diferentes.

Parafraseando a documentação da AWS , dentro de uma VPC, existem três maneiras de permitir o acesso à Internet de instâncias:

  1. IPs elásticos - mas você só recebe 5 por padrão, acho que precisa pagar mais
  2. Rotear o tráfego por um Gateway Privado Virtual - isso exige que você tenha uma conexão VPN de hardware com a rede corporativa (ou doméstica)
  3. Configure uma instância NAT e roteie todo o tráfego de saída via NAT

A terceira opção é a interessante: a instância NAT deve ficar dentro de uma sub-rede "pública", onde todo o tráfego de saída é roteado para um Gateway da Internet, mas todas as outras instâncias precisam ficar em uma sub-rede "privada", onde todo o tráfego de saída é roteado para a instância NAT.

Em resumo, se você planeja usar um NAT, precisa de pelo menos 2 sub-redes.

Tom Poulton
fonte
Obrigado Tom. Eu acho que também é possível ter uma sub-rede pública, mas apenas atribuir um ElasticIP à instância do NAT. As outras instâncias na sub-rede pública terão acesso à Internet de saída por meio do Gateway da Internet, e o acesso de entrada poderá ser configurado via porta para frente na instância NAT. Tive a sensação de que 2 sub-redes é o caminho "adequado", mas não vejo uma razão clara para isso.
JKim