Cloud
น้องๆ เคยเจอปัญหาเว็บช้า โดน DDOS ไหม? สมัยผมทำร้านเน็ต SiamCafe เนี่ย เจอบ่อยมาก! Cloudflare ก็เหมือนบอดี้การ์ดให้เว็บเรานั่นแหละ คอยกันพวกแฮกเกอร์ ช่วยให้เว็บโหลดเร็วขึ้น แถมยังฟรีอีกด้วย (แต่ถ้าอยากได้อะไรพิเศษๆ ก็มีแบบเสียเงินนะ)
คิดง่ายๆ เว็บเราเหมือนร้านค้า Cloudflare ก็เหมือนห้างสรรพสินค้าขนาดใหญ่ ที่ลูกค้า (คนเข้าเว็บ) จะเข้ามาผ่านห้างก่อน แล้วค่อยเดินเข้าร้านเรา ทำให้ร้านเราไม่ต้องรับภาระลูกค้าเยอะเกินไป แถมห้างยังมีระบบรักษาความปลอดภัย ช่วยกันขโมย (แฮกเกอร์) อีกด้วย
DNS Records ก็เหมือนสมุดโทรศัพท์ของอินเทอร์เน็ตแหละ น้องๆ เวลาจะโทรหาเพื่อน ก็ต้องเปิดสมุดโทรศัพท์หารายชื่อก่อนใช่มะ? เว็บไซต์ก็เหมือนกัน เวลาคนพิมพ์ชื่อเว็บ (เช่น siamcafe.net) คอมพิวเตอร์ก็จะไปถาม DNS Server ก่อนว่า siamcafe.net เนี่ย อยู่ที่ IP Address อะไร แล้วค่อยไปเปิดเว็บนั้น
Cloudflare เข้ามาช่วยจัดการ DNS Records ให้เราง่ายขึ้น แถมยังช่วยป้องกันการโจมตีได้อีกด้วยนะ สมัยก่อนตอนยังไม่มี Cloudflare นี่ปวดหัวมาก ต้อง config DNS Server เอง แถมโดน Hack ง่ายสุดๆ
CDN ย่อมาจาก Content Delivery Network คิดง่ายๆ เหมือนมีร้านสาขาหลายๆ ที่ กระจายอยู่ทั่วโลก เวลาคนเข้าเว็บเราจากอเมริกา ก็จะโหลดข้อมูลจากเซิร์ฟเวอร์ที่อเมริกา ไม่ต้องวิ่งมาโหลดจากเซิร์ฟเวอร์เราที่ไทย ทำให้เว็บโหลดเร็วกว่าเดิมเยอะเลย
Cloudflare มี CDN ทั่วโลก ทำให้เว็บเราโหลดเร็วไม่ว่าคนจะเข้าจากที่ไหน สมัยก่อนถ้าเว็บใครโหลดช้า คนก็หนีไปเว็บอื่นหมดแล้ว
การใช้งาน Cloudflare ไม่ยากอย่างที่คิดนะน้องๆ แค่มี Domain Name (ชื่อเว็บ) กับ Hosting (ที่เก็บไฟล์เว็บ) ก็เริ่มได้แล้ว
อันดับแรกก็ไปที่ Cloudflare แล้วก็สมัคร Account ฟรีเลย กรอก Email กับ Password ให้เรียบร้อย
หลังจากสมัครเสร็จ ก็ Add Website ของเราเข้าไป Cloudflare จะให้เราใส่ Domain Name แล้วก็เลือก Plan (เลือก Free ไปก่อนก็ได้)
Cloudflare จะ Scan DNS Records ของเรามาให้ เราก็แค่เช็คว่าถูกต้องไหม ถ้าไม่ถูกก็แก้ให้เรียบร้อย สำคัญมากนะตรงนี้ ถ้า DNS ผิด เว็บเราจะเข้าไม่ได้
สมัยก่อนตอน set DNS เองนี่ ผิดบ่อยมาก! Cloudflare ช่วยให้ชีวิตง่ายขึ้นเยอะ
; Zone file for siamcafe.net
$TTL 3600
@ IN SOA ns1.siamcafe.net. admin.siamcafe.net. (
2024012601 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
3600 ) ; Minimum TTL
@ IN NS ns1.siamcafe.net.
@ IN NS ns2.siamcafe.net.
@ IN A 192.0.2.1 ; Main IP Address
www IN A 192.0.2.1
mail IN A 192.0.2.2 ; Mail Server
ขั้นตอนสุดท้าย Cloudflare จะให้ Nameservers มา 2 ตัว เราก็เอา Nameservers พวกนี้ไปใส่ใน Domain Registrar ของเรา (เช่น Godaddy, Namecheap) รอสักพัก (อาจจะ 24-48 ชั่วโมง) DNS ก็จะ Update แล้วเว็บเราก็จะผ่าน Cloudflare
ตรงนี้แหละที่หลายคนพลาด คือลืมเปลี่ยน Nameservers พอเว็บไม่ขึ้น ก็งงว่าทำไม! ใจเย็นๆ รอก่อนนะน้องๆ
ดูวิดีโอเพิ่มเติมเกี่ยวกับCloudflare Setup Guide:
Cloudflare ไม่ใช่ตัวเลือกเดียวในการทำ CDN และ Security นะน้องๆ ยังมีตัวเลือกอื่นๆ อีก แต่ละตัวก็มีข้อดีข้อเสียต่างกัน
| Provider | ข้อดี | ข้อเสีย | ราคา |
|---|---|---|---|
| Cloudflare | ฟรี, ใช้งานง่าย, CDN ทั่วโลก | อาจจะซับซ้อนสำหรับมือใหม่, Feature บางอย่างต้องเสียเงิน | ฟรี (มีแบบเสียเงิน) |
| Akamai | CDN ระดับ Enterprise, Security ขั้นสูง | ราคาสูง, Config ยาก | แพง |
| AWS CloudFront | Integration กับ AWS ecosystem, Scalable | ต้องมีความรู้ AWS, ราคาขึ้นอยู่กับการใช้งาน | Pay-as-you-go |
สมัยก่อนผมเคยใช้ Akamai นะ Security ดีจริง แต่ราคาโหดมาก! Cloudflare นี่แหละคุ้มค่าที่สุดแล้วสำหรับเว็บขนาดเล็กถึงกลาง
ลองเข้าไปอ่านบทความอื่นๆ ใน SiamCafe Blog ดูนะ มีเรื่อง IT อีกเยอะแยะที่น่าสนใจ
ถ้ามีคำถามอะไร ถามมาได้เลยนะน้องๆ ผมยินดีให้คำแนะนำเสมอ หรือเข้าไปคุยกันได้ที่ SiamCafe Blog นะครับ
เอาล่ะน้องๆ มาถึงส่วนที่พี่จะแชร์เคล็ดลับจากประสบการณ์จริงที่คลุกคลีกับ Cloudflare มานาน สมัยก่อนตอนทำร้านเน็ตนี่แหละ ตัวช่วยชั้นดีเลย ช่วยลดภาระเซิร์ฟเวอร์ไปเยอะ แถมยังช่วยให้เว็บโหลดเร็วขึ้นด้วย
จำไว้นะว่า Cloudflare ไม่ใช่ยาวิเศษที่แก้ได้ทุกปัญหา แต่ถ้าตั้งค่าให้ดี จะช่วยให้ชีวิตง่ายขึ้นเยอะมากๆ
Page Rules นี่แหละของดี ที่หลายคนมองข้าม สมัยก่อนพี่ใช้ Page Rules ช่วย cache พวกไฟล์รูปภาพ, CSS, Javascript ที่มีการเปลี่ยนแปลงไม่บ่อยนัก ทำให้เซิร์ฟเวอร์ไม่ต้องทำงานหนัก
# ตัวอย่าง Page Rule สำหรับ cache ไฟล์รูปภาพ
*.jpg* Cache Level: Cache Everything, Edge Cache TTL: a day
ลองคิดดูสิ ถ้ารูปภาพในเว็บเรามีการเปลี่ยนแปลงแค่เดือนละครั้ง ทำไมต้องให้เซิร์ฟเวอร์ส่งรูปภาพเดิมๆ ทุกครั้งที่คนเข้าชม? Page Rules ช่วยประหยัด bandwidth ได้เยอะเลย
เรื่องความปลอดภัยก็สำคัญ Cloudflare ช่วยป้องกันการโจมตีเบื้องต้นได้ดีเลย Security Level พี่แนะนำให้ตั้งเป็น "Medium" ไว้ก่อน ถ้าเจอ attack ค่อยปรับขึ้นไปอีก
Web Application Firewall (WAF) ก็เป็นอีกฟีเจอร์ที่น่าสนใจ ลองเข้าไปดู rules ที่ Cloudflare มีให้ แล้วเปิดใช้งานตัวที่เหมาะสมกับเว็บเรา
สองตัวนี้เป็นฟีเจอร์ optimize รูปภาพของ Cloudflare พี่ลองใช้แล้วรู้สึกว่าช่วยให้เว็บโหลดเร็วขึ้นจริง แต่ก็ต้องระวังเรื่องคุณภาพของรูปภาพด้วยนะ ลองทดสอบดูก่อนว่าคุณภาพรูปภาพที่ได้ยังโอเคไหม ก่อนที่จะเปิดใช้งานจริง
อันนี้เป็นดาบสองคมเลย Cache Everything คือการบอกให้ Cloudflare cache ทุกอย่าง แม้กระทั่ง HTML ซึ่งจะช่วยให้เว็บโหลดเร็วมากๆ แต่ก็ต้องระวังเรื่อง dynamic content ที่มีการเปลี่ยนแปลงบ่อยๆ
ถ้าเว็บเรามีการเปลี่ยนแปลง content บ่อยๆ พี่ไม่แนะนำให้ใช้ Cache Everything นะ แต่ถ้าเป็นเว็บ static หรือเว็บ blog ที่นานๆ อัพเดทที ก็ลองดูได้ SiamCafe Blog พี่ก็ใช้เทคนิคนี้แหละ
อันนี้เป็นเรื่องปกติ Cloudflare ทำหน้าที่เป็น proxy ทำให้ IP Address ที่เว็บเราเห็นเป็นของ Cloudflare แทน แก้ได้โดยการติดตั้ง Cloudflare module ใน web server (Apache/Nginx) หรือใช้ HTTP header ที่ Cloudflare ส่งมาให้ เช่น CF-Connecting-IP
Cloudflare ฟรีก็ใช้งานได้ดีในระดับนึง แต่ถ้าต้องการฟีเจอร์ขั้นสูง เช่น WAF ที่ละเอียดกว่า, Image Optimization ขั้นสูง, หรือ support ที่เร็วกว่า ก็ต้องจ่ายเงินเพิ่ม iCafeForex ก็ใช้ Cloudflare แบบเสียเงินอยู่ เพราะต้องการความเสถียรและความปลอดภัยที่สูงกว่า
Cloudflare ช่วยป้องกัน DDoS ได้จริง แต่ก็ขึ้นอยู่กับขนาดของการโจมตีด้วย ถ้าเป็นการโจมตีขนาดเล็กถึงกลาง Cloudflare สามารถจัดการได้ แต่ถ้าเป็นการโจมตีขนาดใหญ่มากๆ อาจจะต้องใช้บริการ Cloudflare Enterprise ที่มี infrastructure ที่แข็งแกร่งกว่า
ลองตรวจสอบดูว่า origin server ของเรายังทำงานได้ดีอยู่ไหม, เปิดใช้งาน cache ของ Cloudflare อย่างถูกต้อง, และ optimize รูปภาพให้มีขนาดเล็กลง นอกจากนี้ลองใช้ PageSpeed Insights ของ Google เพื่อวิเคราะห์ performance ของเว็บเราดู
Cloudflare เป็นเครื่องมือที่มีประโยชน์มากๆ สำหรับการเพิ่มความเร็วและความปลอดภัยให้กับเว็บไซต์ แต่ก็ต้องเรียนรู้และทำความเข้าใจการทำงานของมันก่อน ถึงจะใช้งานได้อย่างมีประสิทธิภาพ หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะครับ