Você precisa de um NAT. Esta configuração é comumente usada para suportar sub-redes privadas no VPC. Há um guia bastante detalhado aqui . Uma vez que seu VPC esteja configurado para usar a instância NAT, todo o tráfego de saída será atribuído ao EIP da instância NAT.
If so, does that instance need to be solely for this purpose or can it be one of the instances that's running my app?
Tecnicamente, você provavelmente poderia, mas não é uma boa ideia:
- É uma boa segurança ter papéis isolados.
- Você deseja que seus servidores de aplicativos tenham perfis de carga semelhantes ou idênticos. Se uma instância tiver uma carga extra de 10% por causa do NAT, você terá que aumentar o tamanho prematuramente quando atingir os limites dessa instância. Isso vai piorar à medida que o NAT fica mais ocupado à medida que mais instâncias são adicionadas ao seu cluster.
- Você deseja que seus servidores de aplicativos sejam idênticos e efêmeros, para que você possa derrubá-los e / ou substituí-los sempre que houver um problema ou precisar escalar. Ter um servidor de aplicativos diferente dos demais seria uma grande dor de cabeça.
Você pode saber se suas instâncias são conteinerizadas, mas provavelmente ainda não é uma ótima ideia.
Lembre-se também de que sua instância do NAT pode ser um ponto único de falha, então você pode querer pensar em redundância.