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 Balancertype
: 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 TLSport
: Porta que será expostapublic_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 HTTPport
: Porta do serviço monitoradointerval_seconds
: Intervalo entre verificaçõestimeout_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 IPv6protocol
: TCPremote_ip_prefix
: Faixa de IPs permitidosaction
: 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.