Hosting Equipo Avantys 4 min

Alta Disponibilidad con VPS: Guía de Redundancia

Cómo lograr alta disponibilidad con VPS. Load balancers, réplicas de base de datos, failover automático y arquitecturas resilientes.

// Compartir

Alta Disponibilidad con VPS: Guía de Redundancia
Alta disponibilidad con VPS

Un solo VPS tiene un punto único de fallo. Si cae, todo cae. Esta guía te enseña a construir arquitecturas resilientes que sobreviven a fallos.

Niveles de disponibilidad

Niveles de disponibilidad
NivelUptimeDowntime/añoCoste
Básico (1 VPS)99%3.65 días€20/mes
Medio (backup caliente)99.9%8.7 horas€50/mes
Alto (load balancer)99.95%4.4 horas€100/mes
Muy alto (multi-región)99.99%52 min€300+/mes

Arquitectura básica resiliente

Arquitectura HA con VPS
                    ┌─────────────┐
                    │   Usuario   │
                    └──────┬──────┘

                    ┌──────▼──────┐
                    │ Cloudflare  │ ← CDN + Failover DNS
                    └──────┬──────┘

              ┌────────────┼────────────┐
              │            │            │
        ┌─────▼─────┐ ┌────▼────┐ ┌─────▼─────┐
        │  VPS 1    │ │ VPS 2   │ │  VPS 3    │
        │  (Web)    │ │ (Web)   │ │  (DB)     │
        └───────────┘ └─────────┘ └───────────┘

Opción 1: Failover con Cloudflare

Configuración DNS con failover

# DNS Records en Cloudflare
A    @    123.45.67.89  (VPS principal)
A    @    123.45.67.90  (VPS backup)

# Activar Load Balancing de Cloudflare
# O usar Health Checks gratuitos

Health Checks

Cloudflare verifica periódicamente que tu servidor responde. Si falla, redirige al backup.

Coste: Gratis (básico) o desde €5/mes (avanzado)

Opción 2: Load Balancer

HAProxy en VPS dedicado

# Instalar HAProxy
sudo apt install haproxy -y
# /etc/haproxy/haproxy.cfg
frontend http_front
    bind *:80
    bind *:443 ssl crt /etc/ssl/certs/tudominio.pem
    default_backend http_back

backend http_back
    balance roundrobin
    option httpchk GET /health
    server web1 10.0.0.2:80 check
    server web2 10.0.0.3:80 check

Nginx como Load Balancer

upstream backend {
    least_conn;
    server 10.0.0.2:80 weight=5;
    server 10.0.0.3:80 weight=5;
    server 10.0.0.4:80 backup;
}

server {
    listen 80;
    location / {
        proxy_pass http://backend;
        proxy_next_upstream error timeout;
    }
}

Opción 3: Base de datos replicada

MySQL Master-Slave

# En Master (VPS 1)
# /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = mibase
# En Slave (VPS 2)
# /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log
-- En Slave
CHANGE MASTER TO
    MASTER_HOST='10.0.0.2',
    MASTER_USER='replica',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=0;

START SLAVE;

Verificar replicación

SHOW SLAVE STATUS\G
-- Buscar: Slave_IO_Running: Yes
--         Slave_SQL_Running: Yes

Opción 4: Almacenamiento compartido

GlusterFS entre VPS

# En ambos VPS
sudo apt install glusterfs-server -y

# En VPS 1 (crear volumen)
sudo gluster volume create www replica 2 \
    vps1:/data/www vps2:/data/www

sudo gluster volume start www

# Montar
sudo mount -t glusterfs localhost:/www /var/www/

Sincronización con Lsyncd

# Instalar
sudo apt install lsyncd -y

# Configurar
# /etc/lsyncd.conf.lua
sync {
    default.rsync,
    source = "/var/www/",
    target = "vps2:/var/www/",
    delay = 1
}

Opción 5: Floating IP

Concepto

IP que puedes mover entre VPS instantáneamente.

Estado normal:
  Floating IP → VPS 1 (activo)
                VPS 2 (standby)

VPS 1 falla:
  Floating IP → VPS 2 (nuevo activo)

Implementación

Depende del proveedor. Algunos ofrecen API para mover IPs automáticamente.

# Script de failover (ejemplo conceptual)
#!/bin/bash
if ! curl -s http://vps1/health; then
    # Mover IP flotante a VPS 2
    api-call move-floating-ip --to vps2
fi

Monitorización para HA

Uptime monitoring

# UptimeRobot (gratis)
# - Monitoriza cada 5 minutos
# - Alerta por email/SMS
# - Failover DNS automático (pro)

Healthchecks internos

# Endpoint de health
# /health en tu app
curl -s localhost/health
# Debe devolver 200 OK
# Nginx health endpoint
location /health {
    access_log off;
    return 200 "OK";
}

Costes de HA

ArquitecturaComponentesCoste aprox
Básico + backup2 VPS + sync€40-60/mes
Load balancer3 VPS + LB€80-120/mes
Full HA4+ VPS + réplica DB€150-300/mes

Cuándo NO necesitas HA

  • Blog personal
  • Sitio corporativo simple
  • Proyectos internos
  • MVP/prototipos

Para estos: Un buen backup y monitorización es suficiente.

Cuándo SÍ necesitas HA

  • E-commerce (ventas perdidas = dinero perdido)
  • SaaS con SLA
  • APIs críticas
  • Servicios 24/7

Preguntas frecuentes

¿Puedo tener alta disponibilidad con un solo VPS?

No realmente. Un solo VPS es un punto único de fallo. Puedes mejorar con backups y restauración rápida, pero no es HA verdadera.

¿Cuánto cuesta implementar HA?

Mínimo duplicar tu coste actual (2 VPS). Una arquitectura HA completa puede costar 3-5x tu setup actual. Evalúa si el coste del downtime justifica la inversión.

¿Cloudflare es suficiente para HA?

Para muchos casos, sí. El failover DNS de Cloudflare + 2 VPS ofrece buena disponibilidad a bajo coste. Para SLA 99.99%+, necesitas más.

¿Cómo manejo las sesiones con múltiples servidores?

Usa Redis compartido para sesiones, o sticky sessions en el load balancer. Mejor aún, diseña tu app para ser stateless.

¿Qué pasa con la base de datos?

Es el componente más crítico. Mínimo: backups frecuentes. Mejor: réplica en tiempo real. Óptimo: cluster con failover automático.

Nuestra recomendación

Para la mayoría de proyectos:

  • 1 VPS + backups automáticos + monitorización
  • Cloudflare delante (CDN + protección)
  • Plan de restauración probado

Si el downtime cuesta dinero:

  • 2 VPS + sincronización
  • Cloudflare con failover
  • Base de datos replicada

Para SLA exigentes:

  • Arquitectura multi-VPS completa
  • Load balancer dedicado
  • Réplica de BD en tiempo real
  • Multi-región si es crítico

¿Necesitas ayuda con HA? La administración gestionada de Avantys puede diseñar e implementar arquitecturas de alta disponibilidad.


Conclusión

La alta disponibilidad tiene un coste. Evalúa cuánto te cuesta el downtime antes de invertir en HA.

Para muchos proyectos, backups + monitorización es suficiente. Para proyectos críticos, la inversión en HA se paga sola.


¿Quieres que lo hagamos por ti?

En Avantys gestionamos tu web, hosting y crecimiento digital de punta a punta. Tú a lo importante.

Hablar con Avantys
// Boletín

Suscríbete al boletín

Guías nuevas, sin spam. Cancela cuando quieras.