Elastic Load Balancer ของ AWS เป็นเพียงจุดเดียวของความล้มเหลวหรือไม่?


15

ฉันกำลังดูการย้ายแอปพลิเคชันของเราไปยัง Amazon Web Services แผนจะให้อินสแตนซ์ EC2 ทั้งหมดทำมิรเรอร์ผ่านสองโซนความพร้อมใช้งาน เนื่องจากค่าใช้จ่ายในการถ่ายโอนข้อมูลเราจะอยู่ในภูมิภาค AWS เดียว (ออริกอน)

AZ หลายรายการกำจัดจุดล้มเหลวเพียงจุดเดียวสำหรับแอพพลิเคชันและเซิร์ฟเวอร์ฐานข้อมูลของเรา แต่แล้ว ELB ล่ะ ถ้าฉันมี ELB เดียวกระจายการรับส่งข้อมูลทั่วทั้งสอง AZ ก็คือ ELB ยังโฮสต์ข้าม AZ ทั้งสองนี้หรือไม่

Amazon ทำอะไรเพื่อป้องกัน ELB จากการเป็น SPoF

คำตอบ:


13

หัวใจของมันคือ ELB เป็นเพียงตัวอย่างของ EC2 เมื่อคุณสร้าง ELBคุณจะต้องระบุโซนความพร้อมใช้งานที่คุณต้องการให้โหลดบาลานเซอร์นั้นอยู่อินสแตนซ์เพื่อสร้างโหลดบาลานเซอร์จะถูกสร้างขึ้นในโซนเหล่านั้น วิธีที่พวกเขาหลีกเลี่ยงจุดล้มเหลวเพียงจุดเดียวคือการส่งคืนที่อยู่ IP หลายรายการเมื่อคุณทำการค้นหา DNS ตัวอย่างเช่น:

  • การค้นหา DNS สำหรับ website.example.com จะส่งคืน CNAME เว็บไซต์-elb-12345.eu-west-1.elb.amazonaws.com
  • การค้นหาจะส่งคืนข้อมูลสำหรับ website-elb-12345.eu-west-1.elb.amazonaws.com ด้วย มันระบุว่าเว็บไซต์มีที่อยู่ IP 1.2.3.4 และที่อยู่ IP 2.3.4.5

มันขึ้นอยู่กับลูกค้าที่จะเลือกที่อยู่ IP ที่จะใช้ในการเชื่อมต่อ ที่อยู่ IP จะไม่ถูกส่งกลับในลำดับเดียวกันเสมอจากการค้นหา DNS ลูกค้าสามารถลองใช้ที่อยู่ IP สำรองได้หากไม่สามารถเชื่อมต่อได้ในครั้งแรก

TTL ในระเบียน DNS สำหรับ ELB เพียง 60 วินาทีซึ่งหมายความว่าหาก ELB อินสแตนซ์ตายและถูกแทนที่ DNS จะได้รับการอัปเดตทุกที่อย่างรวดเร็ว


ดังนั้นเมื่อฉันจะปรับใช้อินสแตนซ์ของแอปพลิเคชัน EC2 ข้ามหลายโซนเมื่อฉันสร้าง ELB สำหรับภูมิภาคนั้นมันจะถูกโฮสต์โดยอัตโนมัติในอินสแตนซ์ EC2 ที่แพร่กระจายในสองโซนเดียวกันเหล่านั้นหรือไม่
Chris.B

เมื่อคุณสร้าง ELB ไม่ว่าจะผ่านทาง API หรือคอนโซลคุณจะถูกขอให้เลือกโซนความพร้อมใช้งานที่คุณต้องการให้ ELB ดำเนินงานคุณเพียงแค่เลือกโซนความพร้อมใช้งานแบบเดียวกับที่อินสแตนซ์ของคุณจะเข้า
ริชาร์ด

3

มันอาจเป็น SPoF แต่ฉันเชื่อว่ามันจะเป็น SPoF ภายในภูมิภาคเดียวกันเท่านั้น

นั่นเป็นสาเหตุที่ AWS แนะนำให้ใช้การตรวจสุขภาพตามเส้นทาง 53 เพื่อตรวจจับและกำหนดเส้นทางการจราจรที่จะสิ้นสุดลงใน ELB ที่ไม่แข็งแรง

คุณสามารถใช้การตรวจสอบสุขภาพของ Amazon Route 53 และคุณสมบัติ DNS failover เพื่อปรับปรุงความพร้อมใช้งานของแอปพลิเคชันที่ทำงานอยู่เบื้องหลัง Elastic Load Balancer เส้นทาง 53 จะล้มเหลวห่างจาก balancer โหลดถ้าไม่มีกรณี EC2 มีสุขภาพที่ลงทะเบียนกับ balancer โหลดหรือถ้า balancer โหลดตัวเองเป็นโรค

ที่มา: http://aws.amazon.com/elasticloadbalancing/


ดังนั้นมีวิธีการตั้งค่ามากกว่าหนึ่ง ELB ในภูมิภาคเดียว มีหนึ่งเป็นอุปกรณ์หลักและเป็นสแตนด์บายหรือไม่ หรือ Route 53 สามารถยิงตัวอย่างใหม่ของ ELB ได้หรือไม่
Chris.B

ฉันไม่คิดว่าเส้นทาง 53 สามารถตั้งค่า ELB โดยอัตโนมัติได้คุณจะต้องดูในคู่มือผู้พัฒนา
อเล็กซ์

1

คุณสามารถไปรอบ ๆ AZ SPoF เดียวของคุณได้โดยการสร้างกลุ่มการปรับอัตโนมัติซึ่งหาก ELB เดี่ยวของคุณไม่ตรงกับปัจจัย X ไม่ว่าจะเป็นการโหลดเวลาตอบสนอง ฯลฯ ELB ใหม่จะถูกสร้างขึ้น ELB นั้นเป็นอินสแตนซ์ EC2 ที่ใช้รหัส AWS ที่เป็นกรรมสิทธิ์


ฉันคิดว่า ELB ปรับขนาดอัตโนมัติเพื่อจัดการกับภาระที่เพิ่มขึ้นเป็นต้น
Chris.B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.