Pensei em publicar uma atualização, pois o projeto foi concluído com êxito usando uma instância do NAT.
Is using "a NAT instance" something I should be looking into? It looks complicated - Is there not a simpler solution?
Agora que a instância do NAT está configurada, o sentimento inicial de complexidade já passou e ela realmente parece bastante simples - até mais limpa do que antes (porque ser forçada a usar sub-redes privadas é um reforço de segurança).
As instruções oficiais de configuração da instância NAT da AWS funcionaram bem: link . Usamos a AMI que a Amazon fornece para inicializar a instância do NAT. Tendo passado pelo processo, isso me fez perceber como é o "padrão da indústria", talvez até mesmo a "melhor prática".
As desvantagens:
- A instância do NAT se torna um único ponto de falha. Como todo o tráfego externo proveniente de nossos servidores da Web é roteado por ele, se houver falhas, as instâncias não poderão acessar a Internet para receber atualizações de software, chamar APIs externas (como gateways de pagamento) e não conseguiremos SSH em as instâncias.
- A execução de uma máquina extra custa dinheiro e é mais para manter. (
t2.small
não é muito caro, e a AMI das ações não precisa ser modificada, portanto não é um fardo enorme de manutenção).
- As instâncias terão uma conexão de rede externa mais lenta. (Eu não consegui perceber a diferença até agora).
- Não podemos fazer o SSH em instâncias diretamente, precisamos passar pela instância do NAT (usando um Agente SSH). Isso parece pior do que é. Se você gastar alguns minutos editando
.ssh/config
e lendo em " ProxyCommand
", poderá tornar as coisas 100% transparentes, de modo que usar simplesmente ssh server1
funcione.
- Não podemos mais testar um determinado servidor no cluster usando seu IP público (ou ter um registro DNS para uma determinada máquina). Isso é algo que você supera rapidamente. Uma solução alternativa, se você realmente precisa garantir que acessa uma máquina, é criar um novo ELB e apenas colocar a máquina que deseja segmentar no pool de instâncias.