नए स्पॉट इंस्टेंस पर ईबीएस-वॉल्यूम को ऑटो-अटैच करें?


14

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

मेरा सवाल यह है कि एक बार कीमत कम होने के बाद मैं नए स्पॉट उदाहरण पर स्वचालित रूप से उसी ईबीएस वॉल्यूम को कैसे माउंट कर सकता हूं, क्योंकि इसमें मेरी कोई भी इनसाइट स्क्रिप्ट नहीं होगी जिसे मैंने पहली बार रूट वॉल्यूम पर लोड किया होगा?

क्या मुझे एक कस्टम एएमआई बनाना है, या इसे प्राप्त करने का कोई और तरीका है?

जवाबों:


11

यदि आप चाहते हैं कि उदाहरण हर बार एक निश्चित प्रारंभिक बिंदु के साथ शुरू हो जाए, तो आप यह कर सकते हैं:

  1. अपनी खुद की एएमआई बनाएं और हर बार उदाहरण के रूप में चलाएं, या

  2. एक उपयोगकर्ता-डेटा स्क्रिप्ट निर्दिष्ट करें जो आपके विनिर्देशों के लिए सॉफ़्टवेयर को स्थापित और कॉन्फ़िगर करता है हर बार एक नया उदाहरण एक मानक आधार AMI से शुरू होता है।

यदि आपको उदाहरण के रन के बीच स्थिति रखने की आवश्यकता है, तो आपको उदाहरण / एएमआई के बाहर डेटा को सहेजने की आवश्यकता होगी। उदाहरण के लिए:

  1. डेटा को S3, SimpleDB, DynamoDB, RDS, आदि पर अद्यतित रखा जा सकता है।

  2. आप एक स्थायी ईबीएस मात्रा को नामित कर सकते हैं जो उदाहरण गतिशील रूप से स्टार्टअप पर संलग्न और माउंट करता है। यह एक उपयोगकर्ता-डेटा स्क्रिप्ट के साथ किया जा सकता है।


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

1
जब आप स्पॉट अनुरोध बनाते हैं, तो आप उपयोगकर्ता-डेटा निर्दिष्ट करते हैं जिसे प्रत्येक नए स्पॉट उदाहरण में पास किया जाना चाहिए।
एरिक हैमंड

आह मुझे एहसास नहीं था मेघ-इनिट लगाकर #! उपयोगकर्ता-डेटा में पहली बार एक स्क्रिप्ट निष्पादित। धन्यवाद
जेफ

3
@Jeff: हाँ, मैं का आविष्कार किया है कि और लोकप्रिय एमिस को अपनाया है यह :-) alestic.com/2009/06/ec2-user-data-scripts
एरिक हैमंड

इस लाइन के साथ, क्या यह संभव है कि स्पॉट इंसटेंस किसी विशेष ईबीएस वॉल्यूम को रूट डिस्क के रूप में शुरू करते समय माउंट करे?
डेरेक मॉरिसन

5

की जाँच करें EC2-स्पौटर परियोजना GitHub पर। यह आपके द्वारा वर्णित समस्या को हल करने के लिए बनाया गया था।

@ Mcenzm के उत्तर में वर्णित मुद्दे (# 1 thru # 4) वास्तविक हैं, और ec2-spotter में सही ढंग से संभाला जाता है।


डननो जो इसे नीचा दिखाता है, लेकिन इसका मतलब है कि मैं इसे कोड करने की कोशिश में समय बर्बाद करना बंद कर सकता हूं! इसे प्यार करना।
जेरेमी

3

मैं कुछ समय से यह कोशिश कर रहा हूं, और अभी भी EC2 स्पॉट इंस्टेंसेस और संलग्न भंडारण के साथ कई समस्याएं हैं।

  1. आप जिस वॉल्यूम को संलग्न करना चाहते हैं वह उदाहरण के रूप में उसी ज़ोन में नहीं हो सकता है? ज़ोन लॉन्च के समय निर्दिष्ट नहीं किए जा सकते।
  2. आंतरिक रूप से init स्क्रिप्ट के साथ संलग्न करना काम करेगा, लेकिन थोड़ा अतुल्यकालिक है इसलिए आपको इसके लिए परीक्षण करने या sleep 10कहने की आवश्यकता होगी ।
  3. मुझे समझ नहीं आ रहा है कि AWS कंसोल प्राथमिक ब्लॉक डिवाइस के रूप में "विभाजन" क्यों दिखाता है। शायद हमें एक और विभाजन पर खिड़कियों की छवियों को समुद्री डाकू करने से इनकार करने के लिए? (sda1 के बजाय sda)। विभाजन तालिका खोजने का सौभाग्य।

    यहाँ छवि विवरण दर्ज करें

  4. वर्तमान में CLI का उपयोग बाहरी नियंत्रण बिंदु से जोड़ना मुश्किल है, जो कि संस्करण के लिए स्नैपशॉट का उपयोग करना कठिन बनाता है।

  5. इसलिए सामान्य तौर पर मैं बैक-अप ... tar.bz2 को एक अन्य बॉक्स में देता हूं, और फिर स्टार्टअप पर "कार्य क्षेत्र" को आबाद कर सकता हूं। यह केवल डेटा के छोटे संस्करणों के लिए उपयोगी है, इसलिए दोनों संस्करणों के साथ एक नई अमी को आधार बनाना एक अच्छा विचार है। स्पॉट इंस्टेंस वास्तव में "वर्क यूनिट" या "रिस्टेबल" काम के लिए बहुत अच्छे हैं, इसलिए सर्वर से काम लाने की अवधारणा अच्छी तरह से स्थापित है। यह देखते हुए कि आप एक लॉन्च के लिए चरम में 9 मिनट इंतजार कर रहे हैं, आप अपने (जितना संभव हो उतना छोटा) डिस्क को स्वरूपित करने का मन नहीं कर सकते।

    1. ईबीएस अभी भी बहुत परतदार है और आपको "अनुकूलित" के लिए अतिरिक्त भुगतान करने की आवश्यकता है। यह अभी भी 90 के दशक में अपने पूर्ण किए गए कार्य को अपलोड करने की कोशिश से अधिक तेज़ है, जब उदाहरण "मूल्य बाहर" है।

    2. मुझे संदेह है कि यह किसी भी "लोचदार फ़ाइल" की पेशकश के साथ बदल जाएगा।


1
1. आप सबनेट को निर्दिष्ट करते हैं जो एक AZ ज़ोन से बंधा होता है। 2. प्रतीक्षा / देव / xvdx प्रकट होने तक आसान है। 3. यह कैसे प्रासंगिक है?
मॉर्गन क्रिस्टियनसन

0

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

https://aws.amazon.com/about-aws/whats-new/2020/01/amazon-ec2-spot-instances-stopped-started-similar-to-on-demand-instances/

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