A modificação do ouvinte de um ELB na AWS drena normalmente as conexões no ECS?

A modificação do ouvinte de um ELB na AWS drena normalmente as conexões no ECS?

Minha equipe e eu estamos tentando encontrar a melhor maneira de implementar azul/verde para AWS ECS, mas não conseguimos responder definitivamente a uma pergunta sobre balanceadores de carga de aplicativos.

Até agora, o método que mais parece atender aos nossos objetivos é implantar um serviço azul e um serviço verde em grupos-alvo separados e atualizar o ouvinte em nosso balanceador de carga de aplicativo. No entanto, temos algumas transações de longa duração e de acordo com este artigo:

https://aws.amazon.com/blogs/compute/bluegreen-deployments-with-amazon-ecs/

Este método de azul/verde não drena as conexões normalmente. No entanto, li recentemente uma postagem de outro engenheiro da AWS que contradiz isso e afirma que a modificação do ouvinte afeta apenas novas conexões de entrada e, portanto, drena normalmente.

Alguém pode esclarecer o que realmente acontece quando modifico o ouvinte para um ELB?

Responder1

Você devetenha ELB como parte de sua pilha, ou seja, um ELB paraazulpilha e um ELB paraverdepilha.

Dessa forma, você pode executar um conjunto completo de testes de aceitação em relação ao novo ELB e, quando estiver satisfeitosubstitua o nome ELB no DNS. Isso não afetará suas sessões de longa duração, pois elas manterão suas conexões com o antigo ELB mesmo se o DNS mudar.

Espero que ajude :)

Responder2

Documentação da AWS sobre Application Load Balancersafirma que quando você cancela o registro de um destino, suas conexões são esgotadas. O que você pode fazer é cancelar o registro dos alvos em seu grupo de destino para drenar as conexões normalmente. É claro que isto não é tão ideal quanto selecionar entre vários grupos-alvo.

Lembre-se de que você também não pode ter vários ouvintes no mesmo ELB com o mesmo protocolo de porta.

Como outro usuário afirmou em sua resposta, você deve ter ELBs separados em sua implantação e apenas alternar entre eles no Route53. Dessa forma, você pode usar facilmente políticas de roteamento para enviar apenas uma parte do tráfego para o ELB/grupo de destino apropriado (digamos 80% para azul, 20% para verde).

informação relacionada