Create Load Balancer
ขั้นตอนในการสร้าง Load Balancer
Last updated
ขั้นตอนในการสร้าง Load Balancer
Last updated
load balancer ใช้ในการ balancer หรือกระจาย load ไปยัง instance หลายๆ ตัว เพื่อเพิ่ม HA (High Availability) ในกับระบบ ในกรณีที่อาจจะมี instance ตัวใดตัวหนึ่งมีปัญหา ระบบก็จะกระจาย load ไป server ตัวอื่นแทน หรือเป็นการกระจาย load ให้เหมาะสมกับปริมาณการใช้งาน เพื่อป้องกันไม่ให้ instance ปัญหาตั้งแต่ต้น
โดยนอกจากสร้าง load balancer แล้ว ยังจะต้องสร้าง listener และ backend group ใน load balancer นั้นด้วย
listener คือตัวรับ load ที่จะใช้ในการจำแนกว่า load ประเภทไหน จะไปหา backend group ตัวไหน
backend group คือตัวที่รวบรวม instance ที่ทำงานชนิดเดียวกันเอาไว้ เพื่อรับ load จาก listener
มียอดคงเหลือใน Project มากกว่า 0 บาท (ขั้นตอนการเติมเงินเข้าสู่ Project)
กดเลือก project จากหน้า Projects Management เพื่อเข้าสู่หน้า Project Detail
เข้าสู่หน้า load balancer โดยกด menu Load Balancer ภายใต้ sidebar และกดปุ่ม +Load Balanacer ที่มุมขวาบนของหน้า load balancer
เลือก availability zone (AZ) ของ load balancer โดยจะต้องเลือก AZ เดียวกันกับ instance ที่ต้องการทำ load balance
เลือก type ของ load balancer โดยคำนึงจากปริมาณการใช้งาน โดย
standard load balancer จะเหมาะกับปริมาณ load ไม่มาก และสามารถยอมรับการ performance drop ได้เล็กน้อย เนื่องจาก standard load balancer จะมีการ share resource รวมกับกับ load balancer อื่นๆ แต่ข้อดีด็คือราคาถูกกว่า และคิดค่าใช้จ่ายด้าน data process และ new connection ตามการใช้งานจริง
dedicated load balancer จะเหมาะกับปริมาณ load มากๆ และไม่ต้องการให้มีความเสียงด้าน performance drop เนื่องจาก dedicated load balancer จะไม่มีการ share resource ใดๆ จะสามารถใช้งานได้เต้มประสิทธิภาพตลอดเวลา และจะคิดค่าใช้จ่ายแบบเหมา ที่จ่ายใน rate ที่คงที่
เลือก specification หรือขนาดของ load balancer ว่าต้องการ load balancer ที่รองรับการทำงานระดับใด และต้องการความปลอดภัยระดับไหน โดยถ้าต้องการ HA ที่สูงที่สุด แนะนำให้เลือก specification ที่มี topology เป็น HA
กำหนดชื่อและคำอธิบายของ load balancer เพื่อใช้สามารถจำแนกออกจาก load balancer ตัวอื่นได้
เลือก virtual network ที่จะต้องเป็น network เดียวกันกับ instance ที่ต้องการ balance load รวมถึงเลือก external IP หากต้องการ expose ออกสู่ internet
รีวิวความถูกต้องของการตั้งค่า และกดปุ่ม CREATE เพื่อสร้าง load balancer
รอจน load balancer status กลายเป็น HEALTHY และกดที่ชื่อของ load balancer เพื่อเข้าหน้า load balancer overview
ในหน้า load balancer overview ให้ click ที่ปุ่ม CREATE BACKEND GROUP เพื่อเปิด menu create backend group
ตั้งค่าต่างๆ ใน backend group เพื่อเป็นตัวรับ load จาก listener
Name: ชื่อของ backend group ที่ใช้ในการจำแนกแต่ละ backend group ออกจากกัน
Protocol: protocol ที่จะส่ง request ต่อไปยัง member หรือ instance ใน backend group นี้
Algorithm: วิธีการเลือกว่าจะส่ง request ไหนไปหา member ตัวใด โดยจะมี 3 อย่างคือ
Least Connection: เลือก member ที่มี connection อยู่น้อยที่สุด
Round Robin: เลือก member วนตามลำดับ
Source IP: เลือก member โดยการ hash source IP ของ request โดย IP เดิม จะเข้า member เดิมเท่านั้น
Enable Health Check: เปิดใช้งาน health check ที่จะเข้าไป check อยู่ตลอดว่า member ยังสามารถใช้งานได้หรือไม่
Protocol: protocol ของการทำ health check
Timeout: เวลาก่อนที่จะตีว่า health check request แต่ละครั้งเป็น timeout
Interval: ความถี่ในการทำ health check
Healthy Threshold: จำนวนครั้งที่ health check พบว่า member ใช้งานได้ ก่อนจะกำหนดว่า member นั้น online อยู่ และส่ง request เข้าไป
Unhealthy Threshold: จำนวนครั้งที่ health check พบว่า member ใช้งานไม่ได้ ก่อนจะกำหนดว่า member นั้น ERROR อยู่ และหยุดส่ง request เข้าไป
Member: instance ที่จะรับ request ในกลุ่มของ backend group นี้
Instance: port ของ instance ที่จะรับ request โดยจะต้องเปิด security ให้ถูกต้องจึงจะสามารถใช้งานได้
Port: เลข port ที่จะรับ request
Weigth: อัตราส่วนที่จะส่ง request เข้าไปใน member นี้ โดยถ้า weigth เยอะ request ก็จะเข้า member นั้นเยอะ
Monitor Port: เลข port ที่จะใช้ทำ health check
Assign As: รูปแบบการทำงานของ member นี้
จากนั้น click ปุ่ม CONFIRM เพื่อสร้าง backend group และรอจนกว่า load balancer จะ update เสร็จ
ในหน้า load balancer overview ให้ click ที่ปุ่ม CREATE LISTENER เพื่อเปิด menu create listener
ตั้งค่าต่างๆ ใน listener เพื่อให้สามารถรับ load ได้ ดังนี้
Name: ชื่อของ listener ที่ใช้ในการจำแนกแต่ละ listener ออกจากกัน
Protocol: เลือก protocol ของ request ที่ listener นี้จะรับ
Port: เลือก port number ของ request ที่ listener นี้จะรับ
Client Side Idle Timeout: เวลาที่จะ keep connection กับ client ที่ไม่ active
TCP inspect: เวลาที่รอการ inspect ของ TCP package
Backend Side Idle Timeout: เวลาที่จะ keep connection กับ backend ที่ไม่ active
Backend Side Connection Timeout: เวลาที่จะรอการ connect กับ backend
Whitelist CIDR: CIDR ที่ยอมให้ใช้งาน listener นี้
CIDRs: ถ้าไม่ได้เลือก whitelist CIDR เป็น allow all จะสามารถระบุ CIDR ที่ allow เฉพาะได้
Backend Group: เลือก backend group ที่ใช้รับ request จาก listener นี้
เพียงเข้านี้ ก็สามารถใช้งาน load balancer ได้แล้ว