Obniż TTL przed migracją
Aktualizacja: 5 min czytaniaZespół DNSPeek
Obniż TTL rekordów, które zmienisz, do 300 sekund co najmniej jeden pełny stary TTL przed migracją, zwykle 24–48 godzin wcześniej. Resolvery będą wtedy zapamiętywać stary adres najwyżej przez pięć minut, więc przełączenie szybko dotrze prawie do wszystkich, a wycofanie będzie równie szybkie. Kilka dni po przeprowadzce przywróć TTL do zwykłej wartości.
Co robi TTL podczas migracji
Każdy rekord DNS ma TTL (time to live, czas życia) w sekundach. Mówi on resolverom, jak długo mogą ponownie używać zapamiętanej odpowiedzi, zanim zapytają znowu. Przy TTL 86400 resolver, który sprawdził Twoją domenę tuż przed przełączeniem, może przez cały dzień kierować swoich użytkowników na stary serwer.
Samo obniżenie TTL niczego nie przyspiesza. Skraca następny okres przechowywania w pamięci podręcznej. Dlatego liczy się czas: krótki TTL zaczyna działać dopiero wtedy, gdy stary, długi TTL wygaśnie w każdej pamięci podręcznej, która przechowuje rekord.
Harmonogram
| Kiedy | Rekord | TTL | Dlaczego |
|---|---|---|---|
| Dziś | A → IP starego serwera | Obniż do 300 | Pamięci podręczne zaczynają przejmować krótki TTL, gdy wygasają ich stare kopie |
| Po upływie jednego starego TTL | A → IP starego serwera | 300 | Każda pamięć podręczna trzyma teraz rekord najwyżej pięć minut |
| Dzień przełączenia | A → IP nowego serwera | 300 | Odwiedzający przechodzą w ciągu minut; wycofanie jest równie szybkie |
| Kilka dni później | A → IP nowego serwera | Z powrotem 3600 lub więcej | Mniej zapytań i większa odporność, jeśli dostawca DNS ma awarię |
; Before the move: same IP, short TTL
example.com. 300 IN A 198.51.100.7
; Switch day: new IP
example.com. 300 IN A 203.0.113.10
; A few days later: a longer TTL again
example.com. 3600 IN A 203.0.113.10Jak obniżyć TTL
Krok 1: Sprawdź obecny TTL
Sprawdź TTL każdego rekordu, który zmienisz, narzędziem sprawdzanie TTL lub poleceniem
digi zanotuj najwyższą wartość.Krok 2: Ustaw TTL na 300 sekund
W panelu dostawcy DNS zmień tylko TTL tych rekordów na 300. Pozostaw je skierowane na stary serwer.
Krok 3: Odczekaj jeden stary TTL
Odczekaj co najmniej tyle, ile wynosił zanotowany stary TTL, aby każda zapamiętana kopia z długim TTL wygasła.
Krok 4: Przełącz rekordy
Zmień rekordy na nowy serwer. Większość odwiedzających trafi na niego w ciągu pięciu minut; obserwuj to narzędziem sprawdzanie propagacji DNS.
Krok 5: Podnieś TTL ponownie
Kilka dni po przeprowadzce, gdy masz pewność, że wycofanie nie będzie potrzebne, ustaw TTL z powrotem na 3600 sekund lub więcej.
Sprawdź obecny TTL
Darmowe sprawdzanie TTL pokazuje TTL każdego rekordu domeny. W terminalu liczba po nazwie to TTL w sekundach:
dig example.com A +noall +answer
# example.com. 3600 IN A 198.51.100.7Resolve-DnsName -Name example.com -Type A | Format-Table Name, TTL, IPAddressZapamiętane odpowiedzi odliczają czas
Resolver rekurencyjny pokazuje czas pozostały dla jego zapamiętanej kopii, więc liczba maleje między zapytaniami. Aby zobaczyć skonfigurowaną wartość, odpytaj bezpośrednio autorytatywny serwer nazw (dig @ns1.your-dns-host.com example.com A).
Które rekordy obniżyć
- A i AAAA dla domeny i dla
www, a także dla innych nazw hostów wskazujących stary serwer, takich jakshopczyapi. - Rekordy CNAME, które będą wskazywać nowe miejsce.
- MX tylko wtedy, gdy poczta też się przenosi. Jeśli poczta zostaje na miejscu, nie zmieniaj MX.
- Rekordy TXT, takie jak SPF, jeśli zmieniają się serwery wysyłające.
Rekordy, których nie zmieniasz, mogą zachować swój TTL. Jeśli przenosisz strefę DNS do innego dostawcy (zmieniasz serwery nazw), TTL poszczególnych rekordów pomaga mniej: delegacja w rejestrze ma własny TTL, którego nie możesz zmienić, często od jednego do dwóch dni. W takim przypadku najpierw skopiuj wszystkie rekordy do nowej strefy i porównaj obie strony narzędziem Porównanie DNS, zanim zmienisz serwery nazw. Sprawdzanie serwerów nazw pokazuje, co podaje rejestr.
Jak nisko zejść?
300 sekund to typowy wybór. To na tyle krótko, że przełączenie lub wycofanie dotrze do większości odwiedzających w ciągu minut, i na tyle długo, by nie obciążać dostawcy DNS. Niższe wartości, np. 60 sekund, w praktyce rzadko pomagają: niektóre resolvery i tak stosują minimalny czas przechowywania, a przeglądarki i systemy operacyjne mają własne krótkie pamięci podręczne.
Niektóre panele DNS nie pozwalają na wartości poniżej pewnego minimum albo pokazują TTL jako menu z pozycjami typu „Auto”. Przy rekordzie przepuszczanym przez proxy CDN, np. Cloudflare, ustawiony TTL w ogóle nie ma znaczenia dla przełączenia: odwiedzający rozwiązują domenę na CDN, a zmieniasz origin w CDN.
Typowe błędy z TTL
- Obniżenie TTL w dniu przełączenia. Pamięci podręczne, które już trzymają rekord z TTL jednego dnia, zachowają go do jednego dnia, bez względu na krótki TTL.
- Zmiana niewłaściwej strefy. Jeśli serwery nazw domeny wskazują Cloudflare, edycja strefy u rejestratora nic nie da. Najpierw sprawdź, które serwery nazw są autorytatywne.
- Zapomnienie o www i IPv6. Domena bez www przełącza się w ciągu minut, a
wwwlub rekord AAAA nadal ma stary IP z długim TTL. - Niepodniesienie TTL z powrotem. Stały TTL 300 sekund działa, ale oznacza więcej zapytań i słabszą ochronę, jeśli dostawca DNS ma awarię.
- Oczekiwanie, że TTL rozwiąże sprawę CDN. Przy rekordzie przez proxy odwiedzający i tak trafiają do CDN; zmiana następuje w ustawieniach origin w CDN.
Wykorzystaj czas oczekiwania na testy
Krótki TTL to także Twoja siatka bezpieczeństwa. Jeśli po przełączeniu coś pójdzie nie tak, skierowanie rekordu z powrotem na stary serwer dotrze do odwiedzających równie szybko, o ile stary serwer nadal działa. Utrzymuj go, dopóki przeprowadzka się nie ustabilizuje. Dzień między obniżeniem TTL a przełączeniem to idealny czas na sprawdzenie nowego serwera. Otwórz stronę na nowym IP za pomocą linku do podglądu DNSPeek, uruchom raport QA i wyślij link osobie, która ma go zatwierdzić. Raport QA odczytuje też DNS domeny i przypomni o obniżeniu TTL, jeśli nadal jest długi.
Checklista TTL
TTL
- Zanotowany obecny TTL każdego rekordu do zmiany
- TTL obniżony do 300 sekund, rekordy nadal na starym IP
- Przed przełączeniem upłynął jeden stary TTL
- Rekordy przełączone na nowy IP
- Propagacja sprawdzona w publicznych resolverach
- TTL podniesiony ponownie kilka dni później
Najczęstsze pytania
Jak długo przed migracją obniżyć TTL?
Co najmniej jeden pełny stary TTL przed przełączeniem. Przy TTL wynoszącym godzinę obniż go ponad godzinę wcześniej; przy TTL wynoszącym dzień — ponad dzień wcześniej. Obniżenie 24–48 godzin wcześniej obejmuje typowe przypadki.
Jakiego TTL użyć przy przełączaniu DNS?
300 sekund, czyli pięć minut, to typowa wartość. Sprawia, że przełączenie i ewentualne wycofanie są szybkie, bez zauważalnego obciążenia dostawcy DNS.
Czy obniżenie TTL tuż przed przełączeniem pomaga?
Bardzo niewiele. Resolvery, które zapamiętały rekord ze starym, długim TTL, trzymają go, dopóki ten TTL nie wygaśnie, więc krótka wartość pomaga tylko resolverom, które zapytają ponownie po obniżeniu.
Czy utrzymywać niski TTL na stałe?
Zwykle nie. Dłuższy TTL, np. godzina lub więcej, oznacza mniej zapytań i dłużej utrzymuje dostępność strony, jeśli dostawca DNS ma awarię. Obniż go ponownie przed kolejną planowaną zmianą.
Czy TTL wpływa na zmianę serwerów nazw?
Tylko częściowo. Delegacja do Twoich serwerów nazw jest zapamiętywana przez resolvery zgodnie z TTL strefy nadrzędnej, którego nie możesz zmienić. Skopiuj wszystkie rekordy do nowego dostawcy i licz się z maksymalnie dwoma dniami na samą zmianę serwerów nazw.