O problema:
standard AMI instance not working correctly as a NAT instance
Se você tentar usar uma instância da AMI padrão como uma instância do NAT, ela terá os mesmos sintomas descritos na pergunta acima:
- Conexão SSH com o NAT = OK
- Conexão SSH com instância de sub-rede privada = OK
- ping para / da instância de sub-rede privada = OK
- chamadas de saída da instância de sub-rede privada = FAIL (mesmo com rota válida tabelas / grupos de segurança)
A solução difícil:
Para obter uma instância AMI padrão funcionando como uma instância NAT, você precisa personalizá-la:
- modifique o iptables como mostrado aqui
- Verifique se o encaminhamento de IPv4 está ativado e se os redirecionamentos de ICMP estão desativados, conforme indicado aqui
A solução fácil:
use a Community amzn-ami-vpc-nat instance already configured for use as a NAT instance
Para a maioria das pessoas (que estão usando a instância do NAT para fins de conexão administrativa), uma instância NAT personalizada é simplesmente desnecessária.
O AWS fornece instâncias padrão configuradas para uso de NAT (ou seja, modificadas conforme descrito acima) como instâncias de AMI da comunidade.
- clique em
Launch Instance
no painel de controle do EC2 - em
Step 1: Choose an Amazon Machine Image (AMI)
, clique no seletorCommunity AMIs
à esquerda - digite
amzn-ami-vpc-nat 2017
ou mais simplesmentenat 2017
(observação abaixo) na caixa de entrada de pesquisa - inicie seu NAT e garanta que suas tabelas de rotas + grupos de segurança estejam corretas - veja aqui
Nota:
O motivo pelo qual você inclui o ano na pesquisa de instância da AMI da Comunidade é que a AWS mantém todas as versões antigas da NAT AMI (21 no momento da redação, voltando a 2013) - que incluem principalmente um ano no número da versão.
... é melhor / mais fácil simplesmente escolher a versão mais recente.