DNS ที่แนะนำสำหรับ TTL


24

ฉันรู้ว่ามันอาจแตกต่างกันมากตามสถานการณ์ แต่สำหรับการโฮสต์เว็บไซต์ที่ไม่มีแผนที่จะย้ายเซิร์ฟเวอร์การโฮสต์เซิร์ฟเวอร์ TTL ที่ดีสำหรับการตั้งค่าในระเบียน DNS คืออะไร

คำตอบ:


20

ฉันมักจะทิ้งไว้ที่ค่าเริ่มต้นของ Slicehost คือ 86,400 วินาที (1 วัน) ฉันวางมันลงไปที่ 10 นาทีเมื่อฉันมีการเคลื่อนไหวและรอวันหรือสองวัน

แก้ไข:วันนี้ (2016) ฉันมักจะทำให้มันต่ำ - ~ 5 นาที


นั่นเป็นข้อแตกต่าง! มันจะมีประโยชน์ถ้าคำตอบรวมถึงเหตุผลที่อยู่เบื้องหลังการเปลี่ยนเป็น TTL ที่ต่ำกว่ามาก
Anthony G - ความยุติธรรมสำหรับโมนิก้า

3
@AnthonyGeoghegan เซิร์ฟเวอร์ที่ทันสมัยสามารถจัดการกับคำขอได้บ่อยครั้งมากขึ้นและตอนนี้ฉันอยู่ในเซิร์ฟเวอร์ชื่อที่เชื่อถือได้สูง (AWS Route 53) ฉันอยากมีความยืดหยุ่นในการเปลี่ยน DNS ได้ในเวลาหนึ่ง
ceejayoz

12

มาตรฐาน (เขียนเมื่อนานมาแล้วในปี 1987) แนะนำให้ 86,400 วินาที (1 วัน) เป็น TTL เริ่มต้นขั้นต่ำ

สิ่งสำคัญคือ TTLs ถูกตั้งค่าเป็นค่าที่เหมาะสม TTL คือเวลา (เป็นวินาที) ที่ตัวแก้ไขจะใช้ข้อมูลที่ได้รับจากเซิร์ฟเวอร์ของคุณก่อนที่จะถามเซิร์ฟเวอร์ของคุณอีกครั้ง หากคุณตั้งค่าต่ำเกินไปเซิร์ฟเวอร์ของคุณจะโหลดลงมาพร้อมกับคำขอซ้ำจำนวนมาก หากคุณตั้งค่าไว้สูงเกินไปข้อมูลที่คุณเปลี่ยนแปลงจะไม่ได้รับการแจกจ่ายในระยะเวลาที่เหมาะสม หากคุณเว้นว่างฟิลด์ TTL ไว้ค่าเริ่มต้นจะเป็นค่าที่ระบุในระเบียน SOA สำหรับโซน

ข้อมูลโฮสต์ส่วนใหญ่ไม่เปลี่ยนแปลงมากนักในช่วงระยะเวลานาน วิธีที่ดีในการตั้งค่า TTL ของคุณคือการตั้งค่าที่มีค่าสูงจากนั้นลดค่าลงหากคุณรู้ว่าการเปลี่ยนแปลงจะมาเร็ว ๆ นี้ คุณอาจตั้งค่า TTLs เกือบทุกที่ระหว่างวัน (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 เหล่านั้นว่าเป็น "มาตรฐาน" ( RFC 1796 ) ฉันไม่สังเกตสิ่งนี้เพื่อให้ผู้อ่านตั้งแต่วันนี้ไม่ได้เดินออกจากคำถาม & คำตอบนี้ด้วยความเข้าใจผิด
Andrew B

7

ฉันสังเกตเห็นว่ามันกลายเป็นแฟชั่นมากขึ้นที่จะมี TTL ที่สั้นกว่าเพื่อให้สามารถตอบสนองในกรณีฉุกเฉิน (โดยเฉพาะในสภาพแวดล้อม HA DNS) ได้เร็วขึ้น


1
ใช่. CloudFlare เริ่มต้นที่ TTL ของลูกค้าทั้งหมดเป็น 300 วินาที (5 นาที) ซึ่งสั้นมาก แต่เห็นประโยชน์อย่างชัดเจน
Simon East

3

ฉันจะปล่อยให้มันเป็นค่าเริ่มต้นที่กำหนดโดยโฮสต์ของคุณเว้นแต่จะสูงหรือต่ำอย่างน่าหัวเราะด้วยเหตุผลบางอย่าง จากนั้นถ้าคุณไม่ต้องการที่จะย้ายกระแทกลงไปถึง 20 นาทีหรือประมาณสองสามวันก่อนที่คุณจะวางแผนที่จะย้าย


2

ควรใช้เวลา 4 ชั่วโมงในการปรับสมดุลให้เหมาะสม นั่นคือสิ่งที่ฉันใช้ในโซนส่วนใหญ่


4
นั่นอาจสั้นเกินไป
dmourati

5
@dmourati: เป็น 2011 สำหรับเซิร์ฟเวอร์ DNS ขนาดเล็กส่วนใหญ่ (เช่นต่ำกว่า 1,000 โซนหรือมากกว่า) และสำหรับไคลเอนต์ใด ๆ และทั้งหมดความต้องการโหลดซีพียูและแบนด์วิดท์เพิ่มเติมนั้นเล็กน้อยมาก แน่นอนถ้าเซิร์ฟเวอร์ DNS ของคุณหยุดทำงานนานกว่า 4 ชั่วโมงคุณจะเป็น SOL แต่ถ้านั่นสำคัญและคุณไม่สามารถให้บริการ DNS ที่เชื่อถือได้คุณจะไม่มีธุรกิจที่ให้บริการ DNS ของคุณบนรากฐานที่ง่อนแง่น ..
Mihai Limbăşan

3
เมื่อผู้ใช้ถามคำถามที่ตอบโดยตรงใน RFC คุณจะนำพวกเขาไปยัง RFC โดยไม่คำนึงว่าจะเป็นปีใด
dmourati

@dmourati สิ่งนี้กำหนดไว้ใน RFC หรือไม่
JoóÁdám

ใช่เห็นคำตอบของฉันด้านบน
dmourati


2

(หมายเหตุ: โพสต์นี้นำไปใช้กับ TTL ในเร็กคอร์ด A / AAAA ที่แยกจากกันบางชนิดเร็กคอร์ดอื่นสามารถมี TTL ได้นานกว่าเนื่องจากพวกเขาไม่ได้เป็นตัวแทนของจุดล้มเหลวในลักษณะเดียวกัน)

คุณต้องคิดเกี่ยวกับเรื่องนี้ในแง่ของแผนการกู้คืนความเสียหาย มันไม่เกี่ยวกับเมื่อคุณต้องการย้ายเว็บไซต์ (สำหรับการย้ายโดยเจตนาคุณสามารถลด TTL ในการ runup เป็นการย้าย) มันเกี่ยวกับเมื่อโฮสต์ของคุณหายตัวไปจากใบหน้าของอินเทอร์เน็ตหรือเตะคุณออกจากการละเมิด TOS หรือเตะคุณออกเพราะพวกเขาไม่สามารถจัดการ DDOS ที่มาในแบบของคุณ

หากคุณไม่สนใจว่าไซต์ของคุณจะหยุดทำงานสักวันหรือมากกว่านั้นในสถานการณ์เหล่านั้นให้ดำเนินการต่อและปล่อยให้ TTL เป็นค่าเริ่มต้นหนึ่งวัน หากคุณมีพื้นที่ที่อยู่ PI และการขนส่ง BGP ในหลายสถานที่จากผู้ให้บริการหลายรายและตั้งใจที่จะจัดการกับการกู้คืนความเสียหายที่ระดับ BGP จากนั้นไปข้างหน้าและทิ้งไว้เป็นค่าเริ่มต้นหนึ่งวัน ในทางกลับกันถ้าคุณใช้ DNS เป็นกลไกของการดำน้ำ taffic ของคุณไปยังไซต์ failover จากนั้นคุณต้องการ TTL ที่สั้นกว่ามาก 5 minuites เป็นค่าทั่วไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.