Como posso descobrir por que o AWS ELB acredita que meu serviço está falhando?

Como posso descobrir por que o AWS ELB acredita que meu serviço está falhando?

Eu tenho um serviço registrado com dois grupos-alvo: albe wwwalb.

O albgrupo-alvo é para solicitações internas e o wwwalbgrupo-alvo é para solicitações externas.

Quando eu implanto meu serviço, ele inicia como deveria e começa a aceitar solicitações. Olhando para o log de acesso, posso ver que tanto o albquanto wwwalbinvestiga o serviço. Como o serviço é executado em 3 zonas, vejo 3 solicitações para cada zona, 6 no total.

 - - - [19/Jun/2022:20:45:28 +0200] "GET /api/system/status HTTP/1.1" 204 -
 - - - [19/Jun/2022:20:45:28 +0200] "GET /api/system/status HTTP/1.1" 204 -
 - - - [19/Jun/2022:20:45:28 +0200] "GET /api/system/status HTTP/1.1" 204 -
 - - - [19/Jun/2022:20:45:30 +0200] "GET /api/system/status HTTP/1.1" 204 -
 - - - [19/Jun/2022:20:45:30 +0200] "GET /api/system/status HTTP/1.1" 204 -
 - - - [19/Jun/2022:20:45:30 +0200] "GET /api/system/status HTTP/1.1" 204 -

Apesar disso, o serviço acaba sendo desativado porque os grupos-alvo acreditam que o serviço não é saudável. Na verdade, nunca parece pensar que o serviço é saudável.

insira a descrição da imagem aqui

Uma chamada de API para verificar o grupo de destino informa o seguinte:

{
    "TargetHealthDescriptions": [
        {
            "Target": {
                "Id": "10.1.143.94",
                "Port": 8182,
                "AvailabilityZone": "eu-north-1b"
            },
            "HealthCheckPort": "8182",
            "TargetHealth": {
                "State": "unhealthy",
                "Reason": "Target.FailedHealthChecks",
                "Description": "Health checks failed"
            }
        }
    ]
}

Já faz algum tempo que estou analisando as métricas do grupo-alvo e as configurações do balanceador de carga - mas simplesmente não consigo encontrar nada sobre a configuração que possa explicar esse comportamento. As configurações de verificação de integridade também parecem boas para mim:

insira a descrição da imagem aqui

Recentemente adicionei o wwwalb, então estou pensando que, de alguma forma, ter esse serviço em dois grupos-alvo causa isso. Por outro lado, ter um serviço em dois grupos-alvo é suportado e explicado pela AWS.

Existe uma maneira de obter mais detalhes da AWS sobre o que realmente está causando esse problema? Alguma maneira de descobrir por que a AWS acredita que o serviço está falhando?

Responder1

Normalmente defino meu limite não saudável para algo superior ao meu limite saudável. Assim como 2 chamadas bem-sucedidas com intervalo de 10 segundos são saudáveis, 6 chamadas malsucedidas com intervalo de 10 segundos não são saudáveis.

Dito isto, isso não deveria importar e suas configurações deveriam funcionar. Quando um alvo está sendo registrado, ocorre um estado "inicial". Durante esse período, a AWS está tentando validar as verificações de integridade e só deverá mudar para um estado íntegro se as verificações de integridade forem bem-sucedidas.

Pode levar alguns minutos para que o processo de registro seja concluído e as verificações de integridade sejam iniciadas.

Tem certeza de que seu aplicativo não está respondendo com êxito e falhando por um tempo suficiente para não funcionar novamente? Ou será que demora muito para iniciar e nunca sai do estado "inicial"?

informação relacionada