O que é o TTL do DNS? Time To Live explicado

O TTL (Time To Live) é um campo presente em todos os registos DNS que indica aos resolvers durante quanto tempo podem guardá-lo em cache antes de pedirem uma cópia nova ao servidor de nomes autoritativo. O TTL controla directamente a rapidez com que as alterações de DNS se propagam pela Internet.

Um TTL curto face a um longoTTL 300TTL 36001 h
Um TTL curto é pedido vezes sem conta e muda depressa; um longo é pedido uma vez e muda devagar.

Como funciona o TTL

Quando um resolver consulta um registo DNS pela primeira vez, guarda o resultado em cache durante o número de segundos indicado pelo TTL. Nesse período, qualquer consulta ao mesmo registo é servida da cache — nenhuma consulta chega ao seu servidor de nomes.

example.com.  3600  IN  A  203.0.113.1
              ^^^^
              TTL = 3600 seconds = 1 hour

Passados 3600 segundos, o resolver descarta a cópia em cache e consulta novamente o servidor de nomes autoritativo para obter um registo actualizado.

Valores de TTL e o seu impacto

TTLDurationUse Case
601 minuteDurante uma migração em curso ou testes de failover
3005 minutesRegistos que mudam ocasionalmente (útil para planear migrações)
36001 hourValor predefinido comum — equilíbrio entre actualidade e desempenho
8640024 hoursRegistos estáveis como NS e MX, que raramente mudam
6048007 daysRegistos SOA e outros dados muito estáveis

O TTL antes de uma migração de DNS

A técnica clássica ao planear uma alteração de DNS (por exemplo, mudar para um novo servidor):

  1. 48 h ou mais antes: Baixe o TTL para 300 segundos
  2. Aguarde que o TTL alto anterior expire em todo o mundo
  3. Faça a alteração de DNS (por exemplo, actualize o IP do registo A)
  4. Aguarde 5 minutos até o novo TTL propagar
  5. Depois de confirmar que tudo funciona, volte a subir o TTL para 3600 ou mais

Isto minimiza a indisponibilidade, porque as caches se renovam rapidamente após a alteração.

TTL mínimo do SOA

O registo SOA (Start of Authority) contém um TTL mínimo que se aplica às respostas negativas (a cache de «este registo não existe»). Se consultar um registo inexistente, o resolver guarda o resultado «não encontrado» durante esse período.

Compromissos do TTL

Low TTLHigh TTL
As alterações propagam-se rapidamenteAs alterações demoram mais a propagar
Mais consultas DNS ao seu servidorMenos consultas DNS (melhor desempenho)
Failover e recuperação mais rápidosMais difícil alterar registos rapidamente
Latência DNS ligeiramente maior para os utilizadoresMelhor cache — mais rápido para os utilizadores

Valores de TTL recomendados por tipo de registo

Record TypeTTL recomendadoReason
A / AAAA3600 (1h)Pode mudar durante migrações de servidor
CNAME3600 (1h)Estável, mas pode mudar ao trocar de CDN
MX3600–86400Os servidores de correio raramente mudam
TXT (SPF/DMARC)3600A política pode precisar de actualizações ocasionais
NS86400 (24h)Muito estável — só muda ao trocar de fornecedor de DNS
SOA86400Muda raramente

Verifique os seus valores de TTL actuais

Experimente no seu domínio

Veja a teoria na prática — execute Consulta DNS para o seu próprio domínio.