Pamiętaj, że zmiana delegacji domeny może trwać kilka minut, kilka godzin, a nawet 30–48 godzin. Co rejestrator, to inna teoria – ale trochę prawdy jest w każdej z nich. Czym jest ten magiczny czas propagacji DNS, dlaczego moja domena nie działa, strona nie wyświetla się poprawnie, poczta przestała chodzić i tracę miliony? Znacie to skądś? A czy przypadkiem nie przenosiliście właśnie sklepu lub strony na nowy hosting?

Z nikogo się nie śmieję – każdy ma prawo nie wiedzieć i pytać. Ale trzeba być świadomym pewnych decyzji w obszarze konfiguracji usług internetowych. Jedną z nich jest właśnie zmiana delegacji serwerów DNS, która obarczona jest nawet 30-, a czasem faktycznie i 48-godzinną możliwą przerwą w działaniu poczty i strony WWW. Przerwą, której raczej nie przyspieszysz ani nie skrócisz – ale możesz się do niej odpowiednio przygotować.

Co to jest delegacja domeny i zmiana serwerów DNS?

Kiedy rejestrujesz domenę, musisz poinformować internet, który serwer nią „zarządza” (tak w dużym uproszczeniu) – to właśnie serwery NS (Name Servers), czyli serwery nazw. To na nie wskazuje Twoja domena i to one wiedzą, gdzie leży Twoja strona, gdzie trafia poczta i jak skonfigurowane są pozostałe usługi.

Kiedy przenosisz stronę na nowy hosting, nie musisz transferować domeny do innego rejestratora. Wystarczy zmiana delegacji – czyli podmiana serwerów NS w panelu rejestratora na te wskazane przez nowego dostawcę hostingu. Domena zostaje tam, gdzie była. Zmienia się tylko „drogowskaz” dla reszty internetu.

Jak to ustawić krok po kroku, opisałem w artykule Zmiana delegacji domeny. Jeśli natomiast interesuje Cię różnica między delegacją a transferem i cesją, zajrzyj do poradnika o tym, czym się te operacje różnią.

Jak internet dowiaduje się o zmianie? – propagacja DNS

Internet to globalna sieć tysięcy serwerów DNS rozsianych po całym świecie. Każdy z nich przechowuje pewien czas informacje o tym, gdzie prowadzi dana domena – ten czas to TTL (Time to Live). Dopóki TTL nie wygaśnie, serwer korzysta z zapisanej, starej informacji – i dopiero po jego upłynięciu sięga po nową.

Gdy zmieniasz serwery NS, nowa informacja musi „dotrzeć” do wszystkich serwerów DNS na świecie – i każdy z nich odświeży ją według własnego TTL. Jeden zrobi to w 10 minut, inny dopiero po 24 godzinach. To właśnie dlatego słyszysz: „U mnie już działa” – i jednocześnie klient dzwoni, że u niego strona nie żyje. Oboje macie rację.

Dlaczego propagacja trwa nawet 30, 48, a czasem 72 godziny?

Jak kilka razy podkreślałem na blogu, internet nie jest scentralizowany – nie ma jednego miejsca, do którego wysyłasz zmianę i które rozgłasza ją natychmiast wszędzie. Każde zapytanie o domenę podąża własną ścieżką przez sieć – i nie masz żadnej gwarancji, że Twój użytkownik w danej chwili trafi na już odświeżony serwer DNS. A jeśli trafi, jeśli Ty trafisz, to super, ale nie traktuj tego jako pewniak, że za 20 minut będzie taki sam efekt. Rozwinę ten wątek w dalszej części artykułu.

Na czas propagacji wpływają:

  • Częstotliwość odświeżania rejestru – jeden rejestr zaktualizuje zmiany w kilkanaście minut, inny może potrzebować kilku godzin
  • Ustawienia TTL – im dłuższy TTL, tym wolniejsze odświeżanie u poszczególnych dostawców internetu
  • Infrastruktura ISP użytkownika – dostawca internetu Twojego klienta może „pamiętać” starą konfigurację dłużej niż Ty byś chciał
  • Typ rekordu – zmiana samego rekordu A (adres IP) propaguje się szybciej niż pełna zmiana NS

Dlatego fakt, że u Ciebie strona „już działa” po 10 minutach, nic nie znaczy. Być może trafiłeś na połączenie przez już odświeżony serwer. Traktuj 24–30 godzin jako standard i minimum, a 48–72 godziny jako scenariusz możliwy, zwłaszcza przy domenach z dłuższym TTL lub domenach międzynarodowych.

Jak przyspieszyć propagację DNS?

Szczerze? Nie masz na to większego wpływu. Możesz przed planowaną zmianą ustawić niższe TTL dla rekordów domeny (np. na 300 sekund) – wtedy serwery DNS będą częściej sprawdzać nowe wartości. Ale żeby to zadziałało, TTL musisz zmienić z wyprzedzeniem, zanim jeszcze zainicjujesz zmianę delegacji – bo serwery i tak muszą najpierw odświeżyć stary TTL.

Poza tym jedynym rozwiązaniem, które  przyspiesza działanie globalnej sieci, jest korzystanie z usług takich jak Cloudflare – ich globalna sieć serwerów potrafi drastycznie skrócić czas widoczności zmian. Ale to już temat na osobny poradnik.

Jak uniknąć przestoju podczas zmiany delegacji?

Nie da się całkowicie wyeliminować ryzyka przestoju, ale można go znacznie ograniczyć. I to jest ciekawostka o której, nawet doświadczeniu administratorzy zapominają, albo celowo unikają. Zaraz przeczytasz dlaczego. Najlepszym wyjściem jest utrzymywanie zasobów równolegle na obu serwerach przez cały czas propagacji.

I co to oznacza w praktyce:

  • Strona WWW – skopiuj całą stronę na nowy serwer przed zmianą NS i zostaw ją działającą na starym do czasu zakończenia propagacji
  • Poczta e-mail – to najtrudniejszy element: istnieje ryzyko, że część maili dotrze na stary serwer, część na nowy. Jeśli to możliwe, ustaw forwarding ze starej skrzynki na nową lub na czas migracji monitoruj obie
  • Sklep internetowy – jeśli masz sklep, zamówienia złożone podczas propagacji mogą trafiać na stary lub nowy serwer. Warto rozważyć wystawienie strony w trybie maintenance na kilka godzin lub przynajmniej poinformowanie klientów o planowanych pracach.

Ciekawe prawda? To nie jest żaden magiczny trick. Po prostu, nie ruszasz nic na starym serwerze, do momentu, kiedy na nowym, nie będziesz miał skonfigurowanej np. strony WWW i utworzonych kont e-mail. Teraz delegujesz domenę internetową.

Jak widzisz, zmiana delegacji to nie kliknięcie i gotowe. To operacja, którą warto zaplanować – najlepiej w weekend, wieczorem, przy niskim ruchu. Więcej o samym procesie zmiany serwerów NS przeczytasz w poradniku Zmiana delegacji domeny, a jeśli zastanawiasz się, czy w Twoim przypadku wystarczy delegacja czy jednak potrzebujesz pełnego transferu domeny, wyjaśniłem to dokładnie w artykule Co to jest transfer domeny internetowej.