2011-10-06 12 views
7

ऐसा लगता है कि स्टॉक बूटस्ट्रैपिंग प्रक्रिया विंडोज़ की थोड़ी कमी है।विंडोज के लिए क्लाउड-इनिट समकक्ष क्या है?

लिनक्स में क्लाउड-इनिट है जो पैकेज स्थापित करेगा, फ़ाइलों को स्टोर करेगा, और उपयोगकर्ता डेटा से एक बैश स्क्रिप्ट चलाएगा।

विंडोज़ में ec2config है लेकिन सिस्टम "तैयार" होने पर cmd या powerhell स्क्रिप्ट चलाने के लिए वर्तमान में कोई समर्थन नहीं है - जिसका अर्थ है कि सभी प्रारंभिक रीबूट पूर्ण हो गए हैं।

तीसरे पक्ष के विकल्प प्रतीत होते हैं। उदाहरण के लिए राइटस्केल में राइटलिंक एजेंट है जो इस फ़ंक्शन को निष्पादित करता है।

क्या खुले स्रोत विकल्प उपलब्ध हैं? क्या इस सुविधा को Ec2Config में जोड़ने की कोई योजना है? क्या मुझे इसे अपना बनाना है?

क्या मुझे कुछ याद आ रही है?

उत्तर

14

ऐसा लगता है कि EC2Config अमेज़न द्वारा उपलब्ध कराया गया एमिस पर अब the 11-April-2012 updates के रूप में "उपयोगकर्ता डेटा स्क्रिप्ट" का समर्थन करता है।

प्रलेखन अभी तक अपडेट नहीं किया गया है, इसलिए यह कहना मुश्किल है कि यह PowerShell या केवल cmd.exe स्क्रिप्ट का समर्थन करता है या नहीं। मेरे पास posted a question on the AWS forums है और कुछ और विवरण प्राप्त करने के लिए, और जब मैं और जानूं तो यहां अपडेट होगा।

अद्यतन: ऐसा लगता है कि cmd.exe बैच वाक्यविन्यास समर्थित है, जो बदले में PowerShell का आह्वान कर सकता है। एएमआई पर शामिल EC2Config दस्तावेज का एक नया संस्करण है। यह से हवाला देते हुए:

[EC2Config] उदाहरण के लिए निर्दिष्ट उपयोगकर्ता डेटा में पढ़ा जाएगा और उसके बाद जाँच लें कि यह टैग <script> और </script> होते हैं। यदि यह दोनों पाता है तो यह उन दो टैग के बीच की जानकारी लेगा और इसे इस एप्लिकेशन के सेटिंग फ़ोल्डर में स्थित बैच फ़ाइल में सहेज देगा। फिर यह एक उदाहरण की शुरुआत के दौरान बैच फ़ाइल निष्पादित करेगा।

बैच फ़ाइल केवल एक sysprep के बाद एक उदाहरण के पहले लॉन्च पर बनाई और निष्पादित की जाएगी। यदि आप बैच फ़ाइल बनाना और निष्पादित करना चाहते हैं तो फिर से सक्षम करने के लिए Ec2HandleUserdata प्लगइन स्थिति सेट करें।

अद्यतन 2: मेरे व्याख्या से is confirmedShon from the AWS Team

अद्यतन 3: और मई 2012 के एमिस के रूप में, PowerShell <powershell/> टैग का उपयोग समर्थित है।

+0

यदि ओपी सुन रहा है, तो मुझे लगता है कि इस समय इस समय उत्तर को स्वीकार्य उत्तर के रूप में चिह्नित किया जाना चाहिए। – blong

+1

@blong - सहमत हुए –

0

हमें इसे स्वयं बनाना था; हमने इसे एक कस्टम सेवा के साथ किया और अपनी खुद की एएमआई बनाई। ऐसा करने के लिए EC2Config के भीतर वर्तमान में कोई प्रावधान नहीं है।

इससे भी बेहतर, यह निर्धारित करने का कोई आसान तरीका नहीं है कि उदाहरण "तैयार" कब होता है। हमें EC2Config के लॉगफाइल को पूंछ करके इसे करना था।

+0

GitHub के बारे में क्या सिर्फ Ec2Config छोड़ने और एक कस्टम सेवा के साथ बूटस्ट्रैप प्रक्रिया orchestrating? यह Ec2Config की तरह नहीं है सब कुछ करता है। –

+0

दाएं। आपको Ec2Config की आवश्यकता नहीं है; हम अपने बूटस्ट्रैपिंग EXCEPT के लिए बिल्कुल "इसका उपयोग नहीं करते": एकमात्र तरीका हम मानते हैं कि हम निश्चित रूप से उदाहरण को जान सकते हैं कि वास्तव में तैयार है "विंडोज उपयोग करने के लिए तैयार है" Ec2ConfigLog.txt फ़ाइल में। यह एक गड़बड़ समस्या है यदि आप वास्तव में जानना चाहते हैं कि इंस्टेंस सेटअप और रीबूट करने के दौरान कब किया जाता है। – Joe

+1

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

2

मुझे खुद को बनाना था हालांकि यह बहुत आसान था। बस एक सेवा बनाई गई है जो उपयोगकर्ता-डेटा को प्रारंभ करता है और फ़ाइल को पावरहेल स्क्रिप्ट के रूप में निष्पादित करता है।

सेवा शुरू करने के बारे में जानने के मुद्दे को हल करने के लिए मैंने अभी सेवा शुरू करने के प्रकार को "देरी-ऑटो" के रूप में बनाया है और यह समस्या को ठीक करने लग रहा था। इस प्रणाली के बारे में आपको क्या करना है जो आपके लिए काम कर सकता है या नहीं, हालांकि मेरे मामले में मुझे बस इतना करना था।

1

मैंने एक नया कोडप्लेक्स प्रोजेक्ट जोड़ा जो पहले से ही इस उपकरण को विंडोज़ के लिए बनाया गया है। कुछ प्रतिक्रिया के लिए तत्पर हैं।

http://cloudinitnet.codeplex.com/

+0

मैं इसका उपयोग कर रहा हूं, रिपोर्टिंग मुद्दों, आदि - यह एक * महान * उपकरण है। –

+0

मैं इस उपकरण में विशेष रूप से व्यक्तिगत परियोजनाओं के लिए संक्रमण करना चाहता हूं। बहुत दिलचस्प लग रहा है। –

+0

यदि आपके कोई प्रश्न हैं तो आप इस साइट (मुझे लगता है) या कोडप्लेक्स साइट पर मुझसे संपर्क कर सकते हैं और यदि आपके कोई प्रश्न हैं तो मैं आपकी मदद करने के लिए तैयार हूं। – bwight

0

मुझे हाल ही में nssm (nssm.cc पर) मिला है जो आसानी से एक सेवा के रूप में एक साधारण बैच फ़ाइल (या बहुत कुछ और) लपेटता है। सेवा प्रारंभिक अनुक्रम में किसी विशेष बिंदु पर बैच फ़ाइल को चलाने के लिए मजबूर करने के लिए आप हमें sc config servic1 निर्भर = service0 कर सकते हैं। उदाहरण के लिए, मैं डी पर एक फ़ोल्डर बनाने के लिए ex2config और sql एक्सप्रेस के बीच इसका उपयोग कर रहा हूं। आपको नेटवर्क सेवाओं के रूप में चलाने के लिए सेवाओं के टूल का उपयोग करना होगा और regedit का उपयोग करके अनदेखा करने के लिए AppExit प्रॉपर्टी को बदलना होगा, लेकिन एक बार जब आप इसे सब कुछ प्राप्त कर लेंगे तो यह काम करता है।

0

क्लाउडबेस.आईट ने एक पाइथन विंडोज सेवा खोल दी है जिसे वे क्लाउडबेस-इनिट कहते हैं जो कॉन्फ़िगरड्राइव और HTTP डेटा स्रोतों का पालन करता है। http://www.cloudbase.it/cloud-init-for-windows-instances/

यहाँ https://github.com/stackforge/cloudbase-init/

संबंधित मुद्दे