Amazon Machine Images कैसे काम करती हैं?


9

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

जवाबों:


10

अपने सरलतम रूप में, एक एएमआई एक आभासी मशीन का वर्णन है - वर्चुअलाइजेशन का प्रकार, वास्तुकला (32/64 बिट), कर्नेल और रूट डिवाइस। अमेज़न के शब्दों में:

एक एएमआई एक टेम्प्लेट है जिसमें एक सॉफ्टवेयर कॉन्फ़िगरेशन (ऑपरेटिंग सिस्टम, एप्लिकेशन सर्वर और एप्लिकेशन) शामिल हैं जिन्हें आप अमेज़ॅन के सिद्ध कंप्यूटिंग वातावरण पर चला सकते हैं।

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

प्रत्येक एएमआई में एक पहचानकर्ता होता है (उदाहरण के लिए ami-a1b2c3d4), और उस एएमआई का विन्यास निर्माण के बाद नहीं बदला जा सकता है। (हालांकि, लॉन्च के समय या कुछ मामलों में, उदाहरण के लॉन्च होने के बाद भी आप कई सेटिंग्स को ओवरराइड कर सकते हैं)।

रूट वॉल्यूम के संदर्भ में, एएमआई में एक मौजूदा वॉल्यूम (उदाहरण के लिए वे ईबीएस समर्थित इंस्टेंसेस के लिए एक स्नैपशॉट या एस 3 समर्थित इंस्टेंस के मामले में छवि भागों के संदर्भ में) होते हैं।

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

एक छवि इसे एक ब्लॉक डिवाइस मैपिंग के रूप में संदर्भित करती है - यह डिवाइस (जैसे / देव / sda1) और डेटा के स्रोत (ephemeral (और यदि प्रासंगिक हो तो S3 भागों) या ebs- स्नैपशॉट) को निर्दिष्ट करती है। चूँकि S3 भागों पर हस्ताक्षर किए गए हैं, और ebs- स्नैपशॉट को परिवर्तित नहीं किया जा सकता है (केवल हटा दिया गया है), AMI से एक उदाहरण लॉन्च करना (इसकी सेटिंग्स को ओवरराइड किए बिना) हमेशा एक ही सॉफ्टवेयर सेटअप के साथ एक उदाहरण में परिणाम होना चाहिए। (ध्यान दें कि उपयोगकर्ता-डेटा, या अलग-अलग ब्लॉक डिवाइस मैपिंग (उदाहरण के लिए माइक्रो इंस्टेंस का कोई अल्पकालिक भंडारण नहीं है, जबकि अन्य उदाहरण प्रकार करते हैं) के कारण एक ही एएमआई से लॉन्च होने वाले इंस्टेंस के लिए यह अभी भी संभव है। यहां, संलग्न वॉल्यूम को एएमआई से अलग संग्रहीत किया जाता है, लेकिन एएमआई द्वारा इस तरह से संदर्भ दिया जाता है कि वॉल्यूम को बदला नहीं जा सकता।

एएमआई से एक उदाहरण लॉन्च करने से पहले, आप ब्लॉक डिवाइस मैपिंग को ओवरराइड कर सकते हैं (उदाहरण के लिए अतिरिक्त ईबीएस वॉल्यूम, या एक और अल्पकालिक मात्रा को जोड़ने के लिए यदि इसका समर्थन करता है)। ईबीएस वॉल्यूम के मामले में, उदाहरण लॉन्च होने के बाद, आप रूट वॉल्यूम को अलग कर सकते हैं और पूरी तरह से एक अलग ईबीएस वॉल्यूम संलग्न कर सकते हैं।

इसलिए, अपने प्रश्नों का संक्षेप में उत्तर दें: क्या उदाहरण के लिए एक लिंक है, या यह संग्रहीत है और कभी नहीं बदला गया। यह संग्रहीत है और कभी नहीं बदला है।

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


तो वे उदाहरण के EBS के संदर्भ हैं, इसलिए यदि AMI निर्माण के बाद EBS राज्य बदलता है, तो AMI राज्य भी बदल जाएगा?
वाइज़

नहीं, वे ईबीएस स्नैपशॉट्स को संदर्भित करते हैं, ईबीएस स्वयं को नहीं। EBS स्नैपशॉट बदल नहीं सकते, भले ही EBS वॉल्यूम बदल जाए। यदि आप किसी दिए गए एएमआई को लॉन्च करते हैं, तो यह ईबीएस स्नैपशॉट को संदर्भित करेगा। यदि आप चाहते हैं, तो आप उदाहरण लॉन्च करते समय उपयोग करने के लिए एक अलग ईबीएस स्नैपशॉट निर्दिष्ट कर सकते हैं, या आप इंस्टेंस लॉन्च होने के बाद उपयोग किए गए ईबीएस वॉल्यूम को बदल सकते हैं।
साइबरएक्स 86

3

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

यदि आप एक उदाहरण से एएमआई बनाते हैं, तो आप मूल रूप से उस उदाहरण के रूट फाइल सिस्टम की एक प्रति बना रहे हैं, जिसे बाद में नए उदाहरण बनाने के लिए उपयोग किया जा सकता है।

यहाँ मेरा उत्तर भी मदद कर सकता है: https://stackoverflow.com/a/7895489/111286

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