Imagina esto. Acabas de cambiar de proveedor de hosting y has actualizado tu registro A para que apunte al nuevo servidor. Recargas tu web y no ha cambiado nada. Sigue cargando la web antigua. Revisas tu panel DNS y el registro nuevo está guardado. ¿Qué está pasando?
La respuesta es el TTL. Cuando configuras un registro DNS, también configuras un valor de TTL que indica a todos los servidores DNS de internet cuánto tiempo pueden guardar una copia en caché de ese registro. Hasta que se agota ese temporizador, esos servidores seguirán sirviendo la información antigua, aunque ya hayas hecho un cambio. Entender cómo funciona el DNS empieza por entender el TTL, porque controla la velocidad de cada cambio de DNS que haces.
¿Qué significa TTL?
TTL significa time to live (tiempo de vida). En el contexto del DNS, es un número asociado a cada registro DNS que indica a los servidores cuántos segundos pueden guardar ese registro en caché antes de tener que volver a buscar una copia nueva.
Todo registro DNS que creas tiene un valor de TTL. Todos tus tipos de registros DNS lo usan. Registros A, CNAME, MX, TXT. Cada uno tiene su propio ajuste de TTL y cada uno puede tener un valor distinto según la frecuencia con la que esperes que cambie ese registro.
¿Cómo funciona el TTL, explicado fácil?
Cuando alguien escribe tu dominio en un navegador, su dispositivo pide a un servidor DNS la dirección IP de tu web. Ese servidor DNS busca tu registro A y obtiene la respuesta. Pero también lee el valor de TTL asociado a ese registro.
Si tu TTL está en 3600, el servidor DNS guarda esa respuesta durante 3.600 segundos (una hora). Durante la hora siguiente, cualquiera que pregunte a ese mismo servidor DNS por tu dominio recibe la respuesta en caché. El servidor no vuelve a comprobarlo hasta que caduca el temporizador.
Cuando se agota el TTL, la siguiente solicitud provoca una consulta nueva. El servidor DNS vuelve a la fuente, toma el registro actual, lee el nuevo valor de TTL y reinicia la cuenta atrás.
Piensa en una nota adhesiva en la nevera. Alguien apunta el teléfono de la pizzería y lo pega en la nevera. Todos en casa usan ese número hasta que la nota caduca (se tira). Entonces alguien tiene que volver a buscar el número. Si la pizzería cambió de número mientras tanto, el número nuevo solo se recoge cuando ya no está la nota antigua.
¿Cómo se mide el TTL?
El TTL siempre se mide en segundos. Estos son los valores más comunes y su equivalente en tiempo real.
- 300 equivale a 5 minutos
- 600 equivale a 10 minutos
- 1800 equivale a 30 minutos
- 3600 equivale a 1 hora
- 14400 equivale a 4 horas
- 43200 equivale a 12 horas
- 86400 equivale a 24 horas
La mayoría de los paneles DNS muestran el campo de TTL cuando creas o editas un registro. Algunos usan un menú desplegable con opciones predefinidas como "1 hora" o "automático". Otros te dejan escribir el número exacto de segundos.
¿Qué pasa cuando el TTL es alto?
Un TTL alto significa que los servidores DNS guardan tu registro en caché durante mucho tiempo. Si tu TTL es 86400 (24 horas), cada servidor DNS que consulte tu registro conservará esa respuesta un día entero antes de volver a comprobarla.
La ventaja son menos consultas DNS. Cuando miles de visitantes cargan tu web, sus resolvedores DNS ya tienen la respuesta en caché. Eso significa cargas de página algo más rápidas y menos carga para la infraestructura DNS.
El inconveniente es que los cambios tardan más en extenderse. Si actualizas tu registro A con un TTL de 24 horas, algunos visitantes pueden seguir viendo la web antigua hasta 24 horas. Cambias rapidez en los cambios por eficiencia en las consultas.
¿Qué pasa cuando el TTL es bajo?
Un TTL bajo significa que los servidores DNS actualizan tu registro con más frecuencia. Si tu TTL es 300 (cinco minutos), los servidores descartan la respuesta en caché cada cinco minutos y la buscan de nuevo.
La ventaja es que los cambios se extienden rápido. Si actualizas un registro con un TTL de cinco minutos, la mayor parte de internet ve el valor nuevo en unos minutos.
El inconveniente son más consultas DNS. Cada vez que caduca la caché, el servidor tiene que hacer una consulta nueva. En una web con mucho tráfico, eso supone más carga para tus servidores DNS autoritativos. Para la mayoría de las marcas pequeñas y medianas, la diferencia no se nota. Pero mantener un TTL bajo de forma permanente cuando no haces cambios es innecesario.
¿Cuál es un buen TTL predeterminado?
Para la mayoría de los registros DNS, 3600 (una hora) es un valor predeterminado sólido. Equilibra dos cosas.
- Los cambios se propagan en una hora, lo bastante rápido para las actualizaciones rutinarias
- Los servidores DNS no tienen que buscar tu registro cada pocos minutos cuando no ha cambiado nada
Si tus registros DNS cambian rara vez (y en la mayoría de las marcas es así), puedes usar sin problema 3600 o incluso 14400 (cuatro horas). El único momento en que necesitas un TTL más bajo es cuando sabes que viene un cambio.
¿Cuándo debes bajar tu TTL?
Baja tu TTL antes de hacer cualquier cambio importante de DNS. Estas son las situaciones en las que un TTL bajo te ahorra tiempo y quebraderos de cabeza.
- Cambiar de proveedor de hosting y actualizar tu registro A
- Migrar tu web a una plataforma nueva
- Cambiar de proveedor de correo y actualizar los registros MX
- Apuntar un dominio a una web por primera vez
- Configurar un sistema de conmutación por error o de reparto de carga
En cada uno de estos casos quieres que el cambio surta efecto lo antes posible. Un TTL bajo lo consigue.
Cómo bajar el TTL antes de una migración
Hay una estrategia sencilla que usan los administradores de DNS con experiencia antes de cualquier migración de servidor. Funciona en tres pasos.
- De 24 a 48 horas antes del cambio, baja tu TTL a 300 (cinco minutos). Así el TTL alto anterior tiene tiempo de caducar en todos los servidores DNS del mundo. Cuando estés listo para hacer el cambio real, la mayoría de los servidores estarán comprobando cada cinco minutos
- Haz el cambio de DNS. Actualiza el registro A (o el registro que vayas a cambiar) al nuevo valor. Como el TTL ya es bajo, los servidores DNS de todo el mundo recogen el valor nuevo en unos minutos
- Cuando el cambio esté confirmado y funcionando, vuelve a subir el TTL a 3600 o al valor que prefieras. Así se detienen las consultas constantes ahora que el cambio está hecho y el registro nuevo es estable
Saltarse el primer paso es el error más común. Si tu TTL sigue en 86400 cuando haces el cambio, algunos servidores DNS servirán el registro antiguo hasta 24 horas, porque su caché aún no ha caducado. Bajar el TTL con antelación lo evita.
¿Cómo se relacionan el TTL y la propagación del DNS?
La propagación del DNS es el proceso por el que tus registros DNS actualizados se extienden por todos los servidores DNS del mundo. El TTL es el factor principal que controla cuánto tarda ese proceso.
Cuando la gente dice "la propagación del DNS puede tardar hasta 48 horas", lo que quiere decir es que algunos servidores DNS pueden haber guardado en caché tu registro antiguo con un TTL alto y no buscarán actualizaciones hasta que se agote su temporizador.
Un TTL bajo antes de un cambio significa una propagación más rápida. Un TTL alto significa una propagación más lenta. Así de directo. La cifra de 48 horas es el peor escenario para registros con un TTL de 24 horas, porque algunos servidores pueden haber guardado el registro justo antes de que hicieras el cambio y aún les quede casi un día completo en el temporizador.
Errores habituales con el TTL
Dos errores aparecen más que ningún otro con el TTL.
Olvidar bajar el TTL antes de un cambio. Este es el grande. Actualizas tu registro A para apuntar a un servidor nuevo, pero tu TTL estaba en 86400. Ahora algunos visitantes ven la web nueva y otros la antigua, y no te queda más remedio que esperar. Baja siempre el TTL de 24 a 48 horas antes de hacer cambios de DNS.
Dejar el TTL demasiado bajo de forma permanente. Un TTL de 60 segundos significa que cada servidor DNS busca actualizaciones cada minuto. Si tus registros no cambian, esto solo genera tráfico DNS innecesario. También puede hacer tu web algo más lenta para los visitantes nuevos, cuyo resolvedor DNS tiene que hacer consultas nuevas con más frecuencia. Usa un TTL bajo de forma temporal cuando haya cambios planificados y luego vuelve a subirlo.
Cómo gestiona WEMASY el TTL
Cuando conectas un dominio propio a tu web de WEMASY, la plataforma gestiona la configuración del DNS como parte del proceso de instalación. WEMASY establece valores de TTL predeterminados razonables para los registros que necesitas, así que no tienes que adivinar qué valores usar.
Si migras a WEMASY desde otro proveedor, la guía de configuración del dominio te acompaña para bajar tu TTL antes de hacer el cambio, de modo que la transición sea fluida. WEMASY incluye hosting, SSL y gestión de dominios en una sola suscripción. Consulta lo que incluye cada plan en la página de precios de WEMASY.
Qué viene después
Ahora que entiendes qué es el TTL y cómo controla la velocidad de los cambios de DNS, el siguiente capítulo trata cómo funciona la propagación del DNS. Aprenderás qué ocurre entre bastidores cuando se actualiza un registro DNS, por qué la propagación no es instantánea y cómo comprobar si tus cambios se han extendido. Para ver el panorama completo de cómo funciona el sistema de nombres de dominio, repasa el capítulo sobre cómo funciona el DNS.
Preguntas frecuentes
¿Se puede poner un TTL distinto en cada registro DNS?
Sí. Cada registro DNS tiene su propio campo de TTL. Puedes poner tu registro A en 3600 (una hora) y tu registro MX en 14400 (cuatro horas) si te conviene. Los registros que cambian más a menudo pueden tener un TTL más bajo, mientras que los registros estables pueden usar uno más alto. Con el creador de webs de WEMASY, puedes configurarlo directamente en tu web.
¿Afecta el TTL a la velocidad de carga de la web?
No directamente. El TTL controla con qué frecuencia actualizan los servidores DNS su copia en caché de tus registros DNS. Una vez que el dispositivo de un visitante ha resuelto tu dominio a una dirección IP, el TTL no influye en la rapidez con que cargan tus páginas. La diferencia está solo en lo rápido que se completa la propia consulta DNS, que suma milisegundos, no segundos.
¿Qué TTL conviene usar en los registros de correo?
Para los registros MX y los registros TXT relacionados con el correo (como SPF y DKIM), un TTL de 3600 (una hora) es un valor predeterminado seguro. Si vas a cambiar de proveedor de correo, baja el TTL a 300 uno o dos días antes del cambio y vuelve a subirlo cuando la nueva configuración esté confirmada.
¿Se puede obligar a los servidores DNS a vaciar su caché antes de que caduque el TTL?
No. No puedes obligar a los servidores DNS externos a descartar sus registros en caché. Cada servidor respeta su propio temporizador de caché. La única forma de acelerar el proceso es haber puesto un TTL bajo antes de hacer el cambio. Algunos proveedores de DNS ofrecen una herramienta para vaciar la caché de sus propios servidores, pero eso no afecta a todos los servidores de internet.
¿Hay un valor mínimo de TTL recomendable?
Técnicamente puedes poner el TTL en 1 segundo, pero la mayoría de los proveedores de DNS imponen un mínimo de 60 o 300 segundos. Bajar de 300 rara vez es útil. Incluso durante las migraciones, un TTL de cinco minutos te da una propagación rápida sin sobrecargar la infraestructura DNS.