Vou ter várias instâncias do EC2 em um grupo de dimensionamento automático do Elastic Beanstalk em uma sub-rede padrão em uma VPC. O aplicativo nessas instâncias do EC2 precisa se conectar a um serviço de terceiros que usa uma lista de permissões de endereços IP para permitir o acesso. Portanto, preciso de um ou mais endereços IP estáticos que eu possa fornecer a esse provedor de serviços para que possam ser adicionados à lista de permissões. Meu entendimento é que a única maneira de obter um IP estático é obter um endereço IP Elastic. E só posso associar o Elastic IP a uma instância do EC2 por vez - não consigo associá-lo a toda a minha sub-rede ou gateway da Internet (isso está correto?). Então, preciso de um IP Elastic para cada instância do EC2, para que cada instância possa ser incluída na lista de permissões separadamente? Como isso funcionaria se o dimensionamento automático adicionasse outra instância? Devo ter uma instância do EC2 com um IP Elastic, e rotear todo o tráfego de saída através dessa instância? Em caso afirmativo, essa instância precisa ser apenas para esse fim ou pode ser uma das instâncias que estão executando meu aplicativo?
fonte
Entendo que esse é um encadeamento antigo - para alguém que tenha um caso de uso semelhante agora, o AWS nat-gateway seria uma solução melhor.
fonte
Não tenho reputação suficiente para comentar as respostas acima, mas queria adicionar algumas informações que você precisará saber se estiver usando um gateway NAT para conseguir isso. Ao criar um gateway NAT, você seleciona uma sub-rede e um endereço IP elástico.
Inicialmente, acabei de adicionar o gateway NAT à mesma sub-rede em que meu balanceador de carga elástico e instâncias EC2 estavam. Em seguida, você deve adicionar o gateway NAT à sua tabela de rotas. Adicionei o gateway NAT como destino do IP do meu servidor de banco de dados externo com o qual estava tentando entrar em contato. Isso resultou no tempo limite dos aplicativos hospedados no meu pé de feijão elástico. Isso ocorre porque eles estavam tentando se conectar a esse banco de dados externo por meio do NAT. Eles alcançaram o NAT e, em seguida, o NAT tentou acessar meu servidor pela Internet e procurou na tabela de rotas a sub-rede em que estava, o que estava voltando a si próprio, criando um loop.
A solução é, antes de criar seu gateway NAT, criar uma nova sub-rede apenas para o NAT, para que o NAT tenha sua própria sub-rede e tabela de rotas. Na tabela de rotas do NAT, aponte todo o tráfego para o gateway da Internet. Na sua tabela de rotas principal, aponte seu IP externo para o NAT. Então, quando suas instâncias do EC2 tentarem se conectar ao seu IP externo, elas as procurarão na tabela de rotas principal (ou em qualquer tabela de rotas que você definiu para as sub-redes em que suas instâncias estão) e localizam o NAT. Então, seu NAT procurará esse IP em sua própria tabela de rotas e encontrará a Internet.
fonte