Verificações de integridade para os grupos de destino - Elastic Load Balancing

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Verificações de integridade para os grupos de destino

Seu Application Load Balancer enviará periodicamente solicitações para seus destinos registrados para testar o status deles. Esses testes se chamam verificações de integridade.

Cada nó do load balancer só roteia solicitações para os destinos íntegros nas Zonas de disponibilidade habilitadas para o load balancer. Cada nó do load balancer verifica a integridade de cada destino usando as configurações de verificação de integridade para os grupos de destino em que o destino é registrado. Após o destino ser registrado, ele deverá ser aprovado em uma verificação de integridade para ser considerado íntegro. Após cada verificação de integridade ser concluída, o nó do load balancer fechará a conexão estabelecida para a verificação de integridade.

Se um grupo de destino contiver apenas destinos registrados não íntegros, o load balancer roteará solicitações a todos esses destinos, independentemente do status de integridade deles. Isso significa que se todos os destinos falharem nas verificações de integridade ao mesmo tempo em todas as zonas de disponibilidade ativadas, o balanceador de carga falhará em aberto. O efeito da abertura de falha é permitir o tráfego para todos os destinos em todas as zonas de disponibilidade ativadas, independentemente de seu status de integridade, com base no algoritmo de balanceamento de carga.

As verificações de integridade não oferecem suporte ao WebSockets.

Configurações de verificação de integridade

Você pode configurar verificações de integridade para os destinos em um grupo de destino conforme descrito na tabela a seguir. Os nomes de configuração usados na tabela são os nomes usados na API. O load balancer envia uma solicitação de verificação de integridade a todos os destinos registrados, a cada HealthCheckIntervalSeconds segundos, usando a porta, o protocolo e o caminho de ping especificados. Cada solicitação de verificação de integridade é independente e o resultado dura por todo o intervalo. O tempo necessário para o destino responder não afeta o intervalo da próxima solicitação de verificação de integridade. Se a verificação de integridade exceder as falhas consecutivas de UnhealthyThresholdCount, o load balancer tirará o destino de serviço. Quando as verificações de integridade excederem os sucessos consecutivos de HealthyThresholdCount, o load balancer colocará o destino de volta em serviço.

Configuração Descrição

HealthCheckProtocol

O protocolo que o load balancer usa ao executar verificações de integridade nos destinos. Os protocolos possíveis são HTTP e HTTPS. O padrão é o protocolo HTTP.

HealthCheckPort

A porta que o load balancer usa ao executar verificações de integridade nos destinos. O padrão é usar a porta em que cada destino recebe o tráfego do load balancer.

HealthCheckPath

O destino das verificações de integridade nos destinos.

Se a versão do protocolo for HTTP/1.1 ou HTTP/2, especifique um URI válido (/caminho?interrogação). O padrão é /.

Se a versão do protocolo for gRPC, especifique o caminho de um método de verificação de integridade personalizado com o formato/Package.Class/method. O padrão é /AWS.ALB/healthcheck.

HealthCheckTimeoutSeconds

O tempo, em segundos, durante o qual ausência de resposta de um destino significa uma falha na verificação de integridade. O intervalo é de 2 a 120 segundos. O padrão é de 5 segundos se o tipo de destino é instance ou ip e de 30 segundos se o tipo de destino é lambda.

HealthCheckIntervalSeconds

A quantia aproximada de tempo, em segundos, entre as verificações de integridade de um destino individual. O intervalo é de 5 a 300 segundos. O padrão é de 30 segundos se o tipo de destino é instance ou ip e de 35 segundos se o tipo de destino é lambda.

HealthyThresholdCount

O número de verificações de integridade bem-sucedidas consecutivas necessárias antes de considerar íntegro um destino não íntegro. O intervalo é de 2 a 10. O padrão é 5.

UnhealthyThresholdCount

O número de verificações de integridade consecutivas exigido antes considerar um destino não íntegro. O intervalo é de 2 a 10. O padrão é 2.

Matcher

Os códigos a serem usados ao verificar uma resposta bem-sucedida de um destino. Estes são chamadosCódigos de sucessoNo console do.

Se a versão do protocolo for HTTP/1.1 ou HTTP/2, os valores possíveis serão de 200 a 499. Você pode especificar valores múltiplos (por exemplo, "200,202") ou um intervalo valores (por exemplo, "200-299"). O valor padrão é 200.

Se a versão do protocolo for gRPC, os valores possíveis serão de 0 a 99. Você pode especificar valores múltiplos (por exemplo, "0,1") ou um intervalo valores (por exemplo, "0-5"). O valor padrão é 12.

Status de integridade do destino

Antes que o load balancer envie uma solicitação de verificação de integridade para um destino, você deverá registrá-lo com um grupo de destino, especificar o grupo de destino em uma regra do listener e garantir que a Zona de disponibilidade do destino esteja habilitado para o load balancer. Antes de um destino receber solicitações do load balancer, ele deverá ser aprovado nas verificações de integridade iniciais. Após o destino ser aprovado nas verificações de integridade iniciais, o status será Healthy.

A tabela a seguir descreve os valores possíveis para o status de integridade de um destino registrado.

Valor Descrição

initial

O load balancer está no processo de registro do destino ou executando as verificações de integridade iniciais no destino.

Códigos de motivo relacionados: Elb.RegistrationInProgress | Elb.InitialHealthChecking

healthy

O destino é íntegro.

Códigos de motivo relacionados: Nenhum

unhealthy

O destino não respondeu a uma verificação de integridade ou falhou em uma verificação de integridade.

Códigos de motivo relacionados: Target.ResponseCodeMismatch | Target.Timeout | Target.FailedHealthChecks | Elb.InternalError

unused

O destino não está registrado em um grupo de destino, o grupo de destino não é usado em uma regra do listener, o destino está em uma zona de disponibilidade desativada ou o destino está no estado parado ou encerrado.

Códigos de motivo relacionados: Target.NotRegistered | Target.NotInUse | Target.InvalidState | Target.IpUnusable

draining

O destino está cancelando o registro e está acontecendo drenagem da conexão.

Código de motivo relacionado: Target.DeregistrationInProgress

unavailable

As verificações de integridade estão desativadas para o grupo de destino.

Código de motivo relacionado: Target.HealthCheckDisabled

Códigos de motivo de verificação de integridade

Se o status de um destino for qualquer valor diferente de Healthy, a API retornará um código de motivo e uma descrição do problema; o console exibirá a mesma descrição em uma dica de ferramenta. Os códigos de motivo que começarem com Elb são originados no load balancer, e os códigos de motivo que começarem com Target são originados no destino.

Código do motivo Descrição

Elb.InitialHealthChecking

Verificações de integridade iniciais em andamento

Elb.InternalError

As verificações de integridade falharam devido a um erro interno

Elb.RegistrationInProgress

O registro do destino está em andamento

Target.DeregistrationInProgress

O cancelamento do registro do destino está em andamento

Target.FailedHealthChecks

Verificações de integridade com falha

Target.HealthCheckDisabled

As verificações de integridade estão desativadas

Target.InvalidState

O destino está no estado interrompido

O destino está no estado encerrado

O destino está no estado encerrado ou interrompido

O destino está em um estado inválido

Target.IpUnusable

O endereço IP não pode ser usado como um destino, uma vez que está sendo usado por um load balancer.

Target.NotInUse

O grupo de destino não está configurado para receber tráfego do load balancer

O destino está em uma Zona de disponibilidade que não está habilitada para o load balancer

Target.NotRegistered

O destino não está registrado no grupo de destino

Target.ResponseCodeMismatch

As verificações de integridade apresentaram falhas com estes códigos: [código]

Target.Timeout

Solicitação expirada

Verificar a integridade de seus destinos

Você pode verificar a integridade dos destinos registrados com seus grupos de destino.

New console

Para verificar a integridade dos seus destinos usando o novo console

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Escolha o nome do grupo de destino para abrir sua página de detalhes.

  4. Na guia Destinos, a coluna Status indica o status de cada destino.

  5. Se o status for qualquer valor diferente deHealthy, oDetalhes do statuscoluna contém mais informações.

Old console

Para verificar a integridade dos seus destinos usando o console antigo

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Selecione o grupo de destino.

  4. Na guia Destinos, a coluna Status indica o status de cada destino.

  5. Se o status for qualquer valor diferente de Healthy, visualize a dica de ferramenta para obter mais informações.

Para verificar a integridade dos seus destinos usando a AWS CLI

Use o comando describe-target-health. O resultado desse comando contém o estado de integridade do destino. Se o status for qualquer valor diferente de Healthy, a saída também inclui um código de motivo.

Como receber notificações por e-mail sobre destinos não íntegros

Use alarmes do CloudWatch para acionar uma função do Lambda para enviar detalhes sobre destinos não íntegros. Para obter instruções detalhadas, consulte a seguinte publicação do blog: Identificação de destinos não íntegras do balanceador de carga.

Modificar as configurações de verificação de integridade de um grupo de destino

Você pode modificar as configurações de verificação de integridade do seu grupo de destino a qualquer momento.

New console

Para modificar as configurações de verificação de integridade de um grupo de destino usando o novo console

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Escolha o nome do grupo de destino para abrir sua página de detalhes.

  4. NoDetalhes do grupo doguia, na guiaConfigurações de verificação de integridadeSeção, selecioneEdite.

  5. NoEditar configurações de verificação de integridadeNa página, modifique as configurações conforme o necessário e, em seguida, selecioneSalve as alterações.

Old console

Para modificar as configurações de verificação de integridade de um grupo de destino usando o console antigo

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em LOAD BALANCING, selecione Grupos de destino.

  3. Selecione o grupo de destino.

  4. Na guia Verificações de integridade, selecione Editar.

  5. Na página Editar grupo de destino, modifique as configurações conforme o necessário e, em seguida, selecione Salvar.

Para modificar as configurações de verificação de integridade de um grupo de destino usando a AWS CLI

Use o comando modify-target-group.