grupo de escalonamento automático de sub-rede pública da AWS com NAT de saída

2

Eu vi esta pergunta: Endereço IP estático para o tráfego de saída do grupo de escalonamento automático da AWS , mas ele não parece se encaixar exatamente no que estou tentando fazer.

Este é o cenário:

Eu tenho um grupo de servidores web de escalonamento automático que recebe tráfego de um ELB. Isso está funcionando bem para o tráfego da web de entrada.

A questão é que eu tenho vários serviços externos aos quais esses servidores da Web precisam se conectar. Esses serviços exigem que eu forneça ao fornecedor um endereço IP para que eles possam colocar na lista de permissões meus servidores fazendo as solicitações. Estou tentando criar uma instância de NAT para que as solicitações de saída provenientes desses servidores da Web pareçam estar vindo de um único IP (já que o grupo de dimensionamento pode ter qualquer IP atribuído automaticamente).

Todos os cenários da AWS giram em torno de dar acesso à sub-rede privada à Internet por meio de um NAT. Nesse caso, preciso rotear apenas solicitações originadas dessas caixas por meio do NAT. tráfego de entrada da web ainda deve funcionar como normal com as respostas passando diretamente pelo gateway da Internet.

Quando eu tento configurar isso, modificando a tabela de rotas principal para enviar tráfego de saída através do NAT, tudo pára de funcionar (eu suponho porque não há nenhuma regra para o tráfego de roteamento através do gateway de internet desde que eu apenas mudei para o NAT)

Espero que isso faça sentido. Qualquer sugestão seria muito apreciada.

    
por gmorse 04.02.2015 / 15:53

1 resposta

4

A instância do NAT é a solução correta para a situação em que você está, mas suspeito que você tenha cometido um erro de provisionamento comum - você tem suas instâncias do servidor da Web na mesma sub-rede que o seu ELB.

É intuitivo fazer isso dessa maneira, mas não está correto, a menos que seus servidores da Web também tenham seus próprios endereços IP públicos.

Eu assumo isso, porque senão não há motivos para que os servidores da Web não respondam a solicitações quando você altera suas rotas padrão - os servidores da Web não falam com os navegadores, falam apenas com o ELB - - então o que tecnicamente quebra quando você muda a rota padrão é que os ELBs não podem mais voltar aos navegadores.

A configuração correta é colocar o ELB em uma sub-rede pública - que usa o Gateway da Internet como sua rota padrão, e os servidores da Web em uma sub-rede privada - que usa uma instância do NAT como sua rota padrão. A própria instância NAT também entra em uma sub-rede pública, é claro.

Consulte acesso à Internet via sub-rede pública da VPC com ELB ligado .

Embora este documento da AWS seja sobre o Elastic Beanstalk, a ilustração ainda é relevante. O ELB é mostrado em uma sub-rede pública, junto com uma instância NAT, e os servidores da Web estão em uma sub-rede privada.

Veja também Por que precisamos de uma sub-rede privada? VPC?

    
por 05.02.2015 / 01:21