आप EC2 पर विफलता को स्वचालित कैसे करते हैं?


13

अपने स्वयं के समूहों का प्रबंधन करने वाले लोगों में से (यानी अमेज़ॅन ऑटोस्केल, राइट्सकाले, स्केलर, आदि के लिए भुगतान / उपयोग नहीं करना), आप EC2 पर अपने उदाहरणों को कैसे प्रबंधित कर रहे हैं और हैंडलिंग (उदा) विफलता? मुझे आश्चर्य है कि अगर ज्यादातर लोग EC2 एपीआई के खिलाफ स्क्रिप्ट के अपने स्वयं के नाव लोड लिखना समाप्त कर देते हैं, जैसा कि मुझे संदेह है।

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

हर बार जब हमारी स्क्रिप्ट्स को हैक किया जाता है, तो मुझे लगता है कि इन मुद्दों से निपटने के लिए पहले से ही कुछ ओपन-सोर्स टूल होने चाहिए, और जिनके पास (कहने) स्केलर की बाधाएं नहीं हैं, लेकिन मैं हमेशा Google से वापस आता हूं खाली हाथ। (स्केलर जैसी चीजें सॉफ़्टवेयर के समर्थित सेट / संस्करणों / कॉन्फ़िगरेशन में बहुत सीमित हैं, और इन सेटअपों में हेरफेर करने के लिए विशेष और IMO बोझिल तरीके हैं।)

इसके अलावा, लिनक्स-हा / पेसमेकर इकोसिस्टम (हार्टबीट, लॅक्कार्ड, आदि) ऐसा लगता है कि यह वास्तव में ईसी 2 के अनुकूल नहीं है । (लेकिन फिर मैंने यह पाया - हालांकि मुझे यकीन नहीं है कि यह वास्तव में एक उच्च गुणवत्ता वाला समाधान है)।

जवाबों:


5

ठीक है, मेरा मतलब केवल स्पष्ट बताना नहीं है, लेकिन सामान्य विचार इस जटिलता को अमेज़ॅन द्वारा प्रबंधित सेवाओं में धकेलना है।

इस तरह से, आप अत्यधिक उपलब्ध लोड संतुलन प्रदान करने के लिए Amazon Elastic Load Balancing (ELB) का उपयोग करेंगे। पीछे के छोर पर, आप स्टोरेज के लिए Amazon Relational Database Service (होस्टेड MySQL), SimpleDB और S3 का उपयोग करते हैं। इन सभी को अमेज़न द्वारा प्रबंधित किया जाता है, और इसमें किसी प्रकार की उच्च उपलब्धता / विफलता का प्रबंधन होता है।

यह आमतौर पर आपके वेब एप्लिकेशन सर्वरों को छोड़ देता है, और आपके द्वारा उपयोग किए जा सकने वाले किसी भी सामान्य सर्वर प्रकार (रेंडरिंग सर्वर, स्वयं स्थापित NoSQL डेटा स्टोर आदि)।

WebB सर्वर आमतौर पर ELB में निर्मित स्वास्थ्य जांच के साथ पर्याप्त रूप से नियंत्रित होते हैं। जब एक वेबएप सर्वर डाउन होता है, तो आप एक छोटे से प्रदर्शन में गिरावट को स्वीकार कर सकते हैं, या लगातार +1 सर्वर को जरूरत से ज्यादा प्रोविजन कर सकते हैं। या यदि आपका कॉन्फिगर सिंपल है, तो जब कोई वेबएप सर्वर फेल हो जाता है, तो क्लाउडवॉच के साथ मिलकर ईएलबी आपके लिए एक नया वेबएप सर्वर खुद ही बना सकता है।

आपके अपने कस्टम सर्वर एक और मामला हैं। इन के लिए यह सच है, आप अपने दम पर हैं, और कस्टम स्क्रिप्ट / ओपन सोर्स हा टूल्स के साथ कुछ अंतर्निहित एप्लिकेशन विधियों, या डक्ट टेप के साथ करने की आवश्यकता होगी।

राइट्सकाले का समाधान खरीदना बहुत महंगा हो सकता है। लेकिन कम महंगे अमेज़ॅन टूल जैसे ईएलबी, बेसिक क्लाउडवेच अलर्ट (अब 5 मिनट के रिज़ॉल्यूशन के लिए मुफ्त), या ऑटोसेले इसके लायक हैं यदि आपको उच्च उपलब्धता की आवश्यकता है।


3
हम AWS सुविधा सेट के साथ-साथ उनकी सीमाओं से परिचित हैं। अपना पहला उदाहरण लेने के लिए, ELB को CNAME RRs के माध्यम से एक्सेस किया जाता है, जो SOA RRs के साथ सह-अस्तित्व में नहीं हो सकता है, और इस प्रकार TLDs की सेवा नहीं कर सकता है, साथ ही स्थैतिक आईपी के माध्यम से प्रवेश नहीं किया जा सकता है - मंचों में व्यापक रूप से प्रतिध्वनित होती है। अपना दूसरा उदाहरण लेने के लिए, हां, RDS MySQL है, जो कि विशाल सीमा है। हां, हम अपनी मशीन प्रकारों के फेलओवर को स्वचालित करने में रुचि रखते हैं। हां, निजी क्लाउड परिनियोजन हमारे लिए प्रासंगिक है। हां, मैं सिर्फ उत्सुक हूं। आदि
यांग

2
@ यंग: आपको अपने प्रश्न को अधिक सावधानी से लिखना चाहिए, और मुझे अपना उत्तर लिखने की परेशानी से बचाया। एचए के लिए कोई एक आकार-फिट-सभी समाधान नहीं है; यह प्रश्न में सेवा पर निर्भर करता है कि राज्य कैसे रखा जाता है, प्रोटोकॉल विफलता गुण आदि, आप EC2 पर विशिष्ट आईपी स्तर हा उपकरण का उपयोग करने में सीमाओं / कठिनाइयों के बारे में सही हैं। लेकिन कोई एक उत्तर नहीं है जो सार्वभौमिक रूप से "एचएएस पर एडब्ल्यूएस" पर लागू होता है।
जेस्पर एम

0

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


0

आपके द्वारा वर्णित समस्याएं (हा, कस्टम सर्वर की निगरानी, ​​'डक्ट-टैपिंग' सेवाएं) आमतौर पर एक Paa प्रदाता द्वारा नियंत्रित की जाती हैं। राइट्सकाले और स्केलर पहले से ही एक पिछले उत्तर में उल्लिखित थे और अतिरिक्त अच्छे विकल्प हैं (कुछ पा के विकल्प के लिए यहां देखें:

/programming/9542784/looking-for-paas-providers-recommendations )

आपको इस बात पर विचार करना चाहिए कि आपको कौन सी प्रदाता सबसे उपयुक्त सुविधा देता है।

कारण बताओ नोटिस: मैं क्लाउड के लिए काम करता हूं, एक ओपन-सोर्स Paa प्रदाता।


0

मैंने हाल ही में हमारे इंजीनियरिंग ब्लॉग पर एक पोस्ट लिखा है कि किसी भी तरह के ऐप के लिए स्वचालित विफलता प्राप्त करने के लिए ऑटो स्केलिंग के साथ ईएलबी का उपयोग कैसे करें। यह शामिल है कि कैसे ईएलबी स्वास्थ्य जांच का उपयोग आपके ऐप की स्थिति को पिंग करने और ऑटो स्केलिंग क्रियाओं को ट्रिगर करने के लिए किया जा सकता है।


0

आप दोनों सर्वरों पर दिल की धड़कन स्थापित करते हैं। आप एक लोचदार आईपी को 'सक्रिय' सर्वर से जोड़ते हैं। आप लोचदार आईपी प्राप्त करने के लिए एपीआई अनुरोध शुरू करके विफलता को करने के लिए एक स्क्रिप्ट कॉन्फ़िगर करते हैं जैसे ही 'स्टैंड-बाय' सर्वर को लोचदार आईपी मिला ( लगभग 30-60 सेकंड लगते हैं) यह मास्टर / सक्रिय हो सकता है।

मेरे पास यहां उपलब्ध कराने की बारीकियां नहीं हैं।


-1

अमेज़ॅन पहले से ही इलास्टिक लोड बैलेंसिंग प्रदान करता है ... पहिया को क्यों मजबूत करें?


3
ईएलबी की विभिन्न सीमाओं के कारण? क्योंकि इसमें CNAME की आवश्यकता होती है और यह foo.com और www.foo.com दोनों की सेवा नहीं दे सकता है? क्योंकि मैं कस्टम शेड्यूलिंग तर्क को लागू करना चाहता हूं? क्योंकि मैं बस उत्सुक हूं कि आप खुद को अविश्वसनीय वीएम के समूह में ईएलबी कैसे लागू करेंगे? अपना चयन ले लो।
यांग

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