Escolhendo um TTL na prática
Entendendo o TTL de DNS: por que mudanças demoram
Todo registro DNS tem um TTL (time to live, tempo de vida), expresso em segundos. É uma instrução do servidor de nomes autoritativo do domínio para cada resolvedor que busca o registro: “você pode reutilizar esta resposta por este tempo antes de perguntar de novo”. Um TTL de 300 segundos significa que um resolvedor que acabou de consultar um domínio não vai se dar ao trabalho de perguntar outra vez por cinco minutos, mesmo que o registro mude nesse meio-tempo.
O equilíbrio que o TTL regula
Um TTL mais longo significa menos consultas DNS, consultas médias mais rápidas (já que mais requisições são atendidas pelo cache) e menos carga sobre os servidores de nomes autoritativos. Um TTL mais curto significa que a alteração de um registro se propaga mais rápido, ao custo de consultas mais frequentes. Não existe um valor universalmente correto: depende da frequência com que se espera que o registro mude e do quanto a situação tolera respostas desatualizadas.
O que realmente acontece durante uma mudança
Atualizar um registro DNS não empurra a mudança para todos os resolvedores da internet. Ela apenas muda o que o servidor de nomes autoritativo dirá na próxima vez em que for consultado. Todo resolvedor que já guardou a resposta antiga em cache continua a servi-la até o TTL da sua cópia expirar, e é por isso que o mesmo domínio pode resolver brevemente para endereços diferentes, dependendo de qual resolvedor, e de qual cache, está respondendo.
- Uma medida prática comum antes de uma migração planejada é reduzir o TTL com um ou dois dias de antecedência, para que a virada final se propague mais rápido.
- Depois da migração, o TTL normalmente é elevado de volta ao valor habitual.
- Um registro sem mudanças recentes e com TTL longo ainda pode levar toda a janela do TTL para sumir completamente dos caches do mundo quando mudar.
Escolhendo um TTL na prática
| TTL | Indicado para | Contrapartida |
|---|---|---|
| 60-300 s | Migrações em andamento, endpoints com balanceamento de carga | Propagação rápida, volume de consultas muito maior |
| 3600 s (1 h) | A maioria dos registros A/AAAA/CNAME comuns | Equilíbrio razoável para registros que mudam de vez em quando |
| 86400 s (24 h) | MX, NS e outros registros raramente alterados | Menos consultas, mas uma mudança aqui leva um dia inteiro para sumir por completo |
As respostas negativas também ficam em cache, o que é fácil de esquecer. Quando um domínio não existe, a própria resposta NXDOMAIN é guardada em cache, regida por um valor separado (o TTL mínimo do registro SOA, e não o TTL de um registro que nunca existiu). Um domínio recém-registrado pode, às vezes, parecer não resolver por um curto período depois, simplesmente porque um resolvedor já tinha guardado em cache o NXDOMAIN de antes de o registro ser concluído.
O TTL é um pedido, não uma garantia
Vale saber que o TTL é consultivo, e não imposto por nenhuma autoridade externa. Um resolvedor é, tecnicamente, livre para manter uma resposta em cache por mais tempo do que o TTL informado (alguns fazem isso, sob carga pesada, para reduzir o volume de consultas) ou para descartá-la antes (um resolvedor com pouca memória pode eliminar entradas do cache mais cedo). Na imensa maioria dos casos, os resolvedores públicos e de provedores de internet bem administrados respeitam os TTLs de perto e de forma previsível, mas é por isso que uma estimativa de propagação baseada no TTL é uma regra prática forte, e não uma garantia firme e contratual. Se uma mudança ainda não apareceu de forma significativa depois da janela do TTL antigo, um cache intermediário excepcionalmente agressivo é uma das explicações menos comuns, porém reais, que vale ter em mente.
Se você está verificando se uma mudança de DNS entrou no ar, uma única consulta mostra apenas o que um resolvedor tem em cache no momento. Repetir a consulta com alguns minutos de intervalo, ou agendar uma verificação recorrente, é uma forma muito mais confiável de confirmar que a mudança realmente se propagou, em vez de pegar uma resposta antiga em cache uma única vez e presumir que ela é a definitiva.
Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.
Ferramentas gratuitas sobre este assunto
Leitura relacionada
Dois esquemas de endereçamento, lado a lado
IPv4
192.0.2.10
32 bits, ~4,3 bilhões de endereços, esgotado
IPv6
2606:4700::6810:84e5
128 bits, 340 undecilhões de endereços
Registro A vs. AAAA: IPv4 e IPv6 explicados
Registros A retornam endereços IPv4 e registros AAAA retornam IPv6: duas famílias de endereços independentes para o mesmo domínio e por que verificar ambas.
Uma consulta DNS recursiva, um salto de cada vez
Navegador
quer example.com
Resolvedor
seu provedor / 1.1.1.1
Raiz + TLD
quem opera o .com?
Autoritativo
a resposta real
Cada salto desta cadeia é em si uma consulta DNS, depois armazenada em cache
O que é DNS e como ele realmente funciona?
Um passo a passo em linguagem simples do Sistema de Nomes de Domínio: o que acontece entre digitar um domínio e o navegador se conectar a um servidor.
Três camadas dividem o nome “servidor DNS”
Resolvedor stub
seu próprio dispositivo
Resolvedor recursivo
provedor, roteador ou 1.1.1.1
Autoritativo
o DNS do próprio domínio
Consulta de IP de domínios: o que os resultados significam
Entenda os resultados da consulta de IP de um domínio: vários endereços, registros IPv4 e IPv6, pontos de presença de CDN e os limites da atribuição reversa.