CDIC 2023

ครบเครื่องเรื่อง Load Balance รู้จักกับ KEMP Load balancer จาก Pacific Tech

Load Balancer เป็นเทคโนโลยีที่องค์กรใช้กันมานานแล้วซึ่งอาจพบได้ในส่วนงานขององค์กร โดยช่วยให้แอปพลิเคชันมีความยืดหยุ่นมากยิ่งขึ้น อย่างไรก็ดีในปัจจุบันเทคโนโลยีด้านนี้จากค่ายต่างๆ กล่าวได้ว่ามีความสามารถหลักใกล้เคียงกัน ในหลายกรณีการใช้งานท่านอาจเลือกใช้ Load Balancer ที่ราคาย่อมเยาว์กว่าแต่ให้ผลไม่ต่างกัน ซึ่งทางเลือกของวันนี้ที่เราจะพามาแนะนำให้ทุกท่านรู้จักกับ LoadBalancer จากค่าย Kemp ซึ่งให้บริการโดยผู้เชี่ยวชาญจาก Pacific Tech

Load Balancer 101

อันที่จริงแล้วหลายท่านคงรู้จักกับหน้าที่ของ Load Balancer เป็นอย่างดี อย่างไรก็ดีเราขอเท้าความกันสักเล็กน้อยถึงเรื่องพื้นฐาน โดยใจความสำคัญก็คือ Load Balancer เป็นโซลูชันตัวหนึ่งซึ่งมีความสามารถในการกระจายทราฟฟิคไปยังกลุ่มของเซิร์ฟเวอร์ปลายทาง โดยอาศัยอัลกอริทึมช่วยในการตัดสินใจหลายรูปแบบ ทั้งนี้ Load Balancer ได้ช่วยแก้ปัญหาหลักใน 4 เรื่องคือ

1.) Performance – คอมพิวเตอร์ทุกเครื่องมีทรัพยากรในการประมวลผลจำกัด หากมีงานเกิดขึ้นมากผู้ใช้งานก็ต้องรอคิวนานหรือถูกปฏิเสธงาน หรือแม้กระทั่งทำให้เครื่องเกิดหยุดชะงักหรืออื่นๆ ดังนั้นการมีกลุ่มของเครื่องประมวลผลช่วยกันทำงานย่อมทำงานได้มากกว่า

2.) Availability – หนึ่งในแกนสำคัญของความมั่นคงปลอดภัยก็คือความสามารถให้บริการ ซึ่งการมีกลุ่มของเซิร์ฟเวอร์จะช่วยป้องกัน Single Point of Failure ทำงานสำรองกันและกันได้ ในทางธุรกิจหากแอปให้บริการไม่ได้ยังสร้างผลกระทบต่อภาพลักษณ์ของแบรนด์ด้วย

3.) Economy – ในมุมของการขยายขีดความสามารถของการประมวลผลใดๆ ทำได้เพียง 2 รูปแบบคือ การเติมทรัพยากรหรืออัปเกรตเครื่องเดิม(Scale-up) และการเพิ่มจำนวนเครื่องเพื่อช่วยกันทำงาน (Scale-out) ทั้งนี้วิธีการเติมทรัพยากรยังมีขีดจำกัด ทำได้ยุ่งยาก และอาจกระทบต่อการให้บริการ (ลองนึกถึงการอัปเกรตเซิร์ฟเวอร์ใส่การ์ดหน่วยความจำหรือเพิ่มฮาร์ดดิสก์ใหม่) ด้วยเหตุนี้การ Scale-out จึงมีต้นทุนถูกกว่าทั้งในเรื่องขั้นตอนและราคาของกลุ่มเครื่องประมวลผล

4.) Security – Load Balancer มีการทำงานในลักษณะของ Reverse Proxy นั่นหมายความว่าทำงานเป็นหน้าด่านปะทะกับผู้ใช้ผ่าน Virtual IP ซึ่งนอกจากเรียกได้ว่าเป็นการรับหน้าแทนแล้วยังเป็นตำแหน่งที่เหมาะสมสำหรับเพิ่มกลไกด้าน Security เข้ามาด้วย โดยที่นิยมกันมากบน Load Balancer ก็คือ Web Application Firewall (WAF), IDS/IPS และอื่นๆ

Load Balancer อาจถูกแบ่งออกเป็นหลายชนิดดังนี้

  • Network Load Balancer (L4) – เป็นต้นกำเนิดแรกตั้งแต่กลางยุค 1990 ซึ่งพิจารณาทราฟฟิคจากแพ็กเกจระดับเครือข่ายด้วย ไอพี พอร์ต ของต้นทางและปลายทาง ประกอบกับโปรโตคอลระดับไอพี เพื่อกระจายทราฟฟิคไปยังเซิร์ฟเวอร์
  • Application Load Balancer (L7) – เป็นการเจาะลึกลงไปมากกว่าแค่ระดับเครือข่าย แต่ดูปัจจัยที่บ่งบอกถึงแอปพลิเคชันเช่น HTTP Header, URL และอื่นๆ เพื่อประกอบการตัดสินใจ กล่าวคือรู้จักกับประเภทของแอปมากขึ้น
  • DNS Load Balancer – เป็นการพิจารณาฝั่งไคลเอ้นต์ ซึ่งแตกต่างกับ 2 ประเภทข้างต้นที่มองเรื่องของเซิร์ฟเวอร์ โดยกลไก DNS นี้จะอยู่ในโซลูชันที่เรียกว่า Global Load Balancer ที่จะกล่าวถึงในส่วนถัด

หลักการของ Load Balancer ไม่ได้มีอะไรมากไปกว่าการรับรู้ถึงกลุ่มเซิร์ฟเวอร์ว่าพร้อมทำงานหรือไม่ผ่านกลไกที่เรียกว่า Health Check และหากพร้อมทำงานก็จะอาศัยการแจกแจงทราฟฟิคผ่านอัลกอริทึมที่กำหนดเช่น แจกรอบวงเท่ากัน (Round Robin), แจกเครื่องที่มีการเชื่อมต่อน้อยก่อน (Least Connection), แจกแบบมีอัตราส่วน (Weight RR / Least Connection) นอกจากนี้ยังมีวิธีการอื่นๆเช่น Source IP Hash, Chained Failover และอื่นๆ ซึ่งก็แล้วแต่ความเหมาะสมของแอปพลิเคชันหรือความสามารถของเซิร์ฟเวอร์เองด้วย เพราะความเก่าใหม่ทำให้มีสเป็คไม่เท่ากัน ทั้งนี้หากพบว่าเครื่องเซิร์ฟเวอร์ใดไม่พร้อมทำงานก็จะตัดออกจากกลุ่มไปก่อนและเพิ่มเข้ามาเมื่อมีการตอบสนอง อย่างไรก็ดี Load Balancer ยังอาจกลายเป็น Single Point of Failure เองเช่นกัน ดังนั้นในทางปฏิบัติองค์กรก็ต้องออกแบบเรื่องของ HA เข้ามาด้วย

ประโยชน์ของ Load Balancer  มีมากมายหลายรูปแบบ เช่น ช่วยระบบของการทำ DR ด้วย Global Load Balancer หรือง่ายที่สุด Load Balancer ยังช่วยให้ท่านบริการจัดการการซ่อมบำรุงเซิร์ฟเวอร์ได้โดยไม่กระทบกับแอปพลิเคชัน อีกทั้งยิ่งการมีฟังก์ชันด้าน Security ใน Load Balancer  ก็ยิ่งช่วยสร้างเลเยอร์การป้องกันเข้ามาอีกชั้นหนึ่ง แต่หากถามถึงความจำเป็นของการมี Load Balancer ที่ถูกออกแบบมาเพื่องานนี้โดยเฉพาะ คำตอบคือ Load Balancer ไม่ได้จำกัดเรื่องของประเภทแอปพลิเคชัน ซึ่งในโซลูชันเดียวท่านอาจสร้าง instance ขึ้นมาใช้กับแอปพลิเคชันต่างๆร่วมกันได้ ทั้งนี้ Kemp Load Balancer คือหนึ่งในโซลูชันที่ออกแบบมาเพื่องานนี้โดยเฉพาะ

เติมเต็มทุกโจทย์การใช้งานขององค์กรด้วย Kemp Load Balancer

Kemp Load Balancer มีความสามารถในการให้บริการ Load Balancer มาตรฐานตามที่กล่าวมาข้างต้น ภายใต้ชื่อทางการค้าที่เรียกว่า Kemp LoadMaster โดยให้บริการได้ในทุกรูปแบบทั้ง Hardware Appliance, Virtual และบริการคลาวด์ รองรับการติดตั้งได้บน Hypervisor ยอดนิยมอย่าง VMware, Hyper-V, XEN และ KVM รวมถึง Certified กับพันธมิตรสำคัญอย่าง Microsoft, Cisco,Dell, VMware, SAP และ Citrix ทั้งนี้ตัว LoadMaster เองยังมาพร้อมกับความสามารถที่ตอบโจทย์กรณีการใช้งานต่างๆเช่น

1.) Web Application Firewall (WAF)

credit : Kemp

Firewall ทั่วไปไม่ได้ถูกออกแบบมาให้เข้าใจระดับแอปพลิเคชัน หน้าที่ของมันก็คือการปิดกั้นทราฟฟิคให้เข้าออกอย่างเหมาะสม แต่สุดท้ายแล้วก็ต้องเปิดช่องทางให้บริการปกติอยู่ดี โดยเฉพาะบริการ HTTP ซึ่งเป็นจุดเสี่ยงต่อการโจมตีอ้างอิงจากสถิติมากมาย ด้วยเหตุนี้เอง Web Application Firewall จึงออกแบบมาเพื่อรับมือกับการโจมตีเว็บโดยเฉพาะ อนึ่งด้วยความสามารถของ Load Balancer ที่ทำงานได้ระดับ L7 จึงเป็นคุณสมบัติที่ดีที่ต่อยอดเรื่องของ WAF ได้

Kemp LoadMaster มาพร้อมกับโอเพ่นซอร์ส WAF ยอดนิยมที่ชื่อว่า ModSecurity โดยภายในมี Rule ที่ถูกออกแบบมารองรับรูปแบบการโจมตีในประกาศของ OWASP Top 10 เช่น SQL Injection, XSS และอื่นๆ ไม่เพียงเท่านั้นเมื่อประกอบกับความสามารถของ DLP จะช่วยให้ท่านสามารถ Comply กับข้อบังคับขององค์กรเช่น PCI-DSS เป็นต้น ในปัจจุบันการทำงานของเว็บมักอยู่ในรูปแบบของ HTTPS เกือบทั้งหมดแล้ว โดยคนร้ายมักใช้ HTTPS ซ่อนความมุ่งร้ายเช่นกัน ดังนั้นการปกป้องอย่างที่จริงต้องมองเห็นเนื้อหาให้ได้ โดย Kemp LoadMaster ยังมีความสามารถด้าน SSL Encryption เพื่อตรวจสอบทราฟฟิคที่เข้ามา ในแง่หนึ่งก็เป็นการแบ่งเบาภาระของเซิร์ฟเวอร์อีกด้วย

ผู้ใช้งาน WAF สามารถกำหนดโปรไฟล์ต่อแอปพลิเคชันได้ ที่สำคัญจะมีการเก็บ Log ต่อแอปพลิเคชัน ด้วยเหตุนี้การค้นหา Log จึงทำได้โดยละเอียดผ่านหน้า GUI ในกรณีที่ต้องวิเคราะห์ข้อมูล Log เพิ่มเติมสามารถส่งข้อมูลต่อไปให้ SIEM จาก Third-party ได้เช่นกัน แต่ถ้าองค์กรต้องการ Rule นอกเหนือจากที่ระบบมี ท่านสามารถใช้ภาษาที่เรียกว่า SecRules เพื่อปรับแต่ง Rule ได้ตามต้องการกับข้อมูลทราฟฟิคที่สนใจ และ WAF จาก Kemp ยังมีความสามารถของ IDS/IPS และ Rate Limit ด้วยเช่นกัน

2.) Kemp Ingress Controller for Kubernetes

กรณีที่องค์กรมีการใช้งาน Kubernetes เป็นรากฐานของแอปพลิเคชัน ท่านสามารถเลือกใช้ Ingress Controller จาก Kemp เพื่อ Route ทราฟฟิคจากภายนอกสู่ Kubernetes Cluster ได้ แนวทางก็คือจะมีการสร้าง Virtual Service และ Ingress Policy ผ่านทาง Kubernetes API และปรับให้สอดคล้องกับการคอนฟิคขององค์กรเพื่อนำข้อมูลตรงสู่ Pods กล่าวคือองค์กรของคุณจะสามารถบริหารจัดการแอปสมัยใหม่แบบ microservice และ monolith ไปพร้อมกันด้วย Kemp LoadMaster 

และเมื่อ Kemp เข้าขวางทราฟฟิคได้ นั่นยังนำไปสู่ฟังก์ชันด้านความมั่นคงปลอดภัยที่ขวางหน้า Kubernetes ด้วย ในแง่ของการจัดการ Kemp Ingress Controller ทำงานได้ 2 โหมดคือ Ingress Mode ซึ่งก็คือการสร้าง Virtual Service อย่างอัตโนมัติตามข้อมูลที่กำหนดและอัปเดตคอนฟิคตาม Kubernetes แต่หากต้องการมอบอำนาจให้แก่ทีมแอปเพื่อจัดการเองก็สามารถใช้ Service Mode ทำงานได้

3.) GEO Global Server Load Balancer

การทำงานขององค์กรอาจมีหลายไซต์เช่น DC และ DR หรือ DC และคลาวด์ ด้วยเหตุนี้การ Load Balance ระหว่างไซต์จึงจำเป็น โดย Kemp นำเสนอฟังก์ชันนี้ผ่านสิ่งที่เรียกว่า GEO Global Server Load Balancer(GSLB) เพื่อตอบโจทย์เช่น ต้องการขยายไซต์ ไซต์สำรอง(Active/Standby) ไซต์ที่ทำงานควบคู่กัน(Active/Active) เป็นต้น ไอเดียก็คือการจัดการ DNS แอปพลิเคชันเพื่อกระจายทราฟฟิคไปสู่ไซต์ที่ต้องการ นอกจากนี้ GSLB ยังมีฟังก์ชัน DNSSEC อีกด้วย

credit : Kemp

4.) Authentication and Single Sign-On

อย่างที่ทราบดีแล้วว่า Kemp ตั้งอยู่ระหว่างผู้ใช้และแอปพลิเคชัน ด้วยเหตุนี้เองจึงสามารถเพิ่มเติมฟังก์ชันด้านความมั่นคงปลอดภัยได้หลายด้าน รวมถึงการพิสูจน์ตัวตนกับ AD, Radius และ OIDC/OAuth รวมถึงรองรับ 2 factors token และ Certificate  มากกว่านั้นเพื่อประสบการณ์ที่ลื่นไหลผู้ใช้งาน Kemp ยังสามารถทำ SSO กับแอปพลิเคชันต่างๆได้ สิ่งเหล่านี้ก็คือการอำนวยความสะดวกและเพิ่มระดับความมั่นคงปลอดภัยให้กับแอปพลิเคชันขององค์กร โดยไม่ต้องเปลี่ยนแปลงแอปพลิเคชันนั่นเอง

credit : Kemp

บทสรุป

จะเห็นได้ว่า Kemp LoadMaster เปี่ยมไปด้วยคุณภาพตั้งแต่พื้นฐานในเรื่อง Load Balancer ที่ทุกองค์กรมองหา แต่ที่เหนือกว่านั้นคือเสริมฟังก์ชันด้านความมั่นคงปลอดภัยมาให้อย่างครบครัน เพื่อลุยงานได้จริง ครอบคลุมหลายกรณีการใช้งานซึ่งเราคงไม่สามารถอธิบายได้หมดในบทความเดียว ซึ่งยังมีเรื่องของกรณีการใช้งานเกี่ยวกับ VPN, Cloud Bursting และอื่นๆอีกมากมาย ที่พิเศษกว่านั้น Kemp ยังบูรณาการกับระบบอื่นได้อย่างง่ายๆ ผ่านทาง API, Python, Java และ PowerShell ทำให้งานของ DevOps หรือทีมไอทีง่ายขึ้นมาก

อย่างไรก็ตามในการใช้งานแต่ละองค์กรย่อมมีโจทย์แตกต่างกันไป ทั้งระบบที่ต้องการทำ โครงสร้างที่ใช้งานอยู่ หรือแอปพลิเคชันที่หลากหลาย รวมถึงขนาดที่เหมาะสม ซึ่งผู้เชี่ยวชาญจาก Pacific Tech พร้อมเข้าไปนำเสนอและให้คำปรึกษาแก่ผู้สนใจทุกท่าน เพียงติดต่อ คุณอาย (จันจิรา) Email : janjiras@pacifictech.com.sg โทร. 093-235-3092

ที่มา :

  1. https://www.oreilly.com/library/view/load-balancing-in/9781492038009/ch01.html
  2. https://kemptechnologies.com/what-is-load-balancing
  3. https://kemptechnologies.com/solutions/waf
  4. https://kemptechnologies.com/solutions/authentication
  5. https://kemptechnologies.com/server-load-balancing/geo-loadmaster/glm-overview

About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

Intel ออกบริการ Trust-as-a-Service ภายใต้โปรเจ็ค ‘Amber’

Project Amber ถูกวางตัวให้เป็นบริการ SaaS ที่จะช่วยเรื่องของการตรวจสอบว่าสภาพแวดล้อมนั้นๆมีความถูกต้องน่าเชื่อถือหรือไม่ โดยเป็นบริการแรกในส่วนของ Trust Authority ที่ถูกเปิดตัวออกมา

Microsoft ประกาศเพิ่ม Copilot ลงใน Windows 11

Microsoft ได้ประกาศเพิ่ม Copilot ระบบ AI Chatbot ลงใน Windows 11