कई वेबपेजों के लिए इलास्टिक लोड बैलेंसर


13

मेरे पास Nवेबएप हैं। प्रत्येक webapp को मेरे डोमेन में एक अलग होस्टनाम द्वारा परोसा जाता है और AWS में चलने वाले 2 उदाहरणों पर तैनात किया जाता है। दूसरे शब्दों में, मेरे पास 2Nउदाहरण हैं, जोड़े में विभाजित हैं जो Nअलग-अलग वेबैप चलाते हैं ।

मैं एक एकल एडब्ल्यूएस इलास्टिक लोड बैलेंसर स्थापित करना चाहता हूं जो कि Hostहेडर के आधार पर इसे सेवा देने वाले दो उदाहरणों में से एक के लिए एक अनुरोध करेगा । क्या यह संभव है कि एक एकल Nईएलबी का उपयोग किया जाए या मुझे प्रत्येक जोड़ी के लिए ईएलबी को तैनात करने की आवश्यकता होगी ?


जवाबों:


19

एक एकल ईएलबी यातायात को उदाहरणों के बिल्कुल एक सेट पर ले जाता है, और आने वाले ट्रैफ़िक को "पीछे" सभी इंस्टेंस पर वितरित करता है। यह ट्रैफ़िक के किसी भी लेयर 7 के विश्लेषण के आधार पर ट्रैफ़िक को रूट नहीं करता है, जैसे Host:हेडर।

आपको प्रत्येक सेट के लिए एक ईएलबी की आवश्यकता है । जैसा कि आप इसका वर्णन करते हैं, यह प्रत्येक वेबएप के लिए एक ईएलबी है।

यदि ईएलबी चलाने का आपका प्राथमिक उद्देश्य वाइल्डकार्ड प्रमाणपत्र का उपयोग करके एसएसएल को बंद कर रहा है (मेरे पास इस तरह का एक सिस्टम है, जिसमें दर्जनों ऐप्स कई- different-domains.my-wildcard-cert-domain.com पर रहते हैं), तो उदाहरण ईएलबी HAProxy (या कई अन्य विकल्प, वार्निश की तरह) है कि के रूप में एक रिवर्स प्रॉक्सी इस तरह चल रहा हो सकता है "के पीछे" कर सकते हैं परत-7 उनके पीछे मशीनों के उचित सबसेट है, जो भी अधिक परिष्कृत की अनुमति देता है के लिए निर्णय मार्ग और उसके बाद आगे यातायात बनाने लोड संतुलन और आपको आँकड़े और ट्रैफ़िक काउंटर, कुल और अलग-अलग प्रदान करने का लाभ है।

       /-- HAProxy \  /----- instances hosting app #1  
ELB ---|            >> ----- instances hosting app #2 
       \-- HAProxy /  \----- instances hosting app #n 

मध्यवर्ती ^ ^ ^ ^ ^ उदाहरणों Host:हेडर का मूल्यांकन कर सकते हैं (अन्य बातों के अलावा) और यहां तक ​​कि विश्लेषण के लिए उनके लॉग में सत्र कुकी के मूल्य पर कब्जा कर सकते हैं।

यह सेटअप मुझे उदाहरणों के ओवरलैपिंग सबटेट्स पर कई ऐप्स चलाने की अनुमति देता है, जहां उपयुक्त है, और कई अन्य चीजें करते हैं जो ELB द्वारा सीधे समर्थन नहीं करता है। यह उस मामले में एक कस्टम "503" पृष्ठ भी लौटाता है, जहां कोई एप्लिकेशन ओवरलोड हो जाता है या अन्यथा अनुपलब्ध हो जाता है, जिसे ELB स्वयं नहीं करता है। मैंने यहां 2 प्रॉक्सी सर्वरों को चित्रित किया है, प्रश्न में नंबर 2 के आपके उल्लेख के अलावा कोई विशेष कारण नहीं है। मेरे सेटअप में वास्तव में 3 है, इस क्षेत्र में प्रत्येक उपलब्धता क्षेत्र के लिए एक जहां यह तैनात है।


3
अगस्त 2016 में, अमेज़ॅन ने एडब्ल्यूएस एप्लीकेशन लोड बैलेंसर लॉन्च किया, जो HTTP हेडर के आधार पर विभिन्न लक्ष्य समूहों को रूट करने की अनुमति देता है।
जेन्स बैनमैन

2
@JensBannmann सच है। जब उन्होंने इसे जारी किया, तो केवल रूटिंग नियमों का समर्थन किया जो कि पथ पर आधारित था। 2017 में, उन्होंने Host:हेडर के आधार पर रूट करने की क्षमता को जोड़ा । यह जवाब सही था जब मैंने इसे 2014 में लिखा था, लेकिन ऐसा लगता है कि यह अपडेट का समय है। इसे वापस मेरे ध्यान में लाने के लिए धन्यवाद।
माइकल - sqlbot

3

अगस्त 2016 तक, अमेज़न ईएलबी दो अलग-अलग प्रकार के लोड बैलेंसर्स प्रदान करता है:

  • क्लासिक लोड बैलेंसर अनुप्रयोग प्रोटोकॉल सामग्री पर विचार किए बिना इंस्टेंस के एक सेट पर सभी ट्रैफ़िक को रूट करता है। पहले, यह एकमात्र ईएलबी प्रकार उपलब्ध था।
  • एप्लिकेशन लोड बैलेंसर URL पथों के आधार पर अलग-अलग लक्ष्य समूहों के अनुसार ट्रैफ़िक को रूट कर सकता है । ब्लॉग पोस्ट नया - एडब्ल्यूएस एप्लीकेशन लोड बैलेंसर में कई माइक्रोसर्विस से जुड़े अनुप्रयोगों का उल्लेख है जो कि प्राइम उपयोग के मामले के रूप में है, और विस्तृत सेटअप निर्देश देता है।

आपके उपयोग के मामले में, एप्लिकेशन लोड बैलेंसर आदर्श लगता है। हालांकि, यह 10 नियमों तक सीमित है, इसलिए यह केवल आसानी से काम करेगा यदि आपका N10 से बड़ा नहीं है।


0

Ec2 उदाहरणों की अपनी सूची में, आप दो उदाहरण देखते हैं, है ना? लेकिन प्रत्येक उदाहरण पर आपके पास कई वेबएप हैं? आप प्रत्येक को तैनात करने के लिए वर्चुअल होस्ट का उपयोग करते हैं?

आपको अपने मेजबानों पर शुल्क को विभाजित करने के लिए सिर्फ एक ईएलबी की आवश्यकता है। उदाहरण:

External request > ELB (based on CNAME pointer)  > EC2 Instance. 

मुझे लगता है कि यह बेहतर है कि मैं आपको अपने परिदृश्य का अधिक ज्ञान दूं और शायद मैं आपकी मदद कर सकूं।

सादर।

अपडेट करें

यदि आपके पास EC2 उदाहरणों में भिन्न वेबएप हैं, तो आपके पास दो लोचदार भार बैलेंसर (ELB) होना आवश्यक है। उदाहरणों की एक जोड़ी के लिए हर एक। पूरी तरह से, चार उदाहरण


मेरी उदाहरण सूची में मुझे 2Nऐप्स दिखाई देते हैं। एन वेबएप हैं, प्रत्येक के लिए दो उदाहरण हैं। मैं इसे स्पष्ट करने के लिए प्रश्न को संपादित करूँगा।
18

अद्यतन प्रतिक्रिया।
जूनियर रोचा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.