Servidor & DevOps 4 visualizações

Como configurar balanceamento de carga entre dois VPS para alta disponibilidade

Ver no WHMCS

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:

Tela do Editor de Zona de DNS no cPanel

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 curl ou 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

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.