Global Accelerator (GA) usa verificações de integridade para determinar o status operacional dos endpoints. O mecanismo de verificação de integridade melhora a confiabilidade e a disponibilidade dos seus serviços e impede que endpoints anormais afetem seus serviços.
Introdução às verificações de integridade
Você pode ativar verificações de integridade para grupos de endpoints de uma instância GA. Após ativar as verificações de integridade, quando um endpoint falha em uma verificação de integridade, o GA distribui automaticamente novas solicitações para outros endpoints aprovados nas verificações de integridade. Quando o endpoint anormal retorna ao normal, o GA o restaura automaticamente para o serviço.
O GA suporta verificações de integridade baseadas nos protocolos TCP, HTTP e HTTPS.
Verificações de integridade TCP
As verificações de integridade TCP são baseadas em detecção de camada de rede. Elas enviam mensagens de handshake SYN para verificar se a porta do servidor está ativa. A figura a seguir mostra o processo de verificação de integridade:
Número | Descrição |
① | A instância GA envia um pacote TCP SYN para o endereço IP e a porta de verificação de integridade do endpoint com base na configuração de verificação de integridade do listener. |
② | O resultado da verificação de integridade é determinado com base no fato de o endpoint retornar ou não um pacote SYN+ACK.
Nota O Response Timeout Period é o tempo máximo para aguardar uma resposta de uma verificação de integridade. Se o endpoint não responder corretamente dentro do Response Timeout Period, a verificação de integridade falhará. O valor padrão é 3 segundos e não pode ser modificado. |
③ | Após a instância GA receber um pacote SYN+ACK do endpoint, ela envia um pacote ACK para o endpoint para confirmar a conexão. |
Verificações de integridade HTTP e HTTPS
As verificações de integridade HTTP e HTTPS são baseadas em requisições GET. Elas enviam requisições GET para simular o comportamento de acesso do navegador e verificar se o aplicativo do servidor do endpoint está íntegro. A figura a seguir mostra o processo de verificação de integridade:
Número | Descrição |
① | A instância GA envia uma requisição HTTP GET para o endereço IP, a porta de verificação de integridade e o Health Check Path do endpoint com base na configuração de verificação de integridade do listener. |
② | Após receber a solicitação, o endpoint determina se retorna um código de status HTTP com base no status operacional do serviço correspondente.
Nota O Response Timeout Period é o tempo máximo para aguardar uma resposta de uma verificação de integridade. Se o endpoint não responder corretamente dentro do Response Timeout Period, a verificação de integridade falhará. O valor padrão é 3 segundos e não pode ser modificado. |
Janela de tempo de verificação de integridade
O mecanismo de verificação de integridade melhora efetivamente a disponibilidade dos serviços de negócios. No entanto, para evitar o impacto de falhas frequentes de verificação de integridade na disponibilidade do sistema, o status de verificação de integridade muda apenas após múltiplas verificações de integridade bem-sucedidas ou com falha consecutivas dentro da janela de tempo de verificação de integridade. A janela de tempo de verificação de integridade é determinada pelos três fatores a seguir:
Intervalo de verificação de integridade: O intervalo entre duas verificações de integridade consecutivas.
Response Timeout Period: O tempo máximo para aguardar uma resposta do serviço de backend.
Healthy Threshold: O número de verificações de integridade consecutivas necessárias para uma mudança de status de verificação de integridade.
A janela de tempo de verificação de integridade é calculada da seguinte forma:
Janela de tempo de falha de verificação de integridade = Response Timeout Period × Healthy Threshold + Intervalo de verificação de integridade × (Healthy Threshold - 1)
Por exemplo, conforme mostrado na figura a seguir, se o Response Timeout Period for 3 segundos, o intervalo de verificação de integridade for 2 segundos e o Healthy Threshold for 3, a janela de tempo de falha de verificação de integridade = 3 × 3 + 2 × (3 - 1) = 13 segundos.
Janela de tempo de sucesso de verificação de integridade = (Tempo de resposta de sucesso de verificação de integridade × Healthy Threshold) + Intervalo de verificação de integridade × (Healthy Threshold - 1)
Por exemplo, conforme mostrado na figura a seguir, se o tempo de resposta de sucesso de verificação de integridade for 1 segundo, o intervalo de verificação de integridade for 2 segundos e o Healthy Threshold for 3, a janela de tempo de sucesso de verificação de integridade = 1 × 3 + 2 × (3 - 1) = 7 segundos.
Limites
Para listeners UDP, os endpoints devem ter serviços TCP, HTTP ou HTTPS para suportar verificações de integridade. Caso contrário, serão marcados como anormais.
Ativar verificações de integridade
Faça login no console do Global Accelerator.
Na página Instances, encontre a instância GA de destino e clique em Configure Listener na coluna Actions.
Na guia Listeners, encontre o listener de destino e clique em Mod Lsnr na coluna Actions.
Na página Edit Listener, clique em Next.
Na seção Health Check da página do assistente Configure Endpoint Group, ative Health Check e configure a verificação de integridade com base nas informações a seguir.
Configuração
Descrição
Health Check Protocol
Selecione o protocolo para verificações de integridade. Os protocolos TCP, HTTP e HTTPS são compatíveis.
As verificações de integridade TCP são baseadas em detecção de camada de rede. Elas enviam mensagens de handshake SYN para verificar se a porta do servidor está ativa.
As verificações de integridade HTTP e HTTPS são baseadas em requisições GET. Elas enviam requisições GET para simular o comportamento de acesso do navegador e verificar se o aplicativo do servidor do endpoint está íntegro.
Port
A porta que o serviço de verificação de integridade usa para acessar o endpoint.
Valores válidos: 1 a 65535.
Health Check Domain Name
Configure o nome de domínio para verificações de integridade. Esse recurso está disponível apenas para instâncias GA com pagamento conforme o uso.
Endpoint IP Address (padrão): Usa o endereço IP do endpoint como nome de domínio para verificações de integridade.
Custom Domain Name: Insira um nome de domínio especificado.
Health Check Interval
O intervalo entre duas verificações de integridade consecutivas. Unidade: segundos.
Valores válidos: 1 a 50. Valor padrão: 2.
URI
Especifique o caminho para verificações de integridade. Esse parâmetro está disponível apenas quando Health Check Protocol está definido como HTTP ou HTTPS.
O caminho deve começar com uma barra (/). O caminho pode ter de 1 a 80 caracteres e pode conter letras, dígitos, hifens (-), barras (/), pontos (.), sinais de porcentagem (%), pontos de interrogação (?), sustenidos (#), e comerciais (&) e os caracteres estendidos
_;~!()*[]@$^:',+.Por padrão, o sistema GA envia requisições GET para a página inicial padrão do aplicativo do servidor de backend. Se a página usada para verificações de integridade não for a página inicial padrão do servidor de aplicativo, especifique o caminho para as verificações de integridade.
Healthy Threshold
O número de verificações de integridade consecutivas necessárias para uma mudança de status de verificação de integridade. Isso inclui o número de verificações de integridade com falha consecutivas para alterar o status de sucesso para falha, ou o número de verificações de integridade com êxito consecutivas para alterar o status de falha para sucesso.
Valores válidos: 2 a 10. Valor padrão: 3.
Clique em Next. Na página do assistente Configuration Review, confirme as informações de verificação de integridade e clique em Submit.
Mais operações
Operação | Descrição |
Modificar configuração de verificação de integridade |
|
Desativar verificações de integridade |
|
Referências
CreateEndpointGroup: Cria um grupo de endpoints (é possível configurar verificações de integridade).
UpdateEndpointGroup: Modifica a configuração de um grupo de endpoints (é possível configurar verificações de integridade).
GetHealthStatus: Consulta as informações de verificação de integridade dos endpoints.