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 checkprotocol
: Protocolo utilizado (TCP ou HTTP)port
: Porta do serviço a ser monitoradopath
: 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çõestimeout_seconds
: Tempo limite para resposta antes de considerar o backend indisponívelhealthy_threshold_count
: Número de verificações bem-sucedidas para marcar um - backend como saudávelunhealthy_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.