अमेज़ॅन EC2 विंडोज इंस्टेंस के तेजी से लॉन्च


16

मैं एक वेब सेवा पर काम कर रहा हूं, जिसे EC2 पर होस्ट किया गया है और लोड के आधार पर अलग-अलग संख्या में चलने की आवश्यकता है। हमारे पास मूल सेवा है और चल रही है, लेकिन जिन चीजों से हम जूझ रहे हैं उनमें से एक है विंडोज इंस्टेंस को प्रोविजन करने और लॉन्च करने में लगने वाला समय (हम कुछ तीसरे प्राइ टूल का उपयोग कर रहे हैं जो केवल विंडोज पर चलते हैं)। मैंने देखा है कि यह कहीं भी 10 मिनट से लेकर 45 मिनट तक बहुत चौंकाता है।

क्या किसी के पास EC2 इंस्टेंस के लॉन्च की गति बढ़ाने के बारे में कोई सुझाव है? चूंकि लिनक्स एएमआई की तुलना में विंडोज सर्वर के लिए एएमआई बड़े हैं, उदाहरण के लिए, मैं सोच रहा हूं कि क्या एक चीज यह सुनिश्चित करने के लिए हो सकती है कि एएमआई युक्त एस 3 बाल्टी उसी क्षेत्र में स्थित है जहां उदाहरण लॉन्च किया गया है, जो संभवत: नए उदाहरण को तेजी से व्यवस्थित करना।

जवाबों:


8

मैं एक वेनिला विंडोज 2003 सर्वर की पिछली रात 3 उदाहरण स्थापित किया। पहले दो को लगभग 45 मिनट लगे, तीसरा, लगभग एक घंटे बाद, तैयार होने से पहले पूरे 2 घंटे लगे!

उन सभी में कुछ भी नहीं था, बिना किसी S3 उपयोग के। मुझे संदेह है कि समय के साथ तैनाती की गति में सुधार करने के लिए अमेज़ॅन की प्रतीक्षा करने के अलावा उस मौलिक कदम को गति देने का एक तरीका है। इसलिए, मैं यह निष्कर्ष निकालूंगा कि एक निश्चित देरी की उम्मीद की जानी है और कर्ट की सलाह अच्छी है, जिसे रिजर्व में 1 या 2 रखा जाना है।

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

एक बार जब आप प्रावधान करने के लिए अधिकतम समय निर्धारित कर लेते हैं, तो लोड / उपयोग से कई मिनट आगे रहते हैं।


सुझाव के लिए धन्यवाद - 2 घंटे बहुत चरम है। इस प्रश्न को पूछने के बाद मैंने एक बात देखी है कि EC2 कभी-कभी स्टार्टअप के तुरंत बाद विंडोज इंस्टेंसेस को रिबूट करता है। मुझे नहीं पता कि यह क्यों है (मैंने एक पैटर्न नहीं निकाला है कि क्यों कुछ उदाहरणों को रिबूट किया जाता है जबकि अन्य नहीं), लेकिन यह स्टार्टअप समय में 5 या 10 मिनट जोड़ सकता है।
गारेथ_बोल्स

2
@ गैरेथ - ऐसा इसलिए है क्योंकि मशीन का नेटवर्क पर एक और नाम है (यानी यह एक छवि है)। EC2ConfigService इसका पता लगाता है, एक नया नाम प्रदान करता है और इसे रिबूट करता है। आप स्थापित ec2config कॉन्फ़िगरेशन उपयोग के साथ अक्षम कर सकते हैं।
कीरेन जॉनस्टोन

20

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

Windows कॉन्फ़िगरेशन सेवा: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

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

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

अनिवार्य रूप से अपनी विंडोज ईसी 2 कॉन्फिगरेशन सेवा को कस्टमाइज़ करना, आपकी एएमआई और संभावित रूप से ईबीएस बूट वॉल्यूम का उपयोग करके प्रारंभ समय को लगभग 5 मिनट तक कम करना चाहिए। आप अपने ऐप के आधार पर एक ec2 उदाहरण के स्टार्टअप पर चलने वाले sysprep से बच सकते हैं, खासकर विकास के उद्देश्यों के लिए। स्टार्टअप पर होस्टनाम परिवर्तन से बचने वाली एक नॉन-सस्पेन्स्ड m1.large छवि लगभग 2 मिनट में शुरू हो सकती है जो बिल्कुल भी खराब नहीं है।

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


आंतरिक होस्ट का नाम एक महान टिप है - धन्यवाद! मैं EBS रूट वॉल्यूम भी आज़माना चाहता हूं, कम से कम नहीं क्योंकि यह बैकअप को बहुत आसान बना देगा। मुझे लगता है कि मुझे 10 मिनट के औसत स्टार्टअप समय का अनुमान लगाना होगा; यह अपने आप में ऐसी समस्या नहीं है, लेकिन स्टार्टअप समय की उच्च परिवर्तनशीलता अभी भी एक वास्तविक दर्द है।
gareth_bowles

इसे AWS डॉक्स में संदर्भित किया जाना चाहिए।
पीटर मूस

4

एक न्यूनतम प्रणाली है, जितना संभव हो उतना ईबीएस में रखें जिससे मदद मिल सके? या शायद एक अपाचे शैली दृष्टिकोण लेते हैं और रिजर्व में एक या दो भागते हैं?


4

हम इस सटीक समस्या में भाग गए हैं, लेकिन एक बहुत ही गंभीर तरीके से - हमारा नया स्टार्टअप अमेज़ॅन ईसी 2 को एक वर्चुअल लैब वातावरण (बहु-उपयोगकर्ता, नीतियों, साझाकरण आदि) में विस्तारित करता है और इसलिए हमें शुरुआत के समय को तेज करने की आवश्यकता है विंडोज मशीनें। हमारा सबसे बड़ा निर्णय हमारे आवेदन में केवल ईबीएस आधारित संस्करणों का समर्थन करना था, क्योंकि वे केवल वही हैं जो 5-10 मिनट में शुरू हो सकते हैं। हमारे परीक्षण में हमने उदाहरण के लिए स्टार्टअप स्टोर को व्यापक रूप से भिन्न करने और कभी-कभी अत्यधिक मात्रा में लेने के लिए पाया, जिसने उन्हें हमारे लिए बेकार बना दिया।

EC2 पर साइमन @ LabSlice वर्चुअल लैब प्रबंधन

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