Ainda não o implementei, mas estou pensando em usar a Reconfiguração On-the-fly do NGiNX Plus . Estou pensando que a AMI, ou o gerenciamento de configuração (Puppet, Salt ou algo semelhante) que configura uma instância do Auto Scaling Group, poderia alcançar a API de reconfiguração do NGiNX (talvez, por meio de um nome de domínio interno Route53, para que nenhum IP fixo o fizesse). precisa ser usado) e adicione-se ao cluster upstream para o proxy reverso. Depois que a verificação de integridade interna do NGiNX assumisse o controle dessa instância [adicionada] e a descartaria caso ela se tornasse indisponível. Essa parece a solução mais limpa e não há atraso na adição da instância, e quase nenhum atraso na remoção, pois o NGiNX Plus apresenta verificação de integridade fora da banda.
Essa abordagem evita a necessidade de configurar um sistema de detecção automática (Consul, Serf ou algo semelhante) que, para configurações menores, geralmente pareça muita sobrecarga, tanto nos termos de configuração / administração quanto nas instâncias EC2 necessárias. O Consul, por exemplo, exige no mínimo três instâncias para ser estável. Talvez o serviço seja executado nas instâncias ASG, mas ainda há a sobrecarga de mantê-las, e se o ASG reduzir para uma ou duas instâncias, você perderá o quorum.
Por fim, isso pode ser combinado com a notificação automática de alterações no grupo de escalonamento automático, talvez nos servidores NGiNX que são / são usados para balanceamento de carga. Um ouvinte acionado por essa notificação (que também pode ser chamado de Upendra) pode adicionar instantaneamente a nova instância ao NGiNX por meio da API de modificação On-the-fly. Além do custo do NGiNX Plus, isso nos faz pensar por que alguém usaria o Elastic Load Balancer com seus inúmeros problemas em primeiro lugar.
Editar 2015/12/07: ngx_openresty 's balanceador-by-lua ( ver esta discussão GitHub ) oferece uma outra solução de código aberto possível para hot-adicionar / remover servidores de grupo montante Nginx. Eu ainda não experimentei isso, mas gostaria de adicionar uma menção aqui para quem se deparar com este post.