Integridade do grupo 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á.

Integridade do grupo de destino

Por padrão, um grupo de destino é considerado íntegro desde que tenha pelo menos um destino íntegro. Se você tiver uma frota grande, não é suficiente ter apenas um destino íntegro distribuindo o tráfego. Em vez disso, você pode especificar uma contagem ou percentual mínimo de destinos que devem estar íntegros e quais ações o balanceador de carga executa quando os destinos íntegros ficarem abaixo do limite especificado. Isso melhora a disponibilidade.

Ações para estado não íntegro

Você pode configurar os limites íntegros para as seguintes ações:

  • Failover de DNS: quando os destinos íntegros em uma zona ficam abaixo do limite, marcamos os endereços IP do nó do balanceador de carga da zona como não íntegros em DNS. Portanto, quando os clientes resolvem o nome DNS do balanceador de carga, o tráfego é roteado somente para zonas íntegras.

  • Failover de roteamento: quando os destinos íntegros em uma zona ficam abaixo do limite, o balanceador de carga envia tráfego para todos os destinos que estão disponíveis para o nó do balanceador de carga, incluindo destinos não íntegros. Isso aumenta a probabilidade de sucesso da conexão de um cliente, especialmente quando os destinos temporariamente são reprovados nas verificações de integridade, e reduz o risco de sobrecarga dos destinos íntegros.

Requisitos e considerações

  • Você não pode usar esse recurso com grupos de destino nos quais o destino seja uma função do Lambda. Se o Application Load Balancer for o destino de um Network Load Balancer ou Global Accelerator, não configure um limite para o failover de DNS.

  • Se você especificar os dois tipos de limites para uma ação (contagem e percentual), o balanceador de carga executará a ação quando um dos limites for violado.

  • Se você especificar limites para ambas as ações, o limite para failover de DNS deverá ser maior ou igual ao limite para failover de roteamento, de modo que o failover de DNS ocorra com o failover de roteamento ou antes dele.

  • Se você especificar o limite como um percentual, calcularemos o valor dinamicamente com base no número total de destinos registrados nos grupos de destino.

  • O número total de destinos depende do balanceamento de carga entre zonas estar ativado ou desativado. Se o balanceamento de carga entre zonas estiver desativado, cada nó enviará tráfego somente para os destinos na sua própria zona, o que significa que os limites se aplicarão ao número de destinos em cada zona habilitada separadamente. Se o balanceamento de carga entre zonas estiver ativado, cada nó enviará tráfego a todos os destinos em todas as zonas habilitadas, o que significa que os limites especificados se aplicarão ao número total de destinos em todas as zonas habilitadas.

  • Com o failover de DNS, removemos os endereços IP das zonas não íntegras do nome de host DNS do balanceador de carga. No entanto, o cache DNS do cliente local pode conter esses endereços IP até que o time-to-live (TTL) no registro DNS expire (60 segundos).

  • Quando houver um failover de DNS, todos os grupos de destino associados ao balanceador de carga serão afetados. Verifique se você tem capacidade suficiente nas zonas restantes para processar esse tráfego adicional, especialmente se o balanceamento de carga entre zonas estiver desativado.

  • Com o failover de DNS, se todas as zonas do balanceador de carga forem consideradas não íntegras, o balanceador de carga enviará tráfego para todas as zonas, incluindo as zonas não íntegras.

  • Além da existência de destinos íntegros em número suficiente, há outros fatores que podem levar ao failover de DNS, como a integridade da zona.

Monitoramento

Para monitorar a saúde de seus grupos-alvo, consulte CloudWatch as métricas da saúde do grupo-alvo.

Exemplo

O exemplo a seguir demonstra como as configurações de integridade do grupo de destino são aplicadas.

Cenário
  • Um balanceador de carga compatível com duas zonas de disponibilidade, A e B

  • Cada zona de disponibilidade contém 10 destinos registrados

  • O grupo de destino tem as seguintes configurações de integridade:

    • Failover de DNS: 50%

    • Failover de roteamento: 50%

  • Seis destinos apresentam falha na zona de disponibilidade B

Se o balanceamento de carga entre zonas estiver desativado
  • O nó do balanceador de carga em cada zona de disponibilidade só pode enviar tráfego para os 10 destinos em sua zona de disponibilidade.

  • Há 10 destinos íntegros na zona de disponibilidade A, o que atende ao percentual necessário de destinos íntegros. O balanceador de carga continua distribuindo o tráfego entre os 10 destinos íntegros.

  • Há apenas 4 destinos íntegros na zona de disponibilidade B, o que representa 40% dos destinos do nó do balanceador de carga na zona de disponibilidade B. Como isso é inferior ao percentual necessário de destinos íntegros, o balanceador de carga executará as seguintes ações:

    • Failover de DNS: a zona de disponibilidade B será marcada como não íntegra no DNS. Como os clientes não conseguem resolver o nome do balanceador de carga para o nó do balanceador de carga na zona de disponibilidade B e a zona de disponibilidade A está íntegra, os clientes enviam novas conexões para a zona de disponibilidade A.

    • Failover de roteamento: quando novas conexões são enviadas explicitamente para a zona de disponibilidade B, o balanceador de carga distribui o tráfego para todos os destinos na zona de disponibilidade B, incluindo os destinos não íntegros. Isso evita interrupções entre os destinos íntegros restantes.

Se o balanceamento de carga entre zonas estiver ativado
  • Cada nó do balanceador de carga pode enviar tráfego para todos os 20 destinos registrados em ambas as zonas de disponibilidade.

  • Há 10 destinos íntegros na zona de disponibilidade A e 4 destinos íntegros na zona de disponibilidade B, totalizando 14 destinos íntegros. Isso representa 70% dos destinos para os nós do balanceador de carga em ambas as zonas de disponibilidade, o que atende ao percentual necessário de destinos íntegros.

  • O balanceador de carga distribui tráfego entre os 14 destinos íntegros nas duas zonas de disponibilidade.

Modificar configurações de integridade do grupo de destino

Você pode modificar as configurações de integridade do grupo de destino conforme exibido a seguir.

Para modificar as configurações de integridade do grupo de destino usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, em Balanceamento de carga, selecione Grupos de destino.

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

  4. Na guia Atributos, escolha Editar.

  5. Verifique se o balanceamento de carga entre zonas está ativado ou desativado. Atualize essa configuração conforme necessário para garantir que você tenha capacidade suficiente para processar o tráfego adicional se uma zona falhar.

  6. Expanda os requisitos de integridade do grupo de destino.

  7. Em Tipo de configuração, recomendamos que você escolha Configuração unificada, que define o mesmo limite para ambas as ações.

  8. Em Requisitos de estado íntegro, execute uma das seguintes ações:

    • Escolha Contagem mínima de destinos íntegros e, em seguida, insira um número de 1 até o número máximo de destinos para seu grupo de destino.

    • Escolha Porcentagem mínima de destinos íntegros e, em seguida, insira um número de 1 a 100.

  9. Escolha Salvar alterações.

Para modificar as configurações de integridade do grupo de destino usando a AWS CLI

Use o comando modify-target-group-attributes. O exemplo a seguir define como 50% o limite de integridade de ambas as ações de estado não íntegro.

aws elbv2 modify-target-group-attributes \ --target-group-arn arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --attributes Key=target_group_health.dns_failover.minimum_healthy_targets.percentage,Value=50 \ Key=target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage,Value=50

Como usar o failover de DNS do Route 53 para o seu balanceador de carga

Se você usa o Route 53 para rotear consultas de DNS para seu balanceador de carga, também poderá configurar o failover de DNS para o seu balanceador de carga usando o Route 53. Em uma configuração de failover, o Route 53 verifica a integridade dos destinos dos grupos de destino do balanceador de carga para determinar se eles estão disponíveis. Se não houver destinos íntegros registrados no balanceador de carga ou se o próprio balanceador de carga não estiver íntegro, o Route 53 roteará o tráfego para outro recurso disponível, como um balanceador de carga íntegro ou um site estático no Amazon S3.

Por exemplo, vamos supor que você tenha uma aplicação Web para www.example.com e deseja instâncias redundantes em execução por trás de dois balanceadores de carga que residam em diferentes regiões. Você deseja que o tráfego seja roteado primariamente para o balanceador de carga em uma região e quer usar o balanceador de carga na outra região como backup durante falhas. Se você configurar o failover de DNS, poderá especificar os balanceadores de carga primário e secundário (backup). O Route 53 direcionará o tráfego para o balanceador de carga primário, se estiver disponível, ou para o balanceador de carga secundário, em caso contrário.

Como usar a opção Avaliar a integridade do destino
  • Quando a opção de avaliar a integridade do destino estiver definida como Yes em um registro de alias para um Application Load Balancer, o Route 53 avalia a integridade do recurso especificado pelo valor de alias target. Para um Application Load Balancer, o Route 53 usa as verificações de integridade do grupo de destino associadas ao balanceador de carga.

  • Quando todos os grupos de destino em um Application Load Balancer estiverem íntegros, o Route 53 marcará o registro de alias como íntegro. Se um grupo de destino contiver pelo menos um destino íntegro, sua verificação de integridade será aprovada. Em seguida, o Route 53 retornará os registros de acordo com a sua política de roteamento. Se a política de roteamento por failover for usada, o Route 53 retornará o registro primário.

  • Se algum dos grupos de destino em um Application Load Balancer não estiver íntegro, o registro de alias apresentará falha na verificação de integridade do Route 53 (falha na abertura). Se houver o uso da avaliação de integridade do destino, isso causará falha na política de roteamento por failover.

  • Se todos os grupos de destino em um Application Load Balancer estiverem vazios (sem destinos), o Route 53 considerará o registro não íntegro (falha na abertura). Se houver o uso da avaliação de integridade do destino, isso causará falha na política de roteamento por failover.

Para obter mais informações, consulte Configurar failover de DNS no Guia do desenvolvedor do Amazon Route 53.