Skip to main content

Como Criar um Load Balancer

Introdução

O Load Balancer as a Service (LBaaS) permite distribuir o tráfego de entrada entre várias instâncias, possibilitando alta disponibilidade e otimizando o desempenho das aplicações. A criação de um Load Balancer envolve a definição de sua configuração básica, listeners, backends, health checks e políticas de segurança.

Etapas do Processo de Criação

1. Criar o Load Balancer

A primeira etapa é criar um Load Balancer, definindo seu nome, tipo e visibilidade.

  • Endpoint: POST /v0beta1/network-load-balancers

  • Parâmetros principais:

    • name: Nome do Load Balancer
    • type: Tipo do Load Balancer (exemplo: proxy)
    • visibility: Definir como internal ou external

Ao criar um Load Balancer, é necessário definir a visibilidade, que determina como o tráfego será recebido:

Internal: Um Load Balancer interno recebe e distribui tráfego apenas dentro da sua rede privada (VPC). É ideal para aplicações que precisam se comunicar exclusivamente entre instâncias internas sem exposição direta à internet.

External: Um Load Balancer externo recebe e distribui tráfego proveniente da internet. Ele utiliza um IP público, permitindo que as suas aplicações sejam acessadas externamente.

2. Criar Listeners

Os listeners definem quais portas e protocolos serão usados para aceitar conexões.

  • Endpoint: POST /v0beta1/network-load-balancers/{load_balancer_id}/listeners
  • Parâmetros principais:
    • protocol: TCP ou TLS
    • port: Porta que será exposta
    • public_ip_id: Opcional para endereços públicos

3. Criar Backends

Os backends são os servidores que receberão as requisições do Load Balancer.

  • Endpoint: POST /v0beta1/network-load-balancers/{load_balancer_id}/backends
  • Parâmetros principais:
    • targets: Lista de instâncias ou IPs

4. Configurar Health Checks

O health check monitora a disponibilidade dos backends e remove automaticamente servidores não saudáveis.

  • Endpoint:POST /v0beta1/network-load-balancers/{load_balancer_id}/health-checks
  • Parâmetros principais:
    • protocol: TCP ou HTTP
    • port: Porta do serviço monitorado
    • interval_seconds: Intervalo entre verificações
    • timeout_seconds: Tempo de espera por resposta

5. Configurar ACLs (Listas de Controle de Acesso)

As ACLs permitem restringir ou liberar o tráfego para o Load Balancer com base em regras específicas.

  • Endpoint: POST /v0beta1/network-load-balancers/{load_balancer_id}/acls
  • Parâmetros principais:
    • ethertype: IPv4 ou IPv6
    • protocol: TCP
    • remote_ip_prefix: Faixa de IPs permitidos
    • action: ALLOW ou DENY

Diferença entre Security Group e ACL

Embora tanto Security Groups quanto ACLs (Listas de Controle de Acesso) controlem o tráfego permitido, eles têm escopos diferentes.

Security Groups são aplicados diretamente às instâncias (servidores virtuais) e filtram o tráfego na interface de rede, permitindo regras detalhadas com base em portas específicas e protocolos.

Já as ACLs são aplicadas diretamente no Load Balancer e funcionam como uma camada adicional de segurança, controlando quais faixas de IP podem ou não acessar o Load Balancer como um todo, antes mesmo do tráfego chegar às instâncias backend.