ตั้งค่า DNS และโดเมนบน DigitalOcean ทีละขั้น (A, CNAME, MX, TXT) ใช้ฟรี
วิธีย้าย nameserver ไปใช้ DNS ของ DigitalOcean และตั้งค่า A, AAAA, CNAME, MX, TXT, CAA เพื่อชี้โดเมนไปยัง Droplet อีเมล และบริการอื่น พร้อมอธิบาย TTL, propagation และข้อผิดพลาดที่พบบ่อย
DNS ของ DigitalOcean คืออะไร
DigitalOcean ให้บริการ DNS Hosting สำหรับโดเมนของคุณโดยไม่คิดค่าใช้จ่ายเพิ่ม (ตามที่ระบุในเอกสาร ณ เวลาที่เขียน) คุณซื้อโดเมนจากที่ไหนก็ได้ เช่น ผู้ให้บริการจดโดเมนในไทยหรือต่างประเทศ แล้วชี้ nameserver มาที่ DigitalOcean เพื่อจัดการเรคคอร์ดทั้งหมดในหน้าเดียวกับ Droplet
ข้อดีของการใช้ DNS ของ DigitalOcean
- เลือกชื่อ Droplet/Load Balancer จากรายการเมื่อสร้าง A record ได้เลย ไม่ต้องคัดลอก IP
- มี API และ Terraform provider สำหรับจัดการเรคคอร์ดด้วยโค้ด
- จัดการหลายโดเมนจากบัญชีเดียวกับเซิร์ฟเวอร์
- ไม่มีค่าใช้จ่ายเรื่องจำนวนเรคคอร์ดตามเอกสารปัจจุบัน
ขั้นที่ 1: เพิ่มโดเมนใน DigitalOcean
- เข้า Control Panel → Networking → Domains
- พิมพ์ชื่อโดเมนของคุณ เช่น
example.comแล้วกด Add Domain - ระบบจะสร้างรายการเริ่มต้น และแสดง nameserver ที่ต้องใช้
nameserver ของ DigitalOcean คือ
ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com
ขั้นที่ 2: สร้างเรคคอร์ดก่อนย้าย nameserver
ทำขั้นนี้ก่อนเปลี่ยน nameserver เพื่อไม่ให้เว็บหรืออีเมลหยุดทำงานระหว่างย้าย ให้คัดลอกเรคคอร์ดเดิมทั้งหมด (โดยเฉพาะ MX และ TXT) จากผู้ให้บริการ DNS เดิมมาสร้างให้ครบ
ชนิดเรคคอร์ดที่ใช้บ่อย
| ชนิด | ใช้ทำอะไร | ตัวอย่างค่า |
|---|---|---|
| A | ชี้ชื่อไปที่ IPv4 | @ → 203.0.113.10 |
| AAAA | ชี้ชื่อไปที่ IPv6 | @ → 2001:db8::10 |
| CNAME | ชื่อแทน (alias) ไปอีกชื่อ | www → example.com. |
| MX | เซิร์ฟเวอร์รับอีเมล | priority 10 → mail.example.com. |
| TXT | ข้อความ เช่น SPF, DKIM, DMARC, ยืนยันความเป็นเจ้าของ | v=spf1 include:... ~all |
| CAA | ระบุว่า CA ใดออกใบรับรองให้โดเมนได้ | 0 issue "letsencrypt.org" |
| NS | ชี้ subdomain ไปให้ nameserver อื่นดูแล | sub → ns1.other.com. |
| SRV | ระบุบริการ+พอร์ต | ใช้กับเกม/VoIP บางตัว |
หมายเหตุ: สัญลักษณ์ @ หมายถึงโดเมนหลักเอง (apex) และ CNAME ใช้กับ apex ไม่ได้ ตามมาตรฐาน DNS ให้ใช้ A/AAAA แทน
ตัวอย่างชุดเรคคอร์ดสำหรับเว็บบน Droplet
| Type | Hostname | Value | TTL |
|---|---|---|---|
| A | @ | IP ของ Droplet | 3600 |
| A | www | IP ของ Droplet | 3600 |
| MX | @ | เซิร์ฟเวอร์อีเมลของผู้ให้บริการ | 3600 |
| TXT | @ | ข้อความ SPF ของผู้ให้บริการอีเมล | 3600 |
ขั้นที่ 3: เปลี่ยน nameserver ที่ผู้ให้บริการจดโดเมน
เข้าหน้าจัดการโดเมนที่ผู้ให้บริการจดโดเมน หาเมนู Nameservers/DNS แล้วเปลี่ยนเป็น ns1/ns2/ns3.digitalocean.com ลบ nameserver เก่าออกให้หมด การเปลี่ยนแปลงอาจใช้เวลาตั้งแต่ไม่กี่นาทีถึงหลายชั่วโมง (บางกรณีถึง 24–48 ชั่วโมง) ขึ้นกับ TTL และแคชของผู้ให้บริการอินเทอร์เน็ตแต่ละราย
ตรวจสอบว่าเปลี่ยนสำเร็จ
dig NS example.com +short
dig A example.com +short
dig MX example.com +short
บน Windows ใช้ nslookup -type=NS example.com แทน หรือใช้เครื่องมือตรวจ DNS ออนไลน์ เช่น dnsxray.com
TTL คืออะไร ควรตั้งเท่าไหร่
TTL (Time To Live) คือเวลาเป็นวินาทีที่ resolver จดจำคำตอบไว้ ก่อนถามใหม่
- TTL สูง (3600–86400): ลดโหลดและเร็วเมื่อใช้งานปกติ แต่แก้ไขแล้วมีผลช้า
- TTL ต่ำ (60–300): เหมาะช่วงเตรียมย้ายเซิร์ฟเวอร์หรือแก้ IP ให้เปลี่ยนเร็ว
เคล็ดลับ: ก่อนย้ายเว็บ 1–2 วันให้ลด TTL ลงเหลือ 300 พอย้ายเสร็จและนิ่งแล้วค่อยปรับกลับ
ตั้งค่าอีเมลให้ผ่านการตรวจสอบ
ถ้าส่งอีเมลจากโดเมนตัวเอง ต้องมีเรคคอร์ดเหล่านี้เพื่อลดโอกาสตกสแปม
- SPF (TXT) ระบุเซิร์ฟเวอร์ที่ส่งแทนโดเมนได้
- DKIM (TXT) ลายเซ็นดิจิทัล ค่าที่ได้จากผู้ให้บริการอีเมล
- DMARC (TXT ที่
_dmarc) นโยบายเมื่อ SPF/DKIM ไม่ผ่าน เริ่มที่v=DMARC1; p=none; rua=mailto:[email protected]แล้วค่อยเข้มขึ้น
ผูก DNS กับ Load Balancer, Reserved IP
- ชี้ A record ไปที่ Load Balancer เมื่อต้องการกระจายโหลด ดู คู่มือ Load Balancer
- ใช้ Reserved IP เมื่ออยากเก็บ IP คงที่ไว้ย้ายระหว่าง Droplet ได้ ช่วยให้ DNS ไม่ต้องแก้เวลาเปลี่ยนเครื่อง
- ข้อมูลบริการและราคาเครือข่ายอื่นๆ ดู ราคา DigitalOcean ทุกบริการ
ปัญหาที่พบบ่อย
| อาการ | สาเหตุ | วิธีแก้ |
|---|---|---|
| เปิดเว็บไม่ได้หลังเปลี่ยน NS | ยังไม่ propagate หรือไม่ได้สร้าง A record | รอ และตรวจด้วย dig |
| อีเมลหาย | ลืมสร้าง MX เดิมก่อนย้าย | สร้าง MX ให้ครบทันที |
| www ไม่ทำงาน | ไม่มีเรคคอร์ด www | เพิ่ม A หรือ CNAME |
| ตั้ง CNAME ที่ @ ไม่ได้ | ข้อจำกัดของมาตรฐาน DNS | ใช้ A/AAAA |
| SSL ขอไม่ผ่าน | DNS ยังชี้ผิด | แก้เรคคอร์ด แล้วลองใหม่ ดู Deploy Node.js บน Droplet |
| Subdomain ชี้ไปผิดที่ | มี wildcard * ที่ครอบอยู่ | ตรวจเรคคอร์ด * |
คำถามที่พบบ่อย
ต้องซื้อโดเมนกับ DigitalOcean ไหม
ไม่ได้ ไม่มีบริการขายโดเมน ซื้อที่อื่นแล้วชี้ nameserver มา
ใช้ DNS ของ DigitalOcean กับโดเมน .th ได้ไหม
ได้ในเชิงเทคนิคตราบที่ผู้ให้บริการจดโดเมนอนุญาตให้ตั้ง nameserver เอง ตรวจเงื่อนไขของนายทะเบียนและสิทธิ์ของโดเมนนั้นก่อน
ย้ายแล้วเว็บล่มไหม
ถ้าสร้างเรคคอร์ดครบก่อนเปลี่ยน nameserver จะไม่ล่มหรือล่มน้อยมาก เพราะ resolver ที่ยังจำค่าเก่าจะได้คำตอบที่เหมือนกัน
ต้องมี Droplet ก่อนไหมถึงใช้ DNS ได้
ไม่ต้อง เพิ่มโดเมนและตั้งเรคคอร์ดชี้ไปที่ใดก็ได้ แต่ต้องมีบัญชี DigitalOcean ที่ใช้งานได้ ดูวิธีเริ่มและรับเครดิต $200 ที่ วิธีรับเครดิตฟรี $200 DigitalOcean