DNS Propagation 2026: เข้าใจ TTL และการแพร่กระจายข้อมูล
When you change DNS records or migrate your website to new hosting, you'll notice the changes don't appear everywhere instantly. This happens because thousands of DNS resolvers worldwide must update their cached data, a process controlled by TTL values and caching rules. This guide explains how DNS propagation works, why it takes time, and how to plan your migration smoothly.
เมื่อคุณเปลี่ยน DNS หรือย้ายโฮสต์ เปลี่ยนแปลงจะไม่ปรากฏทันทีทั่วโลก เพราะ DNS resolver ต่างๆ ต้องใช้เวลาในการอัปเดตข้อมูล ขึ้นอยู่กับค่า TTL และการ cache ข้อมูล บทความนี้จะช่วยให้คุณเข้าใจกระบวนการนี้ และวางแผนการย้ายข้อมูลได้อย่างปลอดภัย
สารบัญ
DNS Propagation คืออะไร
DNS propagation หมายถึงกระบวนการที่ข้อมูล DNS record ใหม่แพร่กระจายไปยัง DNS server ต่างๆ ทั่วโลก เมื่อคุณเปลี่ยน DNS record ความเปลี่ยนแปลงนี้จะไม่ปรากฏให้เห็นทั้งหมดในทันที แต่จะค่อยๆ แพร่ไปยัง resolver ทั่วโลก ผู้ใช้บางคนอาจจะเห็นข้อมูลเก่า บางคนเห็นข้อมูลใหม่ ขึ้นอยู่กับว่า resolver ที่พวกเขาใช้อยู่ได้อัปเดตแล้วหรือไม่
- DNS record หมายถึง ข้อมูล (เช่น A record, CNAME record, MX record) ที่บันทึกไว้ในเซิร์ฟเวอร์
- Propagation คือ การแพร่กระจายข้อมูล DNS ให้ไปถึง resolver ทั่วโลก
- DNS resolver คือ เซิร์ฟเวอร์ที่ cache ข้อมูล DNS เพื่อตอบคำถามจากผู้ใช้
- Authoritative nameserver คือ เซิร์ฟเวอร์ที่เก็บข้อมูล DNS เป็นแหล่งจริง
TTL (Time To Live) และความสำคัญของมัน
TTL ย่อมาจาก Time To Live คือ ระยะเวลาที่ resolver สามารถ cache ข้อมูล DNS ได้ก่อนที่จะต้องขอข้อมูลใหม่จาก authoritative nameserver วัดเป็นวินาที ตัวอย่างเช่น หากคุณตั้ง TTL เป็น 3600 วินาที (1 ชั่วโมง) resolver จะเก็บข้อมูลไว้เป็นเวลา 1 ชั่วโมง ถ้ากำหนด TTL น้อย เปลี่ยนแปลงจะปรากฏเร็ว แต่ traffic DNS เพิ่มขึ้น ถ้ากำหนด TTL สูง เปลี่ยนแปลงจะช้าเพราะ resolver เก็บข้อมูลนาน แต่ประหยัด bandwidth
- TTL 300-900 วินาที: ใช้เมื่อต้องการเปลี่ยนแปลงบ่อยๆ (เช่น ก่อนย้ายโฮสต์)
- TTL 3600 วินาที: มาตรฐานสำหรับเว็บไซต์ทั่วไป
- TTL 86400+ วินาที: ใช้กับเรกคอร์ด stable (เช่น MX record) ที่ไม่เปลี่ยน
- TTL 0: ห้ามใช้ เพราะทำให้ traffic DNS สูงมาก
Resolver Caching และวิธีการทำงาน
DNS resolver คือเซิร์ฟเวอร์ที่ติดต่อกับ authoritative nameserver เพื่อดึงข้อมูล DNS แล้ว cache ไว้ในหน่วยความจำ เมื่อผู้ใช้ขอข้อมูล resolver จะส่งข้อมูลจาก cache ก่อน ถ้าข้อมูลหมดอายุ resolver จึงจะไปขอข้อมูลใหม่จาก nameserver ดังนั้น ถ้า TTL สูง resolver จะไม่ต้องขอข้อมูลบ่อยๆ ระบบก็เร็ว แต่ถ้า TTL หมดอายุก่อน เปลี่ยนแปลงจึงปรากฏช้า ISP resolver อาจมี cache ไม่เท่ากัน ทำให้ผู้ใช้คนละที่เห็นข้อมูลต่างกัน
- Recursive resolver: ทำการค้นหาข้อมูล ทั้งไปติดต่อ authoritative server และ cache ข้อมูลให้ผู้ใช้
- Authoritative nameserver: เซิร์ฟเวอร์ที่เป็นแหล่งข้อมูลจริง มี DNS record ต้นฉบับ
- Intermediate nameserver: nameserver ระดับกลาง (root nameserver, TLD server)
- Cache expiration: ข้อมูล cache จะหมดอายุตามค่า TTL ที่กำหนด
Authoritative Nameserver vs. Cached Nameserver
Authoritative nameserver คือแหล่งเก็บข้อมูล DNS ที่แท้จริง ซึ่งคุณควบคุมผ่าน DNS provider หรือ registrar เมื่อคุณเปลี่ยน DNS record ที่ authoritative nameserver จะเก็บข้อมูลใหม่นั้นไว้ทันที แต่ resolver อื่นๆ ทั่วโลกยังคง cache ข้อมูลเก่า ดังนั้น ผู้ใช้บางคนเห็นข้อมูลใหม่ บางคนเห็นข้อมูลเก่า นี่เป็นเหตุผลทำไม DNS propagation ต้องใช้เวลา ไม่ได้คืออะไรผิดพลาด แต่เป็นการออกแบบของระบบ DNS
- Authoritative nameserver: ที่เก็บข้อมูล DNS ต้นฉบับ เช่น ns1.example.com และ ns2.example.com
- Cached copy: สำเนาข้อมูล DNS ที่ resolver ทั่วโลกเก็บไว้ชั่วคราว
- TTL: ระยะเวลาที่ resolver อนุญาตให้เก็บสำเนา ก่อนต้องขอใหม่
- Update propagation: กระบวนการที่ข้อมูลใหม่แพร่ไปยัง resolver ต่างๆ ตามลำดับ
ระยะเวลาที่ใช้ในการแพร่กระจาย DNS
ตามหลักการ ความเปลี่ยนแปลง DNS ควรจะแพร่ไปทั่วโลกภายใน 15 นาที ถึง 48 ชั่วโมง โดยขึ้นอยู่กับค่า TTL ที่คุณตั้งไว้ก่อนการเปลี่ยน หากคุณตั้ง TTL เป็น 300 วินาทีก่อนการเปลี่ยน แล้วเปลี่ยนข้อมูลเร็วๆ นี้ ผู้ใช้ส่วนใหญ่จะเห็นข้อมูลใหม่ภายใน 30 นาที อย่างไรก็ตาม resolver บางตัวอาจ cache ข้อมูลเก่านาน ผู้ใช้บางคนอาจเห็นข้อมูลเก่าได้ถึง 24-48 ชั่วโมง หลังจากเปลี่ยน
- 15 นาที: ระยะเวลาเร็วที่สุด (หากทุกตัวแปรเอื้ออำนวย)
- 4 ชั่วโมง: ระยะเวลาปกติสำหรับการเปลี่ยนแปลง DNS ส่วนใหญ่
- 24 ชั่วโมง: ระยะเวลาสำหรับ resolver บางตัวที่มี TTL สูง
- 48 ชั่วโมง: กรณีส่วนน้อยที่มี resolver อ้างอิง cache นาน
วิธีตรวจสอบสถานะการแพร่กระจาย DNS
การตรวจสอบสถานะ DNS propagation ทำได้หลายวิธี ง่ายที่สุดคือใช้เครื่องมือ DNS checker ฟรีบนอินเทอร์เน็ต ซึ่งช่วยให้คุณตรวจสอบว่า DNS nameserver ใดบ้างในโลกได้อัปเดตข้อมูลของคุณแล้ว อีกวิธีหนึ่งคือใช้ command line tools เช่น `dig` หรือ `nslookup` เพื่อตรวจสอบจากเซิร์ฟเวอร์บางตัวโดยตรง นอกจากนี้ยังสามารถใช้ `whois` เพื่อตรวจสอบว่า registrar ของคุณอัปเดต nameserver ถูกต้องแล้วหรือไม่
สำหรับผู้ใช้ในไทย DNS Propagation Checker ของ dnsxray.com น่าสนใจตรงที่ query จาก resolver หลายค่ายพร้อมกัน รวมถึง 3BB ในประเทศไทย ทำให้เห็นว่าเน็ตบ้านฝั่งไทยเห็นค่าใหม่แล้วหรือยัง ไม่ใช่แค่มุมมองจาก resolver ต่างประเทศ
- DNS Checker Online: ใช้เว็บไซต์ฟรีในการตรวจสอบการแพร่กระจาย DNS จากหลากหลาย location
- Command-line: ใช้ `dig @8.8.8.8 example.com` เพื่อตรวจสอบข้อมูลจาก Google DNS โดยตรง
- WHOIS Lookup: ตรวจสอบว่า registrar ของคุณอัปเดต nameserver ถูกต้องหรือไม่
- Repeat checking: ตรวจสอบทุก 15-30 นาที เพื่อติดตามความคืบหน้า
เตรียมการก่อนการย้ายโฮสต์ (ลดค่า TTL)
ก่อนที่จะทำการย้ายโฮสต์หรือเปลี่ยน nameserver ขั้นตอนสำคัญคือลดค่า TTL ลงก่อน ควรทำสัปดาห์ที่แล้ว โดยเปลี่ยนค่า TTL จาก 86400 วินาที ลงเป็น 300-600 วินาที วิธีนี้ช่วยให้ resolver ทั่วโลก cache ข้อมูลแค่สักครู่ เมื่อคุณทำการเปลี่ยนในภายหลัง resolver ทั้งหลายจะตรวจสอบ authoritative nameserver บ่อยขึ้น จึงปรากฏข้อมูลใหม่ได้เร็ว นอกจากนี้ ให้เตรียมเซิร์ฟเวอร์ใหม่ให้พร้อมก่อน และติดตามสถานะ DNS อย่างต่อเนื่อง
- ลดค่า TTL ให้เป็น 300-600 วินาที สัปดาห์ก่อนการย้าย
- เตรียมและทดสอบเซิร์ฟเวอร์ใหม่ให้พร้อมก่อน
- ตรวจสอบว่า nameserver ใหม่มี DNS record ครบถ้วนก่อน cutover
- ทำการย้าย DNS ในช่วงเวลาที่มีผู้ใช้น้อย เพื่อลดผลกระทบ
ขั้นตอนการย้ายโฮสต์อย่างปลอดภัย
เมื่อถึงเวลาทำการเปลี่ยน nameserver ให้ยึดถือหลักการสำคัญ: อย่าปิดเซิร์ฟเวอร์เก่าทันที หากปิดทันที ผู้ใช้ที่ยังดึงข้อมูลจากเซิร์ฟเวอร์เก่าจะได้ error 404 แทนที่จะปิด ให้เก็บเซิร์ฟเวอร์เก่าไว้ 24-48 ชั่วโมง เพื่ออนุญาตให้ resolver ช้าๆ อัปเดตข้อมูล ในขณะเดียวกัน ให้ตรวจสอบว่าเซิร์ฟเวอร์ใหม่เสิร์ฟเนื้อหา และ email ที่ถูกต้อง ตรวจเช็ก DNS record ทั้งหมด (A, CNAME, MX, TXT) ให้ครบและถูกต้องก่อนการเปลี่ยน
- อย่าปิดเซิร์ฟเวอร์เก่าทันที ให้เก็บไว้ 24-48 ชั่วโมง
- ตรวจสอบว่า DNS record ใหม่ (A, CNAME, MX, TXT) ถูกต้อง
- ทดสอบเว็บไซต์และอีเมล จากเซิร์ฟเวอร์ใหม่ก่อน cutover
- ติดตามสถานะ DNS propagation ตลอด 24-48 ชั่วโมง ให้พร้อม handle issue
คำถามที่พบบ่อย (FAQ)
TTL มีอิทธิพลต่อ DNS propagation มากแค่ไหน?
TTL มีบทบาทสำคัญ หากคุณตั้ง TTL สูง ความเปลี่ยนแปลง DNS จะแพร่ช้า เพราะ resolver เก็บข้อมูลนานก่อนตรวจสอบใหม่ ถ้าตั้ง TTL ต่ำ ความเปลี่ยนแปลงจะปรากฏเร็ว เพราะ resolver ตรวจสอบข้อมูลบ่อยขึ้น
เกิด downtime ระหว่าง DNS migration ได้ไหม?
ถ้าวางแผนและเตรียมการให้ดี downtime ควรจะ minimal หรือ 0 วินาที ความสำคัญคือ: ลด TTL ก่อน เตรียมเซิร์ฟเวอร์ใหม่ให้พร้อม ตรวจสอบ DNS record ทั้งหมด อย่าปิดเซิร์ฟเวอร์เก่าทันที
ทำไมผู้ใช้บางคนเห็นข้อมูลเก่าในขณะที่คนอื่นเห็นข้อมูลใหม่?
เพราะ DNS resolver ต่างๆ ทั่วโลกมี cache ของตัวเอง และไม่ตรวจสอบความเปลี่ยนแปลงพร้อมกัน บางตัวอัปเดตเร็ว บางตัวช้า ปัจจัยเช่น ISP, ประเทศ, และค่า TTL เก่า ส่งผลต่อเวลาอัปเดต
ควรติดตามสถานะ DNS propagation บ่อยแค่ไหน?
ในช่วง 24 ชั่วโมงแรก ตรวจสอบทุก 15-30 นาที เพื่อติดตามความคืบหน้า หลังจาก 24 ชั่วโมง ตรวจสอบทุกหลายชั่วโมง โดยทั่วไป ผู้ใช้ส่วนใหญ่จะเห็นอัปเดตภายใน 4 ชั่วโมง