Application Load Balancer com AWS Elastic Beanstalk – Grupo-alvo

Application Load Balancer com AWS Elastic Beanstalk – Grupo-alvo

Estou usando umBalanceador de carga de aplicativoscomAWS Elastic Beanstalk

Após uma atualização automática do servidor AWS, recebi uma página 503 Serviço temporariamente indisponível. (somente isso, com carga de servidor quase zero - instância única)

[PHP 7.3 rodando em Amazon Linux/2.9.2 de 64 bits (atualizado automaticamente da versão 2.9.1)]

O próprio Meio Ambiente mostrou-se saudável.

Estou usando o Application Load Balancer para HTTPS e para escalonamento futuro.

Acontece que o AWS EB criou uma nova instância EC2 e encerrou a instância anterior e, portanto, não havia nenhuma instância registrada no grupo de destino para o qual o Application Load Balancer estava direcionando.

Como posso configurar a AWS para que uma instância substituta do Elastic Beanstalk EC2 sejaregistrado automaticamente em um grupo-alvopara um balanceador de carga de aplicativo?

Responder1

Isso foi há algum tempo, e o que parece ter funcionado bem para mim é adicionar o Grupo-alvo aplicável na seção Grupo-alvo em Grupos de Auto Scaling.

Então vá para o Console do EC2 e, na parte inferior do menu esquerdo (atualmente para mim, de qualquer maneira), estão os grupos de Auto Scaling. Clique no grupo de escalonamento automático da lista e, na guia Detalhes, clique em Editar e adicione o Grupo-alvo aplicável.

Isso parece mantê-los sincronizados mesmo quando as instâncias mudam.

Então deve ficar assim:Captura de tela

Responder2

Eu enfrentei exatamente o mesmo problema. Depois de um dia pesquisando no Google e tentando diferentes abordagens, acabei adicionando um script ao meu diretório .ebextensions com estas diretivas:

container_commands:
   01_register_ALB_target:
    command: "aws elbv2 register-targets --region us-east-1 --target-group-arn arn:aws:elasticloadbalancing:us-east-1:xxxxxxxx:targetgroup/xxxxx/xxxxx
--targets Id=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)"

Para ser honesto, não tenho 100% de certeza de que funcionará perfeitamente em uma situação real de travamento e reinicialização. Por exemplo, não estou fazendo nenhum esforço para remover o instanceId anterior do grupo de destino (suponho que ele seja removido automaticamente, pelo menos depois de um tempo). Mas o comando definitivamente é executado durante a implantação e parece não causar danos se a instância já estiver registrada no destino.

Ver:https://docs.aws.amazon.com/cli/latest/reference/elbv2/register-targets.html

informação relacionada