ELB เดี่ยวจะกำหนดเส้นทางการรับส่งข้อมูลไปยังอินสแตนซ์หนึ่งชุดและกระจายการรับส่งข้อมูลไปยังอินสแตนซ์ทั้งหมด "หลัง" มันไม่ได้เลือกเส้นทางการรับส่งข้อมูลตามการวิเคราะห์เลเยอร์ 7 ของการรับส่งข้อมูลเช่นHost:
ส่วนหัว
คุณต้องใช้ELB หนึ่งชุดสำหรับแต่ละชุดอินสแตนซ์ ตามที่คุณอธิบายนั่นเป็นหนึ่ง ELB สำหรับแต่ละเว็บแอป
หากวัตถุประสงค์หลักของคุณในการใช้งาน ELB นั้นเป็นการถ่ายโอน SSL โดยใช้ใบรับรองไวด์การ์ด (ฉันมีระบบเดียวที่ได้รับการออกแบบเช่นนี้โดยมีแอพจำนวนมากที่อาศัยอยู่ในหลายโดเมนที่แตกต่างกันไปที่โดเมนโดเมน -cild-domain.com) "เบื้องหลัง" ELB สามารถเรียกใช้พร็อกซีย้อนกลับได้เช่น HAProxy (หรือทางเลือกอื่น ๆ เช่น Varnish) ที่สามารถทำการตัดสินใจเส้นทางเลเยอร์ -7 และส่งต่อการรับส่งข้อมูลไปยังชุดย่อยที่เหมาะสมของเครื่องที่อยู่ด้านหลัง โหลดบาลานซ์และมีข้อได้เปรียบในการให้สถิติและเคาน์เตอร์การจราจรรวมและแยกจากกัน
/-- HAProxy \ /----- instances hosting app #1
ELB ---| >> ----- instances hosting app #2
\-- HAProxy / \----- instances hosting app #n
อินสแตนซ์ระดับกลาง ^^^^ สามารถประเมินHost:
ส่วนหัว (เหนือสิ่งอื่นใด) และแม้กระทั่งจับมูลค่าคุกกี้เซสชั่นในบันทึกของพวกเขาสำหรับการวิเคราะห์
การตั้งค่านี้ยังทำให้ฉันสามารถเรียกใช้แอพหลาย ๆ อันบนอินสแตนซ์ย่อยที่ซ้อนทับกันตามความเหมาะสมและทำสิ่งอื่น ๆ อีกมากมายที่ ELB ด้วยตัวเองไม่ได้สนับสนุนโดยตรง นอกจากนี้ยังส่งคืนหน้า "503" ที่กำหนดเองในกรณีที่แอปพลิเคชันได้รับการโหลดมากเกินไปหรือไม่สามารถใช้งานได้ซึ่ง ELB ไม่ได้ดำเนินการด้วยตนเอง ฉันอธิบายเซิร์ฟเวอร์พร็อกซี 2 แห่งที่นี่ด้วยเหตุผลใดก็ตามนอกเหนือจากที่คุณกล่าวถึงหมายเลข 2 ในคำถาม การตั้งค่าของฉันมีจริง 3 ข้อสำหรับแต่ละโซนความพร้อมใช้งานในภูมิภาคที่มีการปรับใช้นี้