La mayoría de las migraciones dolorosas fallan por errores de orden, no técnicos. La gente cambia primero el DNS y luego descubre que la base de datos está desactualizada. Sigue el orden de abajo y los visitantes no notarán el cambio.
Paso 1: baja el TTL del DNS con antelación
Al menos un día antes de la migración, fija el TTL de tus registros A y AAAA en 300 segundos. Las cachés que ya tienen el valor antiguo necesitan tiempo para expirar, así que este paso no se puede apurar el mismo día.
Paso 2: construye primero el servidor nuevo
Crea el nuevo VPS, aplica la lista de verificación de seguridad e instala la misma pila: servidor web, versión de PHP o Node, motor de base de datos. Usar las mismas versiones elimina la mayoría de las sorpresas. Copia la configuración, no solo el contenido.
Paso 3: copia los archivos
rsync -aHAX --info=progress2 -e ssh /var/www/ user@NEW_IP:/var/www/
Ejecútalo una vez ahora. La primera vez es lento y las repeticiones son rápidas, y de eso se trata.
Paso 4: copia la base de datos
# on the old server
mysqldump --single-transaction --routines --triggers mydb | gzip > mydb.sql.gz
scp mydb.sql.gz user@NEW_IP:~/
# on the new server
gunzip < mydb.sql.gz | mysql mydb
Esto es un ensayo. Te da una copia funcional contra la que probar.
Paso 5: prueba antes de enviar a nadie allí
Apunta tu propio ordenador al nuevo servidor editando su archivo hosts: añade NEW_IP example.com www.example.com. Navega por el sitio, inicia sesión, envía un formulario y haz un pedido de prueba. Arregla lo que falle mientras el público sigue viendo el servidor antiguo. Instala el certificado TLS con un desafío DNS para que funcione antes del cambio.
Paso 6: congela, sincroniza por última vez y cambia
- Pon el sitio antiguo en modo de mantenimiento o de solo lectura.
- Repite el
rsyncy el volcado e importación de la base de datos. - Cambia los registros DNS a la nueva IP.
- Elimina la entrada del archivo hosts y comprueba desde una red diferente.
La ventana de solo lectura suele durar minutos. Para una tienda o un sitio con inicios de sesión, prográmala para un momento tranquilo.
Paso 7: vigila y luego retira el servidor antiguo
Conserva la máquina antigua varios días. Algunos resolvedores ignoran los TTL, así que seguirá llegando un goteo de tráfico. Reenvía o haz proxy de ese tráfico a la nueva IP si puedes, revisa tus registros y luego vuelve a subir el TTL a un valor normal. Haz una copia de seguridad nueva del servidor nuevo antes de borrar el antiguo.
¿Te mudas también a otra jurisdicción? Antes compara opciones en jurisdicciones de hosting offshore comparadas.