
Necesito cambiar la dirección IP de un servidor web de producción. Me preguntaba si es posible hacerlo sin tiempo de inactividad. Los pasos que pensé que funcionarían fueron:
- Reserve una nueva dirección IP estática
- Agregue la dirección IP al DNS del dominio que estoy cambiando
- Implemente la configuración de Kubernetes que usa la nueva IP estática
- Eliminar la antigua entrada DNS
- Anular la reserva de la antigua dirección IP estática
¿Debo esperar que esto funcione? Si no hay nada escuchando al otro lado de la nueva dirección IP, ¿la mayoría de las cosas simplemente cambian a la otra dirección IP? ¿O fracasan mucho?
Respuesta1
La frase clave de su pregunta es "sin tiempo de inactividad" y la respuesta a su configuración aparente es "no". Supongamos que su servidor web de producción es production.example.com
.
Aquí está la línea de tiempo en su publicación original:
- Agregue la dirección IP al DNS del dominio que estoy cambiando
¿Cuál es el FQDN que está agregando en este momento? Si no es la production.example.com
dirección, entonces este nuevo registro A no hace nada para facilitar el enrutamiento del tráfico a su nueva IP. Si seesel registro A para production.example.com
entonces entrará en juego su TTL. Normalmente configuro el mío en 300 (5 minutos), pero eso no significa que tengas 5 minutos para ejecutar el paso 3. Una vez que esa nueva dirección comience a propagarse a tus clientes, estos comenzarán a intentar realizar solicitudes HTTP en la nueva IP.
- Implemente la configuración de Kubernetes que usa la nueva IP estática
Una vez que haga esto y reinicie su servidor web, cualquier sesión TCP actual se interrumpirá, lo que implica que cualquier solicitud HTTP en curso fallará.
En cuanto a su pregunta "Si no hay nada escuchando al otro lado de la nueva dirección IP, ¿la mayoría de las cosas simplemente cambian a la otra dirección IP?", sí, si hayNoActividad HTTP, entonces estás bien.
En mi experiencia, el requisito de "sin tiempo de inactividad" es difícil de cumplir, y por difícil me refiero a complejo y costoso. Lo que uno debe buscar es un tiempo de inactividad mínimo que se puede lograr al tener un proceso sólido mediante el cual se va a migrar el sitio web, ya sea cambiando una dirección IP o moviéndolo a un servidor diferente o actualizando una base de datos subyacente. Una vez que haya desarrollado el proceso, pruébelo para ver cómo se comporta su tráfico y dónde se confirman o niegan sus suposiciones. Perfeccione el proceso para lograr las métricas de tiempo de inactividad que busca y pruébelo nuevamente. Lavar, enjuagar y repetir.