2012-12-10 20 views
7

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

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

क्या अमेज़ॅन ec2tools के साथ कमांड लाइन से ऐसा करने का कोई तरीका है जिस तरह से यह ec2-run-instances कमांड के साथ किया जा सकता है? असल में मैं एक स्क्रिप्ट पास करने में सक्षम होना चाहता हूं जो रूट के रूप में चलाएगा जैसे कि इसे rc.local या इसी तरह से कहा गया था।

उत्तर

0

अफसोस की बात यह है कि जवाब यह है कि वर्तमान में ऐसा करने के लिए संभव नहीं है जो मैंने पूछा है।

0

क्या आपने क्लाउड गठन टेम्पलेट्स को देखा है? http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/Welcome.html

मुझे लगता है कि उदाहरण के साथ आपकी स्क्रिप्ट चलाने के लिए यह सीधा होगा। मैंने एडब्ल्यूएस पर शेयरपॉइंट सर्वर फार्म स्थापित करने और सीएफ स्क्रिप्ट की जांच के लिए ऐसा किया। http://aws.amazon.com/articles/9982940049271604

मैं इस विशेष परिदृश्य का परीक्षण नहीं किया है, लेकिन मेरा मानना ​​है कि यह आवश्यक समर्थन

2
  1. आपको API उपकरण की मदद से यह कर सकते हैं देना चाहिए। संपत्ति के लिए ec2-modify-instance-attribute कमांड की जांच करें। enter image description here

  2. वैकल्पिक रूप से, आप हमेशा एक कमांड या स्क्रिप्ट ssh के माध्यम से पिछले तर्क के रूप में चला सकते हैं::

    ssh [[email protected]]hostname [command]

  3. इसके अलावा, एडब्ल्यूएस कंसोल आप बंद कर दिया उदाहरण पर एक ही बात करने की अनुमति देता

+0

यहां मुद्दा यह है कि ऐसा लगता है कि स्क्रिप्ट है उपयोगकर्ता डेटा क्षेत्र में रखा गया ** ** ** चलाया जाता है जब एक एएमआई से पहली बार बनाया जा रहा है, whic एच संभावना है कि ec2-start-instances कमांड में कोई उपयोगकर्ता-डेटा पैरामीटर क्यों नहीं है, भले ही यह ec2-run-instances कमांड में मौजूद है।एसएसएच विधि निश्चित रूप से व्यवहार्य है, लेकिन यह ec2tools के साथ ऐसा करने में सक्षम होने के बारे में सवाल का जवाब नहीं देती है और इसे प्रारंभिक उदाहरण पर किसी खाते के लिए प्रमाणीकरण की आवश्यकता होगी, हालांकि मुझे लगता है कि यह कोई बड़ा सौदा नहीं है क्योंकि हम हैं कुंजी फाइलों का उपयोग कर। –

+0

मैंने अभी सरल उपयोगकर्ता डेटा टेस्ट पूरा कर लिया है और देख सकता है कि इसे रीबूट या स्टॉप/स्टार्ट के बाद निष्पादित नहीं किया गया है। यह मुझे अजीब लग रहा है कि इसे बदलना संभव है, लेकिन इसे निष्पादित नहीं किया जाएगा। मैं इसके बारे में अमेज़ॅन से संपर्क करूंगा। बीटीडब्ल्यू, इस पृष्ठ पर एक नज़र डालें - यह आपके लिए भी दिलचस्प हो सकता है: https://help.ubuntu.com/community/CloudInit –

+0

धन्यवाद। इसकी प्रशंसा करना। –

0

आप बंद करो/here वर्णित के रूप में AWS Command Line Interface का उपयोग कर अमेज़न EC2 उदाहरण की कार्यक्षमता को पुनरारंभ करने के लिए विचार कर सकते हैं।

लचीला लोड बैलेंसर

aws ec2 stop-instances --instance-ids i-1a2b3c4d 
aws ec2 start-instances --instance-ids i-1a2b3c4d 

लचीला लोड बैलेंसर के साथ Autoscaling

aws elb deregister-instances-from-load-balancer --load-balancer-name elb-name --instances i-12ab34cd 
aws elb register-instances-from-load-balancer --load-balancer-name elb-name --instances i-12ab34cd 

Autoscaling साथ लचीला लोड बैलेंसर के बिना बिना

aws autoscaling update-auto-scaling-group --auto-scaling-group-name "asg-name" --launch-configuration-name "launch-config-name" --min-size 0 --max-size 0 
aws autoscaling update-auto-scaling-group --auto-scaling-group-name "asg-name" --launch-configuration-name "launch-config-name" --min-size 1 --max-size 1