Chuyển đến nội dung chính
Quay lại danh sách bài viết

Cloudflare DNS API เพิ่ม cloudflare.advanced: ปรับ Enum และ PATCH ก่อนเลิกใช้ foundation_dns

ประกาศ 26 ตุลาคมทยอยเปลี่ยน Advanced Nameservers ภายใน 7 วัน ฟิลด์เดิมยังเป็น alias ชั่วคราว ไม่ต้องย้ายโซน แต่ client ต้องรองรับค่าชนิดใหม่

Cloudflare DNS API เพิ่ม cloudflare.advanced: ปรับ Enum และ PATCH ก่อนเลิกใช้ foundation_dns

Cloudflare ประกาศเมื่อ 26 ตุลาคม 2026 ว่า DNS settings API เริ่มทยอยแสดง Advanced Nameservers ผ่าน nameservers.type ที่มีค่า cloudflare.advanced แทนการอาศัย foundation_dns เพียงอย่างเดียว การ rollout คาดว่าจะใช้เวลาเจ็ดวัน ข่าวนี้สำคัญกับผู้เขียนสคริปต์จัดการ DNS และระบบ inventory ที่ตรวจรูปแบบ response แบบเข้มงวด เพราะค่าที่เคยยอมรับอาจไม่ครอบคลุมค่าชนิดใหม่

เป็นการเปลี่ยนรูปแบบ API ไม่ต้องย้าย Zone

ประกาศระบุว่าการเปลี่ยนครั้งนี้ไม่เปลี่ยน subscription ของ Foundation DNS ไม่เปลี่ยนสถานะการเปิด Advanced Nameservers ของโซน และไม่ต้องทำ zone migration ผู้ดูแลจึงควรแยกงานปรับ client ออกจากงานเปลี่ยนระบบ DNS จริง การเห็นค่าชนิดใหม่ใน response ไม่ใช่เหตุให้แก้ delegation ที่ registrar โดยอัตโนมัติ

ช่วง rollout บัญชีที่ยังไม่ได้รับการเปลี่ยนแปลงอาจยังเห็น cloudflare.standard แม้ใช้ Advanced Nameservers อยู่แล้ว ขณะเดียวกัน PATCH ยอมรับ cloudflare.advanced สำหรับบัญชีที่มีสิทธิ์ตลอดช่วงเปลี่ยนผ่าน ผลที่ต้องระวังคือผลอ่านจากสองบัญชีอาจต่างรูปแบบกันชั่วคราว แม้เป้าหมายการตั้งค่าทางธุรกิจคล้ายกัน

ตรวจ Enum และเงื่อนไขที่เขียนไว้ตายตัว

จุดแรกที่ควรค้นในโค้ดคือการประกาศ enum ของ nameservers.type รวมถึง switch หรือ if ที่ถือว่าค่าอื่นเป็น error อย่าแก้ด้วยการละทิ้ง validation ทั้งชุด ควรเพิ่มค่าที่รองรับอย่างเจาะจง และกำหนดพฤติกรรมเมื่อเจอค่าที่ไม่รู้จักให้เหมาะกับงาน เช่น แสดงคำเตือนพร้อมเก็บ response ที่ลบข้อมูลอ่อนไหวแล้ว แทนการสั่งเขียนค่าทับทันที

สำหรับระบบตรวจความสอดคล้องของ configuration ควรแยกความต่างของรูปแบบข้อมูลออกจากความต่างของการตั้งค่าจริง หากตัวเปรียบเทียบมองทุกค่าใหม่เป็น drift แล้วแก้อัตโนมัติ อาจเกิดการเขียนซ้ำโดยไม่จำเป็น การทดสอบควรครอบคลุม response ทั้งก่อนและหลัง rollout เพื่อยืนยันว่าระบบไม่ทำงานวนเพียงเพราะ representation เปลี่ยน

ฟิลด์เดิมยังใช้ได้ แต่ต้องไม่ส่งค่าขัดกัน

foundation_dns ยังอยู่ในฐานะ compatibility alias ที่ถูก deprecate ทั้งระดับ zone และค่าเริ่มต้น account ประกาศแนะนำให้การเขียนใหม่ใช้ nameservers.type หากส่งทั้งสองฟิลด์ใน PATCH ค่าต้องสอดคล้องกัน ไม่เช่นนั้น API จะปฏิเสธ การเปลี่ยนแปลงครอบคลุมทั้ง /zones/{zone_id}/dns_settings และ /accounts/{account_id}/dns_settings

แนวทางที่เหมาะคือให้ส่วนแปลง configuration มีแหล่งตัดสินใจหลักเพียงจุดเดียว อย่าให้หน้าจอตั้งค่า สคริปต์ migration และงาน scheduled sync ต่างคำนวณสองฟิลด์แยกกันโดยไม่ตรวจความสอดคล้อง หลังปรับ client แล้วควรอ่านค่ากลับและตรวจผลตามที่ตั้งใจ ไม่ควรสรุปจาก HTTP status อย่างเดียวเมื่อระบบยังมีงานอื่นเขียนค่าเดียวกันอยู่

ซ้อมกับข้อมูลจำลองก่อนใช้สิทธิ์เขียนจริง

เริ่มจากเก็บตัวอย่าง JSON ที่ไม่มี token หรือข้อมูลลูกค้า แล้วเพิ่มกรณีทดสอบสำหรับชนิดใหม่ ชนิดเดิม และคู่ค่าที่ขัดกัน ตรวจว่าตัวอ่านไม่ล้มเมื่อพบค่าที่รองรับ และตัวสร้าง PATCH ไม่ส่งคำขอที่ขัดกันเอง จากนั้นจึงทดลองกับบัญชีหรือโซนที่ได้รับอนุญาตตามกระบวนการของทีม

เมื่อเปิดใช้กับงานประจำ ให้ติดตามอัตราคำขอถูกปฏิเสธและข้อความจากตัวตรวจ schema แยกจากปัญหาการ resolve DNS เพราะความผิดพลาดที่ API client ไม่ได้หมายความว่า authoritative DNS หยุดทำงาน หากมี dashboard ควรแสดงสถานะการ sync configuration กับสถานะให้บริการชื่อโดเมนแยกกันเพื่อให้ผู้ดูแลเลือกแก้ปัญหาได้ตรงจุด

Cloudflare แจ้งว่าจะนำ foundation_dns ออกจาก endpoint ในการเปลี่ยน API ภายหลัง แต่ประกาศนี้ไม่ได้ระบุวันถอดฟิลด์ ทีมควรบันทึกงานเลิกใช้ alias ไว้และติดตามประกาศต่อไป โดยไม่สร้างเส้นตายขึ้นเอง การเตรียม client ให้รองรับช่วงเปลี่ยนผ่านตอนนี้ช่วยลดภาระเมื่อถึงเวลาถอดฟิลด์เดิมจริง

แหล่งต้นทาง: Advanced Nameservers use a nameserver type ประกาศวันที่ 26 ตุลาคม 2026

Chia sẻ bài viết:
Xem thêm bài viết