Сайтни бир хостингдан бошқасига кўчириш кўпинча файл ва базани нусхалашдан иборат иш бўлиб кўринади. Аслида энг нозик босқич DNS ёзувини янги IP манзилга алмаштириш лаҳзасидир. Сиз ёзувни ўзгартирдингиз, лекин интернетдаги минглаб резолверлар эски жавобни ҳали ҳам эслаб туради ва ташриф буюрувчиларнинг бир қисмини эски серверга юборади. Бу ҳолатнинг давомийлигини айнан TTL қиймати белгилайди, шунинг учун уни олдиндан бошқариш миграцияни тинч ўтказишнинг калитидир.
TTL аслида нимани бошқаради
TTL (Time To Live) ҳар бир DNS ёзувига бириктирилган сон бўлиб, сонияларда ўлчанади. Провайдернинг резолвери ёки офисдаги роутер сизнинг доменингиз ҳақида жавоб олганда, уни шу муддат давомида кешда сақлайди ва қайта сўрамайди. Масалан, A ёзувининг TTL қиймати 86400 бўлса, жавоб бир сутка давомида янгиланмаслиги мумкин. Бу одатий кунларда фойдали: сўровлар камаяди, сайт тезроқ очилади, DNS серверга юк тушмайди.
Муаммо шундаки, TTL ўзгаришдан кейин эмас, ўзгаришдан олдин таъсир қилади. Резолвер жавобни олган пайтдаги TTL билан сақлайди. Агар сиз бугун TTL'ни 300 га туширсангиз, кеча 86400 билан кешланган жавоб барибир ўз муддатини ўтаб бўлади. Шу сабабли TTL'ни камайтиришни миграция кунининг ўзида эмас, камида эски TTL давомийлигича олдин қилиш керак.
Жорий қийматни қандай билиб оласиз
Ишни бошлашдан олдин ҳозирги TTL қийматларини аниқлаб олинг. Бунинг учун доменнинг авторитатив DNS серверидан тўғридан-тўғри сўраш энг ишончли йўл, чунки оралиқ резолверлар камайиб бораётган қолдиқ вақтни кўрсатади. Қуйидаги буйруқлар Linux, macOS ёки Windows'даги WSL муҳитида ишлайди:
# Domen qaysi NS serverlarda turganini bilish
dig NS example.uz +short
# Avtoritativ serverdan A yozuvi va uning TTL qiymati
dig @ns1.example.uz example.uz A +noall +answer
# SOA yozuvi: oxirgi maydon salbiy javoblar keshi uchun
dig @ns1.example.uz example.uz SOA +noall +answer
Жавобдаги иккинчи устун TTL ҳисобланади. Фақат асосий доменни эмас, www, mail ва бошқа субдоменларни ҳам текширинг, чунки улар кўпинча алоҳида TTL билан яратилган бўлади. SOA ёзувининг охирги майдони мавжуд бўлмаган номлар ҳақидаги жавоб қанча кешланишини белгилайди. Агар кўчириш жараёнида янги субдомен қўшмоқчи бўлсангиз, бу қиймат ҳам аҳамиятга эга.
Босқичма-босқич режа
Тошкентдаги бир онлайн кийим дўконини мисол қилиб олайлик. Дўкон example.uz доменида ишлайди, A ёзувининг TTL қиймати 86400, кўчириш эса шанба куни эрталаб режалаштирилган. Тўғри тартиб қуйидагича бўлади:
- Пайшанба эрталаб, яъни камида 24 соат олдин,
Aваwwwёзувларининг TTL қийматини 300 га туширинг. Бу вақтда IP манзил ҳали эски бўлиб қолади, фақат TTL ўзгаради. - Жума куни авторитатив сервердан ва бир нечта оммавий резолвердан текширинг: барча жавобларда TTL 300 ёки ундан кичик кўриниши керак.
- Шанба куни файл ва базани янги серверга кўчиринг, сайтни янги IP орқали синаб кўринг.
- Ҳаммаси жойида бўлса,
Aёзувини янги IP га алмаштиринг. Беш дақиқа ичида ташриф буюрувчиларнинг кўпчилиги янги серверга ўтади. - Бир-икки кун барқарор ишлагандан кейин TTL'ни яна 3600 ёки ундан юқори қийматга қайтаринг.
Бу режанинг асосий фойдаси орқага қайтиш имкониятидир. Агар янги серверда кутилмаган хато чиқса, ёзувни эски IP га қайтарасиз ва бир неча дақиқада вазият тикланади. TTL 86400 бўлиб қолганда эса хато бутун сутка давомида мижозларнинг бир қисмига кўриниб туради.
Янги серверни DNS'сиз олдиндан синаш
TTL'ни камайтириш билан бирга янги серверни DNS алмашмасдан олдин текшириб олиш ҳам муҳим. Бунинг учун ўз компьютерингизда доменни вақтинча янги IP га боғлаб қўйиш етарли. Бу фақат сизнинг қурилмангизга таъсир қилади, бошқа ташриф буюрувчилар эски сайтни кўришда давом этади:
# Linux/macOS: /etc/hosts, Windows: C:\Windows\System32\drivers\etc\hosts
203.0.113.25 example.uz www.example.uz
# Yoki faylni o'zgartirmasdan curl bilan
curl -I --resolve example.uz:443:203.0.113.25 https://example.uz/
Шу тарзда сават, тўлов саҳифаси, алоқа формаси ва администратор панели янги серверда ишлашини олдиндан кўриб чиқасиз. Синовдан кейин hosts файлидаги қаторни албатта ўчириб қўйинг, акс ҳолда кейинчалик ўзингиз чалғишингиз мумкин.
Кўп учрайдиган хатолар
Энг кенг тарқалган хато TTL'ни ёзув алмаштириладиган дақиқада камайтиришдир. Бу деярли ҳеч қандай фойда бермайди, чунки резолверлар эски узун TTL билан сақланган жавобни ушлаб туради. Иккинчи хато фақат асосий доменни ўзгартириб, www субдоменини унутишдир: натижада example.uz янги серверга, www.example.uz эса эски серверга боради ва буюртмалар икки жойга бўлиниб кетади.
Учинчи хато почта билан боғлиқ. Агар MX ёзуви ҳам янги серверга кўчирилаётган бўлса, унга ҳам TTL'ни олдиндан камайтиринг ва ўтиш даврида эски почта қутисини дарҳол ўчирманг. Баъзи хатлар бир мунча вақт эски серверга тушиши мумкин, шунинг учун иккала қутини ҳам бир неча кун кузатиб боринг. Ва ниҳоят, кўчиришдан кейин TTL'ни паст қийматда унутиб қолдириш ҳам тўғри эмас: бу ортиқча DNS сўровларни келтириб чиқаради ва баъзи резолверларда сайт очилишини озгина секинлаштиради.
NS серверлар алмаштирилганда вазият бошқача
Юқоридаги режа A, CNAME ва MX ёзувлари бир хил DNS серверда қолиб, фақат қиймати ўзгарганда тўлиқ ишлайди. Агар сиз доменнинг NS серверларини бутунлай бошқа провайдерга алмаштирсангиз, вазият мураккаблашади. NS ёзувлари домен зонасининг юқори даражасида, яъни .uz реестрида сақланади ва уларнинг TTL қийматини сиз бошқара олмайсиз. Бундай ҳолларда янги DNS серверда барча ёзувларни олдиндан тўлиқ нусхалаб қўйиш ва эски серверни ўтиш даврида ўчирмасдан ушлаб туриш энг хавфсиз йўлдир.
sayt.uz кабинетида доменингиз учун DNS ёзувларини таҳрирлаганда TTL қийматини ҳам кўрсатишингиз мумкин. Миграция режалаштирилган бўлса, ушбу майдонни бир кун олдин ўзгартириб қўйишни одат қилинг.
Қайси қиймат қачон тўғри келади
| Вазият | Тавсия этилган TTL |
|---|---|
| Барқарор ишлаётган сайт | 3600 дан 86400 гача |
| Миграциядан 1-2 кун олдин | 300 |
| Кўчириш куни ва ундан кейинги 1-2 кун | 300 |
| Тез-тез IP ўзгарадиган тест муҳити | 60 дан 300 гача |
60 сониядан паст қийматларни қўймаслик маъқул: айрим резолверлар жуда кичик TTL'ни эътиборга олмай, ўзининг минимал чегарасини қўллайди. 300 сония амалда етарлича тез ва барча жойда бир хил ишлайдиган қиймат ҳисобланади. Шу оддий қоидага амал қилсангиз, кейинги миграциянгиз мижозлар учун деярли сезилмай ўтади.