ในบทความที่แล้วเราได้รู้จัก Cloudflare กันแล้วว่ามีประโยชน์ขนาดไหน Cloudflare จริง ๆ ทำอะไรได้หลาย แต่ที่ใช้กันเป็นพื้นฐาน คือบริการ DNS + CDN ครับ
บริการ DNS
Cloudflare ให้บริการ DNS Server สมบูรณ์แบบ เราสามารถกำหนด DNS Records ให้กับโดเมนที่เราต้องการได้ครบทุกชนิด แถมยังไม่มีค่าใช้จ่ายใด ๆ อีกด้วย การจะใช้งาน Cloudflare ได้ เราจำเป็นจะต้องมีสิทธิ์ในการจัดการโดเมนในระดับที่สามารถแก้ค่า NS ของโดเมนได้ด้วย ไม่อย่างนั้นเราก็จะไม่สามารถใช้งาน Cloudflare ได้ครับ
การเชื่อมโดเมนเราเข้ากับ Cloudflare
- ย้าย NS ของโดเมนเราให้มาผูกกับ Cloudflare แทนผู้ให้บริการ DNS เดิม
- จัดการ Config บริการต่าง ๆ ของโดเมนเราผ่านเว็บของ Cloudflare
หลักการทำงานของ DNS บน Cloudflare
-1. แบบติดต่อไปยัง Server ของเราตรงๆ ทำงานเหมือนเดิมทุกประการ พอ Resolve IP ของโดเมนจาก DNS Server ของ Cloudflare เสร็จแล้วก็จะติดต่อไปที่ Server ปลายทางเป็นอันจบ
-2. แบบไม่ติดต่อไปยัง Server ของเราตรงๆ Cloudflare จะทำหน้าที่เป็น Reverse Proxy ในโหมดนี้ครับ และเจ้าโหมดที่ Cloudflare คั่นกลางการติดต่อนี้เองที่จะช่วยเพิ่มความสามารถต่างๆให้กับการเชื่อมต่อผ่านโดเมนของเราได้ ซึ่งมีขั้นตอนดังนี้
- Client ส่งคำสั่ง Resolve IP ไปที่ DNS Server ของ Cloudflare
- ได้รับ IP ของ Cloudflare กลับมา
- ส่ง HTTP Request ไปที่ IP ของ Cloudflare ที่ได้รับกลับมา
- Cloudflare ส่ง HTTP Request ต่อไปที่ IP จริงของ Server ของเรา
- ได้ผลลัพธ์กลับมาที่ Cloudflare
- Cloudflare ส่งผลลัพธ์ต่อกลับมาที่ Client
บริการ CDN
Server ของ Cloudflare ที่ทำหน้าที่เป็น Reverse Proxy คั่นกลางนี้ตั้งกระจายอยู่ทั่วโลกครับ ถ้า Server ไหนอยู่ใกล้กับคนเปิดที่สุด มันก็จะเลือกใช้ Server นั้น ดังนั้นเมื่อเราเลือกที่จะใช้ Cloudflare เป็น Reverse Proxy มันจะกลายเป็น CDN ภายในตัวเแบบไม่มีค่าใช้จ่ายใด ๆ
และเจ้า CDN นี้ก็ไม่ได้เป็นแค่ทางผ่าน แต่มันยังทำหน้าที่ Cache พวก Request/Response ที่มี Cache-Control เป็น public และ max-age มากกว่า 0 ไว้ให้ด้วย (ซึ่งส่วนใหญ่จะเป็น Static Files เช่น ไฟล์รูป ไฟล์ js ไฟล์ css เป็นต้น) และหาก Edge Server ที่เราติดต่อผ่านนั้นเคยมีไฟล์นั้น ๆ แคชไว้อยู่แล้วและยังไม่หมดอายุ มันก็จะไม่ติดต่อไปที่ Server เราให้เสียเวลา แต่จะส่งสิ่งที่แคชไว้กลับไปยังผู้เรียกทันที
ประโยชน์ที่ได้จาก Cloudflare CDN
- เข้าถึงเว็บจากทั่วโลกเร็วขึ้นเพราะว่าไฟล์จาก Server เราจะถูกกระจายไปยัง Server ทั่วโลก
- ลดการทำงานของ Server ทั้ง Request และ Bandwidth จะต่ำลงมากๆ