Co je TTL v DNS?

Právě jste aktualizovali DNS záznam, tak proč váš web pořád ukazuje starou verzi? To zpoždění souvisí přesně s tím, co je TTL v DNS a jak funguje. TTL je zkratka pro time to live (doba života) a určuje, jak dlouho servery po celém světě drží uloženou kopii…

Koncept

Představte si to. Právě jste přešli k jinému poskytovateli hostingu a aktualizovali záznam A, aby ukazoval na nový server. Obnovíte web a nic se nezměnilo. Pořád se načítá starý web. Zkontrolujete panel DNS a nový záznam je uložený. Tak co se děje?

Odpověď je TTL. Když nastavujete DNS záznam, nastavujete i hodnotu TTL, která říká každému DNS serveru na internetu, jak dlouho smí držet uloženou kopii tohoto záznamu. Dokud tento časovač neběží do konce, servery budou dál poskytovat staré informace, i když jste už změnu provedli. Pochopit, jak funguje DNS, začíná pochopením TTL, protože řídí rychlost každé změny DNS, kterou provedete.

Co znamená TTL?

TTL je zkratka pro time to live. V kontextu DNS je to číslo připojené ke každému DNS záznamu, které serverům říká, kolik sekund smějí záznam držet v mezipaměti, než se musí vrátit a zkontrolovat novou kopii.

Každý DNS záznam, který vytvoříte, má hodnotu TTL. Používají ji všechny vaše typy DNS záznamů. Záznamy A, CNAME, MX, TXT. Každý má vlastní nastavení TTL a každý lze nastavit na jinou hodnotu podle toho, jak často očekáváte, že se bude měnit.

Jak TTL funguje jednoduše řečeno?

Když někdo zadá vaši doménu do prohlížeče, jeho zařízení se zeptá DNS serveru na IP adresu vašeho webu. Ten DNS server vyhledá váš záznam A a dostane odpověď. Ale přečte si také hodnotu TTL připojenou k tomuto záznamu.

Pokud je vaše TTL nastaveno na 3600, DNS server uloží tuto odpověď na 3 600 sekund (jednu hodinu). Po další hodinu každý, kdo se téhož DNS serveru zeptá na vaši doménu, dostane odpověď z mezipaměti. Server znovu nekontroluje, dokud časovač nevyprší.

Jakmile TTL vyprší, další požadavek spustí nový dotaz. DNS server se vrátí ke zdroji, vezme aktuální záznam, přečte novou hodnotu TTL a odpočet začne znovu.

Představte si to jako lepicí lístek na lednici. Někdo si zapíše telefonní číslo pizzerie a přilepí ho na lednici. Všichni v domě používají toto číslo, dokud lístek nevyprší (nevyhodí se). Pak někdo musí číslo znovu dohledat. Pokud pizzerie mezitím změnila číslo, nové číslo se zjistí až poté, co je starý lístek pryč.

Jak se TTL měří?

TTL se měří vždy v sekundách. Tady jsou nejběžnější hodnoty a co znamenají v reálném čase.

  • 300 se rovná 5 minutám
  • 600 se rovná 10 minutám
  • 1800 se rovná 30 minutám
  • 3600 se rovná 1 hodině
  • 14400 se rovná 4 hodinám
  • 43200 se rovná 12 hodinám
  • 86400 se rovná 24 hodinám

Většina panelů DNS zobrazuje pole TTL při vytváření nebo úpravě záznamu. Některé používají rozbalovací nabídku s přednastavenými volbami jako „1 hodina“ nebo „automaticky“. Jiné umožňují zadat přesný počet sekund.

Co se stane, když je TTL vysoké?

Vysoké TTL znamená, že DNS servery drží váš záznam v mezipaměti dlouho. Pokud je vaše TTL 86400 (24 hodin), každý DNS server, který váš záznam vyhledá, bude tuto odpověď držet celý den, než znovu zkontroluje.

Výhodou jsou méně častá DNS vyhledávání. Když váš web načítají tisíce návštěvníků, jejich DNS resolvery už mají odpověď v mezipaměti. To znamená o něco rychlejší načítání stránek a menší zátěž DNS infrastruktury.

Nevýhodou je, že změny se šíří déle. Pokud aktualizujete záznam A s TTL 24 hodin, někteří návštěvníci mohou ještě až 24 hodin vidět starý web. Měníte rychlost změn za efektivitu dotazů.

Co se stane, když je TTL nízké?

Nízké TTL znamená, že DNS servery obnovují váš záznam častěji. Pokud je vaše TTL 300 (pět minut), servery každých pět minut zahodí odpověď z mezipaměti a vyhledají ji znovu.

Výhodou je, že se změny šíří rychle. Pokud aktualizujete záznam s TTL pět minut, většina internetu uvidí novou hodnotu během několika minut.

Nevýhodou je víc DNS dotazů. Pokaždé, když mezipaměť vyprší, musí server provést nový dotaz. U webu s vysokou návštěvností to znamená větší zátěž vašich autoritativních DNS serverů. U většiny malých až středních značek rozdíl nepoznáte. Ale držet trvale nízké TTL, když nic neměníte, je zbytečné.

Jaké je dobré výchozí TTL?

Pro většinu DNS záznamů je solidní výchozí hodnotou 3600 (jedna hodina). Vyvažuje dvě věci.

  • Změny se šíří do hodiny, což je dost rychlé pro běžné aktualizace
  • DNS servery nemusí vyhledávat váš záznam každých pár minut, když se nic nezměnilo

Pokud se vaše DNS záznamy mění zřídka (a u většiny značek tomu tak je), můžete bezpečně použít 3600 nebo dokonce 14400 (čtyři hodiny). Nižší TTL potřebujete jen tehdy, když víte, že změna přichází.

Kdy byste měli TTL snížit?

TTL snižte před každou větší změnou DNS. Tady jsou situace, kdy vám nízké TTL ušetří čas a starosti.

  • Přechod k jinému poskytovateli hostingu a aktualizace záznamu A
  • Migrace webu na novou platformu
  • Změna poskytovatele e-mailu a aktualizace záznamů MX
  • Namíření domény na web poprvé
  • Nastavení systému převzetí služeb při selhání nebo vyvažování zátěže

V každém z těchto případů chcete, aby se změna projevila co nejrychleji. Nízké TTL to umožní.

Jak snížit TTL před migrací

Existuje jednoduchá strategie, kterou zkušení správci DNS používají před každou migrací serveru. Funguje ve třech krocích.

  1. 24 až 48 hodin před změnou snižte TTL na 300 (pět minut). Staré vysoké TTL tak má čas vypršet na všech DNS serverech po celém světě. Až budete připraveni provést skutečnou změnu, většina serverů bude kontrolovat každých pět minut
  2. Proveďte změnu DNS. Aktualizujte záznam A (nebo jakýkoli záznam, který měníte) na novou hodnotu. Protože je TTL už nízké, DNS servery po celém světě převezmou novou hodnotu během několika minut
  3. Po potvrzení, že změna funguje, vraťte TTL zpět na 3600 nebo svou preferovanou výchozí hodnotu. Tím se zastaví neustálé dotazování, protože změna je hotová a nový záznam je stabilní

Vynechání prvního kroku je nejčastější chyba. Pokud je vaše TTL v okamžiku změny stále nastaveno na 86400, některé DNS servery budou starý záznam poskytovat až 24 hodin, protože jejich mezipaměť ještě nevypršela. Předchozí snížení TTL tomu zabrání.

Jak souvisí TTL a šíření DNS?

Šíření DNS je proces, kdy se vaše aktualizované DNS záznamy rozšiřují po všech DNS serverech na světě. TTL je hlavní faktor, který řídí, jak dlouho tento proces trvá.

Když lidé říkají „šíření DNS může trvat až 48 hodin“, znamená to, že některé DNS servery mohou mít váš starý záznam uložený s vysokým TTL a tyto servery nebudou kontrolovat aktualizace, dokud jejich časovač nevyprší.

Nízké TTL před změnou znamená rychlejší šíření. Vysoké TTL znamená pomalejší šíření. Je to takto přímé. Číslo 48 hodin je nejhorší scénář pro záznamy s TTL 24 hodin, protože některé servery mohly záznam uložit těsně před vaší změnou a na časovači jim zbývá téměř celý den.

Časté chyby u TTL

Dvě chyby se objevují víc než všechny ostatní.

Zapomenutí snížit TTL před změnou. Tohle je ta velká. Aktualizujete záznam A, aby ukazoval na nový server, ale vaše TTL bylo nastavené na 86400. Teď někteří návštěvníci vidí nový web a někteří starý a nezbývá než to vyčkat. TTL vždy snižte 24 až 48 hodin před změnami DNS.

Trvale příliš nízké TTL. TTL 60 sekund znamená, že každý DNS server kontroluje aktualizace každou minutu. Pokud se vaše záznamy nemění, vzniká tím jen zbytečný provoz DNS. Může to také mírně zpomalit web pro nové návštěvníky, jejichž DNS resolver musí provádět nový dotaz častěji. Nízké TTL používejte dočasně, když jsou změny plánované, a pak ho vraťte zpět.

Jak se o TTL stará WEMASY

Když připojíte vlastní doménu k webu ve WEMASY, platforma řeší konfiguraci DNS jako součást nastavení. WEMASY nastavuje rozumné výchozí hodnoty TTL pro záznamy, které potřebujete, takže nemusíte hádat, jaké hodnoty použít.

Pokud přecházíte na WEMASY od jiného poskytovatele, návod k nastavení domény vás provede snížením TTL před přepnutím, aby přechod proběhl hladce. WEMASY zahrnuje hosting, SSL a správu domén v jednom předplatném. Co je součástí jednotlivých tarifů, uvidíte na stránce ceníku WEMASY.

Co bude dál

Teď, když víte, co je TTL a jak řídí rychlost změn DNS, další kapitola popisuje, jak funguje šíření DNS. Dozvíte se, co se děje na pozadí, když se DNS záznam aktualizuje, proč šíření není okamžité a jak zjistit, zda se vaše změny rozšířily. Pro celkový obraz toho, jak systém doménových jmen funguje, se vraťte ke kapitole o tom, jak funguje DNS.

Často kladené otázky

Můžete nastavit různé TTL pro každý DNS záznam?

Ano. Každý DNS záznam má vlastní pole TTL. Můžete nastavit záznam A na 3600 (jedna hodina) a záznam MX na 14400 (čtyři hodiny), pokud to vyhovuje vašim potřebám. Záznamy, které se mění častěji, mohou mít nižší TTL, zatímco stabilní záznamy mohou používat vyšší. S Tvůrcem webů od WEMASY to můžete nastavit přímo na svém webu.

Ovlivňuje TTL rychlost načítání webu?

Ne přímo. TTL řídí, jak často DNS servery obnovují svou uloženou kopii vašich DNS záznamů. Jakmile zařízení návštěvníka přeloží vaši doménu na IP adresu, TTL nemá na rychlost načítání stránek žádný vliv. Rozdíl je jen v tom, jak rychle proběhne samotný DNS dotaz, což přidává milisekundy, ne sekundy.

Jaké TTL použít pro e-mailové záznamy?

Pro záznamy MX a e-mailové záznamy TXT (jako SPF a DKIM) je bezpečnou výchozí hodnotou TTL 3600 (jedna hodina). Pokud se chystáte přejít k jinému poskytovateli e-mailu, den nebo dva před změnou snižte TTL na 300 a po potvrzení nové konfigurace ho vraťte zpět.

Dá se vynutit, aby DNS servery vymazaly mezipaměť před vypršením TTL?

Ne. Externí DNS servery nemůžete přinutit, aby zahodily své uložené záznamy. Každý server respektuje vlastní časovač mezipaměti. Jediný způsob, jak proces urychlit, je mít před provedením změny nastavené nízké TTL. Někteří poskytovatelé DNS nabízejí nástroj pro vymazání mezipaměti na vlastních serverech, ale ten neovlivní každý server na internetu.

Existuje minimální hodnota TTL, kterou byste měli použít?

Technicky můžete nastavit TTL až na 1 sekundu, ale většina poskytovatelů DNS vynucuje minimum 60 nebo 300 sekund. Jít pod 300 je zřídka užitečné. I při migracích vám pětiminutové TTL zajistí rychlé šíření bez přetížení infrastruktury DNS.

Využijte to hned
na vlastním webu.

Začněte zdarma s WEMASY a postavte si web za pár minut.