Skip to main content

Configuração de Health Checks no LBaaS

Introdução

Os Health Checks no Load Balancer as a Service (LBaaS) são essenciais para monitorar a disponibilidade dos backends e garantir que apenas servidores saudáveis recebam tráfego. Com verificações periódicas, o sistema pode remover automaticamente instâncias não responsivas e restaurá-las quando voltarem ao funcionamento normal.

Processo de Configuração

1. Criar um Health Check

Para configurar um health check, é necessário definir um conjunto de parâmetros que determinam a frequência e o comportamento da verificação.

  • Endpoint: POST /v0beta1/network-load-balancers/{load_balancer_id}/health-checks

  • Parâmetros principais:

    • name: Nome do health check
    • protocol: Protocolo utilizado (TCP ou HTTP)
    • port: Porta do serviço a ser monitorado
    • path: Caminho HTTP para verificação (obrigatório para HTTP)
    • healthy_status_code: Código de status esperado para considerar o backend saudável (exemplo: 200 para HTTP)
    • interval_seconds: Tempo entre verificações
    • timeout_seconds: Tempo limite para resposta antes de considerar o backend indisponível
    • healthy_threshold_count: Número de verificações bem-sucedidas para marcar um - backend como saudável
    • unhealthy_threshold_count: Número de falhas consecutivas antes de marcar um backend como não saudável

2. Como atualizar um Health Check

Caso seja necessário ajustar os parâmetros de um health check existente, a atualização pode ser feita com o seguinte endpoint:

  • Endpoint: PUT /v0beta1/network-load-balancers/{load_balancer_id}/health-checks/{health_check_id}
  • Parâmetros principais:
    • Mesmos parâmetros utilizados na criação, permitindo ajuste fino das configurações de verificação

3. Visualizar Health Checks Configurados

Para listar os health checks associados a um Load Balancer, utilize o endpoint:

  • Endpoint: GET /v0beta1/network-load-balancers/{load_balancer_id}/health-checks

Esse comando retorna uma lista com todas as verificações configuradas, incluindo status e tempo da última verificação.

4. Excluir um Health Check

Caso um health check não seja mais necessário, ele pode ser removido com o seguinte comando:

  • Endpoint: DELETE /v0beta1/network-load-balancers/{load_balancer_id}/health-checks/{health_check_id}

Isso garante que o backend não seja mais monitorado, podendo continuar recebendo tráfego independentemente do seu estado.

Boas Práticas

  • Definir intervalos de verificação e tempos limite adequados para evitar falsos positivos ou atrasos desnecessários.
  • Configurar um número razoável de tentativas para marcar um backend como saudável ou não saudável, garantindo maior estabilidade.
  • Utilizar caminhos HTTP dedicados para health checks (exemplo: /health) para minimizar impactos no desempenho da aplicação.