Global Accelerator (GA) utiliza verificações de integridade para determinar o status de endpoints. Esse mecanismo aumenta a confiabilidade e a disponibilidade do service ao impedir que o tráfego seja direcionado para endpoints não íntegros.
Introdução às verificações de integridade
É possível ativar verificações de integridade para os grupos de endpoints da sua instância GA. Quando um endpoint falha na verificação, o GA redireciona automaticamente novas requisições para outros endpoints íntegros. Após a recuperação e aprovação nas verificações, o GA retoma automaticamente o roteamento de tráfego para esse endpoint.
O GA suporta verificações de integridade via TCP, HTTP e HTTPS.
Verificações de integridade TCP
As verificações de integridade TCP operam na camada de transporte. O service envia um pacote de handshake SYN para sondar se a porta do servidor está ativa. O processo ocorre da seguinte forma:
Etapa | Descrição |
① | Com base na configuração de verificação de integridade do listener, a instância GA envia um pacote TCP SYN para o endereço IP e a porta de verificação de integridade do endpoint. |
② | O resultado da verificação depende do retorno de um pacote SYN+ACK pelo endpoint.
Nota O tempo limite de resposta é o período máximo de espera por uma resposta à sonda de verificação. A falta de resposta correta nesse intervalo resulta em falha na verificação. O padrão do sistema é 3 segundos e não pode ser alterado. |
③ | Ao receber o pacote SYN+ACK, a instância GA envia um pacote ACK ao endpoint para concluir o handshake TCP. |
Verificações de integridade HTTP e HTTPS
As verificações HTTP e HTTPS utilizam requisições GET para simular o acesso de um navegador e checar a integridade da aplicação de service de backend no endpoint. O fluxo é descrito abaixo:
Etapa | Descrição |
① | Utilizando a configuração de verificação do listener, a instância GA envia uma requisição HTTP GET para o endereço IP, porta e caminho de verificação de integridade do endpoint. |
② | Após receber a requisição, o endpoint retorna um código de status HTTP conforme a integridade do service.
Nota O tempo limite de resposta é o período máximo de espera por uma resposta à sonda de verificação. A falta de resposta correta nesse intervalo resulta em falha na verificação. O padrão do sistema é 3 segundos e não pode ser alterado. |
Janela de tempo de verificação de integridade
As verificações de integridade aumentam a disponibilidade do service. No entanto, para evitar instabilidade causada por mudanças frequentes de estado, o GA altera o status de um endpoint apenas após ele passar ou falhar consecutivamente em um número definido de verificações. Esse período é chamado de janela de tempo de verificação de integridade. Os seguintes fatores determinam essa janela:
Intervalo de verificação: Tempo entre duas sondas consecutivas de verificação de integridade.
Tempo limite de resposta: Período máximo de espera por uma resposta de verificação do service de backend.
Limiar de integridade: Quantidade de verificações consecutivas (com sucesso ou falha) necessária para alterar o status de integridade de um endpoint.
O cálculo da janela de tempo de verificação de integridade segue a lógica abaixo:
-
Janela de tempo para falha = tempo limite de resposta × limiar de integridade + intervalo de verificação × (limiar de integridade - 1)
Por exemplo, conforme ilustrado na figura a seguir, com tempo limite de resposta de 3 segundos, intervalo de verificação de 2 segundos e limiar de integridade igual a 3, a janela para declarar um endpoint como não íntegro será de 3 × 3 + 2 × (3 - 1) = 13 segundos.
-
Janela de tempo para sucesso = (tempo de resposta de sucesso × limiar de integridade) + intervalo de verificação × (limiar de integridade - 1)
Como exemplo, observe a figura abaixo: se o tempo de resposta de sucesso for 1 segundo, o intervalo de verificação for 2 segundos e o limiar de integridade for 3, a janela para declarar um endpoint como íntegro será de 1 × 3 + 2 × (3 - 1) = 7 segundos.
Limitações
Para listeners UDP, as verificações de integridade são suportadas somente se o endpoint executar um service via TCP, HTTP ou HTTPS. Caso contrário, o GA sempre marcará o endpoint como não íntegro.
Ative verificações de integridade
Faça login no console do Global Accelerator.
Na página Instances, localize a instância GA e clique em Configure Listeners na coluna Actions.
Na aba Listeners, encontre o listener desejado e clique em Edit 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 a chave Health Check e configure os parâmetros a seguir.
Parâmetro
Descrição
Health Check Protocol
Protocolo utilizado nas verificações de integridade. Valores válidos: TCP, HTTP e HTTPS.
TCP: envia pacotes de handshake SYN para sondar se a porta do servidor está ativa.
HTTP e HTTPS: enviam requisições GET para simular acesso de navegador e verificar a integridade da aplicação de service de backend.
Port
Porta usada para realizar verificações de integridade nos endpoints.
Valores válidos: 1 a 65535.
Health Check Domain Name
Nome de domínio para verificações de integridade. Este recurso é suportado apenas por instâncias GA com pagamento conforme o uso.
Endpoint IP Address (padrão): Utiliza o endereço IP do endpoint como nome de domínio para as verificações.
Custom Domain Name: Insira um nome de domínio específico.
Health Check Interval
Intervalo entre duas sondas consecutivas de verificação de integridade.
Valores válidos: 1 a 50. Unidade: segundos. Valor padrão: 2.
URI
Caminho para as verificações de integridade. Este parâmetro está disponível apenas quando o Health Check Protocol está definido como HTTP ou HTTPS.
O caminho deve ter entre 1 e 80 caracteres e começar com uma barra (/). Pode conter letras, dígitos, hifens (-), barras (/), pontos (.), sinais de porcentagem (%), pontos de interrogação (?), cerquilhas (#), e comerciais (&) e o conjunto estendido de caracteres
_;~!()*[]@$^:',+.Por padrão, o GA envia uma requisição GET para a home page padrão da aplicação de service de backend. Se a página usada para verificação não for a home page padrão, especifique um caminho.
Healthy Threshold
Número de verificações consecutivas (com sucesso ou falha) necessário para alterar o status de integridade de um endpoint.
Valores válidos: 2 a 10. Valor padrão: 3.
Clique em Next. Na página do assistente Configuration Review, confirme as configurações e clique em Submit.
Operações adicionais
Ações | Descrição |
Modifique configurações de verificação de integridade |
|
Desativar verificações de integridade |
|
Referências
CreateEndpointGroup: Crie um grupo de endpoints. É possível configurar verificações de integridade durante a criação do grupo.
UpdateEndpointGroup: Atualize a configuração de um grupo de endpoints. As verificações de integridade podem ser configuradas durante a atualização do grupo.
GetHealthStatus: Consulta o status de integridade de um endpoint.