अमेज़न वेब सर्विसेज़ में उन्नत लोड संतुलन और क्लस्टरिंग

श्रेणियाँ देखें

अमेज़न वेब सर्विसेज़ में उन्नत लोड संतुलन और क्लस्टरिंग

11 मिनट पढ़ा

परिचय #

निम्न आलेख बताता है कि उच्च उपलब्धता के लिए Relianoid लोड बैलेंसर के साथ उन्नत लोड बैलेंसिंग सेवाओं को कैसे सेट किया जाए अमेज़न वेब सर्विसेज़ EC2 इंफ्रास्ट्रक्चरहम एक कॉन्फ़िगर करने की प्रक्रिया का वर्णन करेंगे रिलियानोइड क्लस्टर और 3 वेब बैकएंड सर्वर के साथ लोड बैलेंस HTTP सेवाओं के लिए एक TCP लोड बैलेंस प्रोफ़ाइल कॉन्फ़िगर करें।

AWS और रिलियनॉइड इन्फ्रास्ट्रक्चर #

निम्नलिखित आरेख उस आर्किटेक्चर का वर्णन करता है जिसे हम AWS में Relianoid एप्लिकेशन डिलीवरी कंट्रोलर के साथ वेब लोड बैलेंसिंग को लागू करना चाहते हैं।

दो Relianoid एप्लिकेशन डिलीवरी कंट्रोलर को तैनात करना आवश्यक है, यह टेम्पलेट Amazon Web Services बाज़ार में उपलब्ध है, और प्रत्येक Relianoid एप्लिकेशन डिलीवरी कंट्रोलर को वेब बैकएंड सर्वर की तुलना में समान VPC में कॉन्फ़िगर किया गया है जैसा कि सबनेट के साथ ऊपर दिए गए चित्र में दिखाया गया है 17.32.16.0./20.

प्रत्येक Relianoid ADC इंस्टेंस को एक इंटरफ़ेस के साथ कॉन्फ़िगर किया गया है eth0, और प्रत्येक उदाहरण को एक को सौंपा गया है लोचदार आईपी, इसके अलावा एक अतिरिक्त लोचदार आईपी को एक अतिरिक्त आईपी के माध्यम से सौंपा गया है eth0 में ZLB1-उत्पाद उदाहरण जिसका उपयोग लोड संतुलन प्रयोजनों के लिए किया जाएगा, जैसा कि नीचे वर्णित है:

ZLB1-उत्पाद को सौंपा गया है 172.31.20.89 eth0 में, इस इंस्टेंस को सीधे एक द्वारा एक्सेस किया जाएगा इलास्टिक आईपी 34.225.30.206
ZLB2-उत्पाद को सौंपा गया है 172.31.26.237 eth0 में, इस इंस्टेंस को सीधे एक द्वारा एक्सेस किया जाएगा इलास्टिक आईपी 54.161.240.226

एक अतिरिक्त आईपी को सौंपा गया है ZLB1-उत्पाद और नाम के साथ लोड बैलेंसर में कॉन्फ़िगर किया गया eth0:वीआईपी1 और आईपी 172.31.26.47इस आईपी का उपयोग यहां एक लोड संतुलन सेवा को कॉन्फ़िगर करने और इसका हिस्सा बनने के लिए किया जाता है क्लस्टर सेवा, इसलिए यह आईपी एक समय में केवल एक रिलियनोइड इंस्टेंस में काम करेगा, जो प्रबंधन करता है सक्रिय क्लस्टर में भूमिका। यह आंतरिक आईपी एक इलास्टिक आईपी को सौंपा गया है, जिसे क्लाइंट द्वारा प्रकाशित वास्तविक वेब सेवा से कनेक्ट करने के लिए एक्सेस किया जाता है।

अंत में बैकएंड01, बैकएंड02 और बैकएंड03 लिनक्स-आधारित वेब सर्वर के साथ EC2 इंस्टेंस हैं, वे इंस्टेंस लोड-बैलेंस्ड सेवा का हिस्सा हैं जहां क्लाइंट अनुरोध किए जाने पर कनेक्ट होता है http://54.144.190.17/.

AWS मार्केटप्लेस में दो Relianoid इंस्टेंस तैनात करना #

आइए दो रिलियनॉइड लोड बैलेंसर्स तैनात करें और उन्हें पहले बताए अनुसार कॉन्फ़िगर करें।

EC2 इंस्टेंस अनुभाग पर जाएं और दबाएं लॉन्च का उदाहरण.

1. आवश्यक Relianoid लोड बैलेंसर एंटरप्राइज़ संस्करण AMI की खोज करें। यह AMI BYOL लाइसेंस पर आधारित है मूल्यांकन चरण निःशुल्क है और एक महीने के दौरान सहायता शामिल है, इस अवधि के बाद काम करने के लिए एक निश्चित लाइसेंस की आवश्यकता होती है।

2. A चुनें उदाहरण प्रकार. यहां उन संसाधनों के आधार पर आवश्यक इंस्टेंस का चयन करें जिन्हें आप लोड बैलेंस करना चाहते हैं। एकल t2.छोटा उदाहरण के साथ काम करना शुरू करना अच्छा है L4 प्रोफाइल, लेकिन यदि आप उपयोग करना चाहते हैं HTTP प्रोफाइल तो हम कम से कम एक की सिफारिश करेंगे t2.मध्यम उदाहरण. लेकिन, एक t2.micro परीक्षण प्रयोजनों के लिए यह उदाहरण पर्याप्त है।

3. कॉन्फ़िगर उदाहरण विवरणयहां उस VPC का चयन करें जो नए Relianoid इंस्टेंस चलाता है, इस कॉन्फ़िगरेशन उदाहरण में हम उसी VPC में Relianoid EC2 इंस्टेंस को पेश करेंगे, जिसमें पहले से कॉन्फ़िगर किए गए वास्तविक वेब बैकएंड सर्वर हैं।

4. भंडारण जोड़ेंडिफ़ॉल्ट रूप से Relianoid EC2 इंस्टेंस को कम से कम 12Gb स्टोरेज की आवश्यकता होती है, यदि आप डिफ़ॉल्ट रूप से लॉग सक्रिय करना चाहते हैं तो हम इस आकार को कम से कम 20Gb तक बढ़ाने की सलाह देंगे। Relianoid को डिस्क तक पहुँच की आवश्यकता नहीं है, केवल लॉग को सहेजने के लिए, इसलिए वॉल्यूम प्रकार सामान्य प्रयोजनों के लिए एक अच्छा विकल्प है।

5. टैग लगा दोयदि वांछित हो तो यहां कुछ विवरण टैग कॉन्फ़िगर करें।

6. कॉन्फ़िगर सुरक्षा समूह. Relianoid डिफ़ॉल्ट रूप से HTTPS वेब GUI प्रबंधन उद्देश्यों के लिए TCP पोर्ट 444, सत्र सिंक्रनाइज़ेशन डेमॉन के लिए 9999 और कमांड-लाइन प्रबंधन और क्लस्टरिंग उद्देश्यों के लिए SSH में TCP पोर्ट 22 का उपयोग करता है। इसके अलावा, प्रत्येक वर्चुअल पोर्ट लोड बैलेंसर वर्चुअल सेवाओं में उपयोग की जाने वाली सेवाओं को आपके सुरक्षा समूह में शामिल करना आवश्यक होगा। हमने एक सुरक्षा समूह कॉन्फ़िगर किया है जिसका उपयोग उन Relianoid EC2 इंस्टेंस के लिए कम प्रतिबंधात्मक मोड में इस प्रकार किया जाता है:

प्रकार = सभी ट्रैफ़िक प्रोटोकॉल = सभी पोर्ट रेंज = सभी स्रोत = 0.0.0.0/0 विवरण = सभी से सभी तक सभी को अनुमति दें

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

एक बार जब कॉन्फ़िगरेशन सहायक EC2 इंस्टेंस सूची में वापस आ जाता है, तो नया उपकरण तैनात होना शुरू हो जाएगा और शुरुआत राज्य दिखाया जाएगा। फिर, अब फ़ील्ड में एक वर्णनात्मक नाम कॉन्फ़िगर करें नामहमारे मामले में, EC2 में हमारे तैनात लोड बैलेंसर्स का नाम है ZLB1-उत्पाद और ZLB2-उत्पाद.

Relianoid EC2 इंस्टेंस के लिए नेटवर्क कॉन्फ़िगर करना #

एक बार जब रिलियनॉइड वर्चुअल उपकरण तैनात हो गए और उदाहरण राज्य दिखा रहे हैं रनिंग मोड में हम नेटवर्क को कॉन्फ़िगर करने के लिए आगे बढ़ सकते हैं।

पर दाएँ बटन पर क्लिक करें ZLB1-उत्पाद उपकरण और चुनें नेटवर्किंग > IP पते प्रबंधित करें, में IP पते प्रबंधित करें पॉप-अप विंडो में प्रेस करें नया IP असाइन करें और बटन दबाएं हां, अपडेट करें, सिस्टम इसके लिए एक नया आईपी आवंटित करेगा eth0 उसी VPC में। इस नए IP को याद रखें, हमारे उदाहरण में, यह नया IP होगा 172.31.26.47सिस्टम को एक नया आईपी सौंपा गया है जिसका उपयोग भविष्य की क्लस्टरिंग सेवा में लोड-बैलेंसिंग उद्देश्यों के लिए किया जाएगा।

सेक्शन में जाएं लोचदार आईपी और प्रत्येक Relianoid इंस्टैंस को एक नया असाइन करें लोचदार आईपीइनका उपयोग प्रबंधन उद्देश्यों के लिए किया जाएगा, न कि लोड संतुलन के लिए।

उसी में लोचदार आईपी अनुभाग में, एक नया आईपी असाइन करें ZLB1-उत्पाद, लेकिन इस मामले में, चुनें निजी आईपी पता 172.31.26.47. इस कॉन्फ़िगरेशन के बाद ZLB1-उत्पाद वेब और ssh के माध्यम से आईपी के साथ सुलभ होगा 34.225.30.206, परंतु ZLB2-उत्पाद आईपी ​​के साथ समान सेवाओं के माध्यम से सुलभ है 54.161.240.226 और इलास्टिक आईपी 54.144.190.17 आईपी ​​को सौंपा गया 172.31.26.47.

अस्थायी लाइसेंस के साथ Relianoid EC2 इंस्टेंस को सक्षम करना #

एक बार इलास्टिक आईपी कॉन्फ़िगर हो जाने के बाद वर्चुअल लोड बैलेंसर्स निम्न प्रकार से सुलभ होंगे:

ZLB1-prod को https://34.225.30.206:444 उपयोगकर्ता रूट और पासवर्ड इंस्टेंस आईडी के माध्यम से एक्सेस किया जा सकेगा।
ZLB1-prod को उपयोगकर्ता admin और निजी प्रमाणपत्र फ़ाइल के साथ IP 34.225.30.226 में ssh के माध्यम से एक्सेस किया जा सकेगा, इसे EC2 परिनियोजन समय पर कॉन्फ़िगर किया गया है।
ZLB2-prod को https://54.161.240.226:444 उपयोगकर्ता रूट और पासवर्ड इंस्टेंस आईडी के माध्यम से एक्सेस किया जा सकेगा।
ZLB2-prod को उपयोगकर्ता admin और निजी प्रमाणपत्र फ़ाइल के साथ IP 54.161.240.226 में ssh के माध्यम से एक्सेस किया जा सकेगा, इसे EC2 परिनियोजन समय पर कॉन्फ़िगर किया गया है।

यदि आप आगे बढ़ने से पहले होस्टनाम बदलने पर विचार करते हैं, तो कृपया परिवर्तन लागू करने के लिए EC2 इंस्टेंस को रीबूट करें।

एक बार वेब GUI तक सफलतापूर्वक पहुंच हो जाने पर आपको दो महत्वपूर्ण मान दिखाई देंगे, होस्टनाम और प्रमाणपत्र कुंजी, दोनों जानकारी लोड बैलेंसर के अनुसार अद्वितीय हैं और सक्रियण लाइसेंस से संबंधित हैं, इस जानकारी का उपयोग निम्नलिखित URL में वर्णित अनुसार करें: https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/

एक बार फॉर्म भर जाने के बाद सिस्टम स्वचालित रूप से लाइसेंस को बताए गए ईमेल पर भेज देता है। कृपया प्राप्त PEM एक्टिवेशन लाइसेंस को प्रत्येक लोड बैलेंसर में वेब GUI के माध्यम से अपलोड करें, एक बार ऐसा करने के बाद वेब GUI अनलॉक हो जाता है और सभी सुविधाएँ पूरी तरह से सक्षम और चालू हो जाती हैं।

दोनों नोड्स ZLB1-prod और ZLB2-prod में समान सक्रियण प्रक्रिया करें।

लोड संतुलन के लिए वर्चुअल आईपी को कॉन्फ़िगर करना #

पिछले बिंदु में, हमने पहले ही eth0 को एक अतिरिक्त IP असाइन कर दिया है 172.31.26.47 उदाहरण ZLB1-pro में, और यह IP एक इलास्टिक IP को सौंपा गया है 54.144.190.17, अब यह ZBL1-pro लोड बैलेंसर में इस कॉन्फ़िगरेशन को करने के लिए लंबित है।

इसके इलास्टिक आईपी का उपयोग करके वेब इंटरफ़ेस के माध्यम से ZLB1-pro लोड बैलेंसर पर जाएं https://34.225.30.206:444एक बार लॉग इन करने के बाद कृपया नेविगेशन मेनू पर जाएं नेटवर्क > वर्चुअल इंटरफ़ेस > वर्चुअल इंटरफ़ेस बनाएँ, और निम्नलिखित कॉन्फ़िगरेशन करें:

पैरेंट इंटरफ़ेस = eth0 172.31.26.47

*चूंकि EC2 इंस्टेंसेज को इलास्टिक आईपी के बारे में कुछ भी पता नहीं है, इसलिए हमें यहां लोड बैलेंस उद्देश्य के लिए उपयोग किए जाने वाले सार्वजनिक इलास्टिक आईपी से जुड़े EC2 इंस्टेंस के भौतिक आईपी को कॉन्फ़िगर करने की आवश्यकता है 54.144.190.17

वर्चुअल इंटरफ़ेस नाम = vip1
आईपी ​​पता = 172.31.26.47

दबाएँ बनाएं कॉन्फ़िगरेशन लागू करने के लिए बटन.

अब एक नया आई.पी. 172.31.26.47 नाम के साथ eth0:वीआईपी1 को ZLB1-pro EC2 Relianoid लोड बैलेंसर में कॉन्फ़िगर किया गया है और इसे इस VPC में किसी भी EC2 इंस्टेंस से पिंग किया जा सकता है।

Amazon Web Services में Relianoid क्लस्टर सेवा को कॉन्फ़िगर करना #

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

इसके लिए, Relianoid क्लस्टर सेवा AWS क्लाइंट का उपयोग करती है जिसे इंटरफ़ेस को प्रबंधित करने के लिए EC2 मॉड्यूल में अनुमतियों के साथ कॉन्फ़िगर करने की आवश्यकता होती है, इसलिए Relianoid क्लस्टर सेवा शुरू करने से पहले हमें इसे तैयार करने की आवश्यकता है। तो चलिए एक कॉन्फ़िगर करते हैं एडब्लूएस कुंजी आपके खाते में AWS कमांड-लाइन इंटरफ़ेस में उपयोग किए जाने के लिए EC2 में IP प्रबंधित करने की अनुमति है।

अमेज़न कंसोल पर जाएँ https://console.aws.amazon.com/iam/ , फिर नेविगेशन मेनू पर चुनें उपयोगकर्ता. बटन पर क्लिक करें उपयोगकर्ता जोड़ें.

एक वर्णनात्मक उपयोगकर्ता नाम कॉन्फ़िगर करें = aws-for-zlb

In AWS पहुंच प्रकार चुनें चुनें प्रोग्रामेटिक एक्सेस और बटन दबाएं अगला: अनुमतियाँ। अब में अनुमतियाँ सेट करें अनुभाग प्रेस में समूह बनाएँ और फिर नई विंडो में फ़ील्ड भरें समूह का नाम उदाहरण के लिए, एक वर्णनात्मक नाम के साथ, अमेज़नEC2, और अंत में, क्षेत्र में नीतियों को फ़िल्टर करें खोजें और नामित नीति का चयन करें AmazonEC2FullAccess जो EC2 इंस्टैंस के बीच निर्दिष्ट IP को बदलने की अनुमति देता है।

अन्दर की ओर दाबें अगला: टैग और अगला: समीक्षा करें. अंत में, दबाएँ उपयोगकर्ता बनाइये, और अंतिम विंडो आपको दिखाएगी एक्सेस कुंजी आईडी और गुप्त पहुँच कुंजी कृपया इस उपयोगकर्ता के लिए इन्हें भविष्य में उपयोग के लिए सुरक्षित रखें।

अब हम Relianoid क्लस्टर सेवा को कॉन्फ़िगर करने के लिए तैयार हैं, इसलिए असाइन किए गए सार्वजनिक आईपी https://1:34.225.30.206, अनुभाग के माध्यम से ZLB444-pro में वेब पैनल पर जाएं सिस्टम > क्लस्टर और उदाहरण के अनुसार फॉर्म भरें:

AWS क्रेडेंशियल: एक्सेस कुंजी और गुप्त कुंजी पिछली पंक्तियों में पहले से ही उत्पन्न मान हैं। क्षेत्र, यहाँ उस क्षेत्र का चयन करें जहाँ आपका Relianoid एप्लिकेशन डिलीवरी नियंत्रक तैनात है।

क्लस्टर कॉन्फ़िगर करें:

स्थानीय आईपी: eth0 का IP और NIC चुनें.
दूरदराज़ के आई. पी: यहां नोड ZLB0-pro में eth2 का आईपी दर्ज करें।
रिमोट नोड पासवर्ड और पासवर्ड की पुष्टि: यहां अन्य नोड में ssh के लिए रूट पासवर्ड दर्ज करें, डिफ़ॉल्ट रूप से ZLB2-pro की इंस्टेंस आईडी।

पर क्लिक करें उत्पन्न करें बटन दबाएं और कुछ सेकंड प्रतीक्षा करें, इस बीच, वह नोड जहां आप कॉन्फ़िगरेशन चलाते हैं, वह ले जाएगा सक्रिय भूमिका (ZLB1-pro) और दूसरा (ZLB2-pro) लेने जा रहा है निष्क्रिय भूमिका.

इस बिंदु पर, Relianoid क्लस्टर AWS में कॉन्फ़िगर किया गया है और यह काम करने के लिए तैयार है, आइए हमारी पहली क्लस्टर लोड-संतुलित सेवा को कॉन्फ़िगर करें।

वेब सेवाओं के लिए सरल L4 लोड संतुलन कॉन्फ़िगर करना #

LSLB > फार्म > फार्म बनाएं निम्नलिखित मापदंडों के साथ.

ध्यान रखें कि प्रयुक्त वर्चुअल आई.पी. 172.31.26.47 यह पहले से कॉन्फ़िगर किया गया वर्चुअल आईपी है और क्लस्टर का एक संसाधन है जो हमेशा से पहुंच योग्य होगा सक्रिय नोड. प्रेस बनाएं और जारी रखने के लिए।

अब नई विंडो में कॉन्फ़िगर करें वैश्विक अनुभाग के रूप में नीचे दिखाया गया है:

और अंत में, अनुभाग को कॉन्फ़िगर करें सेवाएँ के रूप में वर्णित:

उपयोग समय समाप्ति के साथ IP स्थायित्व 60 सेकंड का समय सिर्फ़ तभी जब आपको यह गारंटी देनी हो कि एक ही क्लाइंट IP एक निश्चित समय अवधि के दौरान एक ही बैकएंड से जुड़ा रहेगा। उन्नत स्वास्थ्य जांच को कॉन्फ़िगर करें फार्मगार्डियन. उपयोग चेक_टीसीपी यह सत्यापित करने के लिए एक सरल स्वास्थ्य जांच के रूप में कि प्रत्येक बैकएंड में TCP बैकएंड पोर्ट 80 खुला है। और फिर, बैकएंड सर्वर के आंतरिक IP और पोर्ट जोड़ें जहाँ वास्तविक वेब सेवाएँ चल रही हैं।

अब कनेक्शन का परीक्षण करें लोचदार आईपी http://54.144.190.17/ assigned to the internal IP 172.31.26.47, the connection will pass through the load balancer using the eth0:वीआईपी1 और उपलब्ध बैकएंड में से किसी एक को अग्रेषित कर दिया जाएगा।

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

लोड बैलेंसर में नए इंटरफेस जोड़ना #

संतुलन के उद्देश्य से या जो भी आपको चाहिए, उसके लिए लोड बैलेंसर में अधिक इंटरफेस कॉन्फ़िगर करना संभव है। ऐसा करने के लिए, EC2 इंस्टेंस में नए इंटरफेस जोड़ने के लिए AWS द्वारा बताए गए चरणों का पालन करना उतना ही सरल है। इसके लिए सर्वोत्तम प्रथाओं को बेहतर ढंग से समझने के लिए कृपया AWS द्वारा प्रदान किए गए लेख पर एक नज़र डालें। https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.htmlEC2 इंस्टेंस में नए इंटरफेस जोड़ते समय, Relianoid इन नए इंटरफेस को स्वचालित रूप से पहचान लेगा, इसलिए अब आप इसे अपनी इच्छानुसार कॉन्फ़िगर करने के लिए उपयोग कर सकते हैं।

 

Relianoid के साथ AWS में उन्नत लोड संतुलन और क्लस्टरिंग का आनंद लें!

📄 इस दस्तावेज़ को पीडीएफ प्रारूप में डाउनलोड करें #

    ई - मेल: *

    द्वारा संचालित बेटरडॉक्स