Рекомендований DNS TTL


24

Я знаю, що це може бути дуже різним, залежно від ситуації, але для розміщення веб-сайту, не плануючи переміщати хостинг-сервер, який хороший TTL встановити на запис DNS?

Відповіді:


20

Я схильний залишати це за замовчуванням Slicehost, 86 400 секунд (1 день). Я опускаю його до 10 хвилин, коли я очікую на рух і чекаю день-два.

редагувати: У ці дні (2016) я схильний тримати його низьким - ~ 5 хвилин.


Це зовсім різниця! Було б корисно, якби відповідь включала міркування про зміну на значно нижчий TTL.
Ентоні Г - справедливість для Моніки

3
@AnthonyGeoghegan Сучасні сервери можуть обробляти набагато частіші запити, і тепер, коли я перебуваю на високонадійних серверах імен (AWS Route 53), я скоріше маю можливість гнучко змінювати DNS за мить.
ceejayoz

12

Стандарти (написані давно в 1987 році) пропонують 86 400 секунд (1 день) як мінімальний TTL за замовчуванням.

Важливо, щоб TTL були встановлені на відповідні значення. TTL - це час (у секундах), коли резолютор використовуватиме дані, отримані з вашого сервера, перш ніж він знову запитає ваш сервер. Якщо ви встановите значення занадто низьке, ваш сервер буде завантажений безліччю повторних запитів. Якщо встановити його занадто високо, то змінена вами інформація не поширюватиметься за розумну кількість часу. Якщо залишити поле TTL порожнім, воно буде за замовчуванням встановленим у записі SOA для зони.

Більшість інформації про хост не сильно змінюється протягом тривалих періодів часу. Хороший спосіб налаштувати свої TTL - це встановити їх високе значення, а потім знизити значення, якщо ви знаєте, що незабаром відбудуться зміни. Ви можете встановити більшість TTL в будь-якому місці від дня (86400) до тижня (604800). Тоді, якщо ви знаєте, що деякі дані будуть змінюватися найближчим часом, встановіть TTL для цього RR вниз до нижчого значення (годину до дня), поки зміни не відбудуться, а потім відновіть його до попереднього значення.

Крім того, всі RR з тим самим іменем, класом та типом повинні мати однакове значення TTL.

Див. RFC 1033: http://tools.ietf.org/html/rfc1033

RFC 1912 (з 1996 р.) Припускає, що 3 дні можуть бути більш підходящими для SOAзаписів.

http://www.ietf.org/rfc/rfc1912.txt


4
Я думаю, що трафік DNS від низьких TTL був значно більшою проблемою у 1987 та 1996 роках, ніж у 2011/2012.
ceejayoz

6
Обидва ці стандарти, які ви цитуєте, посилаються на поле "Мінімум" запису SOA, яке більше не використовується для визначення типового або мінімального TTL, як це було призначено ще під час написання цих стандартів. Найкращі практики DNS, написані 27 та 18 років тому, були написані, коли DNS - справді Інтернет - був іншим звіром. На сьогоднішній день 300 секунд (5 хвилин) є досить поширеним TTL для основних записів A / AAAA, хоча корисніше лише тоді, коли потрібна швидка відмова в іншому випадку 6 годин + було б більш доцільним. Записи NS та записи A / AAAA для NS-адрес зазвичай становлять 1 день або більше.
thomasrutter

6
Я запізнююсь прокоментувати це, але слід зазначити, що будь-який із цих ДРК недоцільно називати "стандартами". ( RFC 1796 ) Я відзначаю це, щоб читачі сьогодні не відходили від цього питання з неправильним розумінням.
Андрій Б

7

Я помітив, що стає моднішим скорочувати коротші TTL, щоб мати можливість швидше реагувати в надзвичайних ситуаціях (особливо в середовищі HA DNS).


1
Так. CloudFlare за замовчуванням отримує TTL для всіх своїх клієнтів до 300 секунд (5 хвилин), що божевільно коротко, але вони, очевидно, бачать переваги.
Саймон Схід

3

Я б просто залишив його за замовчуванням, встановленим вашим хостом, якщо тільки це не смішно високе або низьке з якихось причин. Тоді, якщо ви коли-небудь захочете рухатись, натисніть його на 20 хвилин або близько того за пару днів до того, як ви плануєте зробити рух.


2

4 години повинні бути просто чудовими, забезпечуючи прийнятний баланс. Саме цим я користуюсь у більшості зон.


4
Це, мабуть, занадто коротко.
dmourati

5
@dmourati: Це 2011 рік. Для переважної більшості невеликих (тобто під 1000 або більше зон) серверів DNS та для будь-яких клієнтів додаткові вимоги до завантаження процесора та пропускної здатності абсолютно незначні. Звичайно, якщо ваші DNS-сервери опускаються більше 4 годин, ви SOL, але якщо це важливо, і ви не можете забезпечити надійну службу DNS, у вас в першу чергу немає жодного бізнесу, який би розмістив службу DNS на такій хитрій основі. ..
Mihai Limbăşan

3
Коли користувач задає запитання, на яке відповідає безпосередньо в RFC, ви направляєте їх на RFC незалежно від року, в який він йде.
dmourati

@dmourati Це передбачено в RFC?
Жоу Адам

Так, дивіться мою відповідь вище.
dmourati


2

(зауважте: ця публікація застосовується до TTL для окремих записів A / AAAA; деякі інші типи записів можуть мати довші TTL, оскільки вони не представляють одинакові точки відмови однаково).

Вам справді потрібно подумати над цим з точки зору своїх планів відновлення після катастроф. Йдеться не про те, коли ви маєте намір перемістити сайт (для навмисних рухів ви можете зменшити TTL під час запуску до ходу). Йдеться про те, коли ваш хостинг зникає з Інтернету або виганяє вас за порушення TOS або виштовхує вас, тому що вони не можуть впоратися з DDOS, який прийшов на ваш шлях.

Якщо ви не переймаєтесь тим, що ваш веб-сайт на цілий день не працює, тоді заздалегідь залиште TTL за замовчуванням. Якщо у вас є простір PI-адреси та транзит BGP у декількох місцях від багатьох постачальників і ви маєте намір обробити аварійне відновлення на рівні BGP, тоді продовжуйте та залишайте його за замовчуванням на один день. З іншого боку, якщо ви використовуєте DNS в якості свого механізму поглинання ваших труднощів на веб-сайті, що перебуває в аварійному режимі, тоді ви хочете набагато коротший TTL, 5 мінутів - цілком загальна цінність.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.