Como configurar balanceamento de carga entre dois VPS para alta disponibilidade
Olá, querido(a) cliente da GeHost! 👋
Se você está aqui, provavelmente quer garantir que seu site ou aplicação esteja sempre acessível — mesmo que um servidor tenha problemas. Isso é o que chamamos de alta disponibilidade, e o balanceamento de carga é uma das formas mais eficazes de alcançá-lo. Mas antes de tudo, um lembrete importante:Atenção: Os planos da GeHost são de hospedagem compartilhada com cPanel, não incluem acesso root nem VPS dedicados. Isso significa que você não pode configurar balanceamento de carga diretamente no seu plano padrão.Se você precisa de balanceamento de carga com dois servidores (VPS), é porque está em um nível mais avançado de infraestrutura — provavelmente com servidores dedicados ou em nuvem, gerenciados por você mesmo. Por isso, este guia é para quem já tem dois servidores (VPS) externos — por exemplo, em outro provedor ou em um ambiente de infraestrutura que você controla — e quer distribuir o tráfego entre eles com segurança e eficiência. Vamos lá, meu aluno(a) de DevOps em formação! 🌟
Passo 1: Entenda o que é balanceamento de carga
Imagine que você tem dois restaurantes iguais (seus dois VPS). Em vez de mandar todos os clientes para um só, você distribui o fluxo entre os dois. Assim, se um fecha por um dia, o outro continua funcionando.
Esse "distribuidor" é o balanceador de carga. Ele recebe as requisições do usuário e decide para qual servidor encaminhar.Passo 2: Prepare seus dois VPS
Antes de tudo, certifique-se de que:
- Os dois VPS estão rodando o mesmo sistema operacional (ex: Ubuntu 22.04).
- Seu site ou aplicação está instalado e funcionando em ambos.
- Os servidores estão acessíveis pela internet (com IPs públicos).
- Os serviços (como Apache ou Nginx) estão rodando em ambos.
- Os dados (banco de dados, arquivos) estão sincronizados ou replicados.
💡 Dica: Use ferramentas como rsync ou scp para manter arquivos iguais nos dois servidores. Para bancos de dados, considere replicação MySQL ou PostgreSQL.
Passo 3: Escolha um balanceador de carga
Você pode usar:
- Software: Nginx, HAProxy, Apache (mod_proxy).
- Cloud Load Balancer: AWS ELB, Google Cloud Load Balancer, ou outro provedor de nuvem.
Como você está usando dois VPS, vamos usar um balanceador em um terceiro servidor (ou mesmo em um dos VPS, se quiser).
Passo 4: Instale e configure o balanceador (ex: Nginx)
Conecte-se a um dos seus servidores (ou a um balanceador dedicado) via SSH e instale o Nginx:
sudo apt update
sudo apt install nginx -y
Edite o arquivo de configuração do Nginx:
sudo nano /etc/nginx/sites-available/loadbalancer
Adicione este conteúdo básico (substitua os IPs pelos seus servidores reais):
upstream backend {
server IP_DO_VPS_1;
server IP_DO_VPS_2;
}
server {
listen 80;
server_name seu-dominio.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Salve e ative a configuração:
sudo ln -s /etc/nginx/sites-available/loadbalancer /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Passo 5: Configure o DNS para apontar para o balanceador
Na sua zona de DNS (no painel do domínio), crie um registro A apontando para o IP do balanceador:
- Nome: @ ou seu-dominio.com
- Valor: IP_DO_BALANCEADOR
- TTL: 300 (ou padrão)
Se você usa o cPanel da GeHost para gerenciar DNS, acesse:
Adicione o registro A com o IP do balanceador.
Passo 6: Teste e monitore
Depois de configurar:
- Acesse seu domínio no navegador.
- Verifique se o site carrega.
- Teste com um
curlou ferramenta como httpbin.org/ip para ver de qual servidor está vindo a resposta. - Monitore os logs do Nginx:
sudo tail -f /var/log/nginx/access.log
Passo 7: Dicas finais para segurança e estabilidade
- Use SSL/TLS em todos os servidores (instale certificados via Let's Encrypt).
- Configure health checks no balanceador para não encaminhar requisições a servidores fora do ar.
- Evite colocar o balanceador no mesmo servidor que seu site principal — mantenha separação.
- Use firewall (como
ufw) para bloquear acesso não autorizado.
Importante: Este guia é genérico e aplica-se a ambientes com acesso root e controle total. Se você está em um plano de hospedagem compartilhada da GeHost, não é possível realizar essa configuração diretamente. Para alta disponibilidade, considere migrar para um plano de VPS dedicado ou usar serviços de nuvem com balanceamento nativo.
Próximos passos
Se precisar de ajuda com:
- Configurar SSL em Nginx?
- Replique dados entre servidores?
- Entender como funciona o DNS?
Entre em contato com nosso suporte técnico — estamos aqui para ajudar, com carinho e atenção. 🌿
Seu plano de hospedagem é só o começo. Com o tempo, você vai dominar até os mais complexos desafios. E quando isso acontecer… será um verdadeiro Sensei! 🍀
Com carinho,
Seu amigo da GeHost