AWS एक स्नैपशॉट और एएमआई के बीच अंतर


107

तो मुझे क्या काम करने में परेशानी हो रही है, विशेष रूप से इन दोनों के बीच अंतर है।

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

जवाबों:


70

दो प्रकार के एएमआई (और इसी उदाहरण) हैं:

  1. उदाहरण-स्टोर (कभी-कभी S3- आधारित कहा जाता है)। ये कम आम हैं और मैं इन्हें शुरुआती लोगों के लिए नहीं सुझाता। एक इंस्टा-स्टोर AMI रूट इंस्टॉलेशन-स्टोर वॉल्यूम और कुछ मेटाडेटा की एक प्रति है, सभी एक विशेष प्रारूप में S3 बाल्टी में सहेजे गए हैं

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

आप ईबीएस बूट वॉल्यूम का स्नैपशॉट ले सकते हैं और इसे उपयुक्त मेटाडेटा के साथ पंजीकृत करके ईबीएस बूट एएमआई में बदल सकते हैं। इसका पेचीदा हिस्सा सही AKI आईडी (कर्नेल) निर्दिष्ट कर रहा है ताकि यह सही ढंग से बूट हो।


धन्यवाद एरिक, मैंने एक एएमआई छवि का समर्थन किया है, और मेरे पास इसे लॉन्च करने और पंजीकृत करने का विकल्प है? मैं उलझन में हूँ कि यहाँ क्या अंतर है ...
मेलबर्न

मुझे नहीं पता कि आप "एएमआई छवि का समर्थन करें" से क्या मतलब है।
एरिक हैमोंड

8
जब आप "एएमआई बनाएँ" पर क्लिक करते हैं तो ईसी 2 उस उदाहरण के ईबीएस वॉल्यूम का ईबीएस स्नैपशॉट बनाता है और इसे एएमआई के रूप में पंजीकृत करता है। आप नए उदाहरण लॉन्च कर सकते हैं जो निर्दिष्ट कर सकते हैं कि एएमआई शुरुआती बिंदु है। आप ईबीएस स्नैपशॉट के नए संस्करणों को भी बना सकते हैं यदि आप बस एक नया उदाहरण चलाए बिना उस पर फ़ाइलों को देखना चाहते थे।
एरिक हैमंड

6
वैकल्पिक रूप से, आप स्वयं ईबीएस वॉल्यूम का ईबीएस स्नैपशॉट बना सकते हैं, और फिर बाद में उस स्नैपशॉट को एएमआई के रूप में पंजीकृत कर सकते हैं। यह एएमआई बनाने के लिए थोड़ा अधिक कठिन तरीका है क्योंकि आपको सेट करने के लिए उपयुक्त एएमआई पंजीकरण विशेषताओं को जानना आवश्यक है। "एएमआई बनाएं" यह सब आपके लिए करता है।
एरिक हैमंड

1
@ cosbor11 आप AMI के लिए स्नैपशॉट नहीं हटा सकते हैं।
एरिक हैमंड

24

मुख्य अंतर को संदर्भित सेवा के प्रकार के बीच है। एक स्नैपशॉट एक ईबीएस मात्रा का है जहां आप एक निश्चित समय में एक ही डेटा के साथ राज्य को बचाने और रीबूट करने में सक्षम हैं।

एक एएमआई समान है, लेकिन ईसी 2 के लिए इसका उदाहरण खुद है। आप एक गैर ईबीएस समर्थित उदाहरण का स्नैपशॉट नहीं ले सकते हैं, लेकिन आप एक का एएमआई (सिस्टम इमेज) बना सकते हैं।

आम तौर पर मैं डेटाबेस वॉल्यूम के लिए बैकअप समाधान के रूप में ईबीएस स्नैपशॉट का उपयोग करता हूं और उदाहरण कॉन्फ़िगरेशन को बचाने के लिए मैं एएमआई का उपयोग करता हूं


1
क्या होगा यदि मेरे वॉल्यूम में मेरे डेटाबेस के साथ-साथ मेरे इंस्टेंस कॉन्फ़िगरेशन भी हों? एएमआई क्या बचाता है कि एक ईबीएस स्नैपशॉट (और इसके विपरीत) नहीं करता है? साभार
मेलबर्न

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

16

एक स्नैपशॉट का उपयोग करके एक एएमआई बनाया जा सकता है। उदाहरण के लिए, एकल "स्नैपशॉट" का उपयोग करके आप कई एएमआई बना सकते हैं, एक ही स्नैपशॉट का उपयोग करके एक पीवी और एक एचवीएम एएमआई कह सकते हैं।

तो, स्नैपशॉट में सिस्टम / ओएस डेटा है। एएमआई (स्नैपशॉट + मशीन / हार्डवेयर मेटाडेटा) है।


1
अगर मेरे पास एएमआई है, तो उससे एक उदाहरण बनाया गया था। क्या एएमआई में उस उदाहरण पर डेटा शामिल है? मेरा मतलब है, अगर उदाहरण में tomcat WAR फाइलें हैं, तो जिस AMI से यह उदाहरण बनाया गया था, उसमें भी शामिल है?
देजेल

1
यदि आप एक एएमआई को टॉमकैट (या किसी भी फाइल) वाले उदाहरण से बनाते हैं, तो नए बनाए गए एएमआई में वे फाइलें / डेटा शामिल होंगे। इस एएमआई से बनाए गए किसी भी उदाहरण में ये फाइलें होंगी। हालाँकि, स्रोत AMI जिसमें से आपने उदाहरण बनाया है, उनमें नहीं होगा (यह मानकर कि आपने फ़ाइलों को इंस्टेंस निर्माण के बाद इंस्टेंस में जोड़ा है)।
अंशु प्रतिटेक

15

मैं उसी के साथ भ्रमित था। यहाँ इसे समझने का सबसे सरल तरीका है:

  • EBS Snapshot बहुत बार विशिष्ट ईबीएस वॉल्यूम के बैकअप का प्रतिनिधित्व करता है, यह किसी भी मात्रा (रूट वॉल्यूम, डेटा वॉल्यूम, आदि) हो सकता है।

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

अब, यह भ्रामक लग सकता है, लेकिन वे दोनों "ईबीएस स्नैपशॉट" के रूप में संग्रहीत हैं।

इस तरह से सोचें:

  • EBS Snapshot सिर्फ एक डेटा बैकअप है।
  • AMIविशिष्ट समय पर सिस्टम स्थिति का प्रतिनिधित्व है। आप इससे बूट भी कर सकते हैं।

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

1
संक्षिप्त उत्तर: नहीं। यह केवल वॉल्यूम का उपयोग करके सीधे नहीं किया जा सकता है क्योंकि EC2 के लिए एकमात्र उपलब्ध "बूटिंग विकल्प" एएमआई है। हालाँकि, आप वॉल्यूम से एएमआई बना सकते हैं और हाल ही में बनाए गए एएमआई (जैसे एक अप्रत्यक्ष विकल्प) से एक उदाहरण लॉन्च कर सकते हैं।
स्काईवेट

7

EBS VolumeEC2 के पीछे अंतर्निहित डिस्क है। Snapshotसमय का बैकअप एक बिंदु है volumeजबकि AMI पूरे EC2 उदाहरण का बैकअप है, जिसमें वर्चुअल मशीन की तरह कई संलग्न वॉल्यूम हो सकते हैं।

पैकर के साथ , आप EC2 के लिए AMI, VMDK / VMX फ़ाइलों के लिए VMware, VirtualBox के लिए OVF निर्यात आदि सहित स्वचालित मशीन चित्र बना सकते हैं।

EC2  <-- EBS Volume (Boot) + EBS Volume 
                        ^
                        |
                     Snapshot (only of specific volume)       
                        ^
                        |
                       AMI (Combined snapshots of all volumes, snapshot must have boot volume) 
                        ^
                        | 
                  Launch a new Instance (same installed softwares and configs, different specs) 

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

स्नैपशॉट का उपयोग इसमें किया जा सकता है:

  • बैकअप नियमित रूप से ड्राइव करता है

  • उदाहरण के लिए, मात्रा के प्रकार बदलें आप यातायात या रीड और राईट और आईओ संचालन को बढ़ाने के लिए, ताकि आप से बदलने की जरूरत gp2करने के लिए io1उच्च के साथIOPs

कस्टम AMI का उपयोग इसमें किया जा सकता है:

  • मौजूदा चालू EC2 उदाहरण में आपदा वसूली के लिए भ्रष्ट और बिना किसी कारण के नहीं चल सकता है।

  • मानक कंपनी के एएमआई जो सभी स्थापित पूर्वापेक्षा वाले सॉफ्टवेयर्स हैं जो तैनाती की प्रक्रिया को सरल करते हैं (जैसे कि `स्पंक से कनेक्ट करने के लिए कॉन्फ़िगर किया गया है, में कुछ मॉनिटरिंग और ऑब्जर्वेबिलिटी सॉफ्टवेयर्स इंस्टॉल किए गए हैं, डॉकटर स्थापित किए गए हैं, या यह स्टार्टअप में रैकेट या बावर्ची को कनेक्ट करने के लिए कॉन्फ़िगर किया गया है)

  • AMI का उपयोग विभिन्न क्षेत्रों में आपके एप्लिकेशन को आसानी से तैनात करने के लिए किया जा सकता है।

  • सभी स्थापित सॉफ्टवेयर्स और उनके कॉन्फ़िगरेशन के साथ अपने सर्वर को उच्च या अलग चश्मा में अपग्रेड करें

  • AMI को AWS खातों में सार्वजनिक रूप से साझा किया जा सकता है।


आपका पहला पैराग्राफ अब तक पढ़ी गई स्पष्ट परिभाषा है। धन्यवाद!
specialk1st

5

एएमआई और ईबीएस स्नैपशॉट के बीच कुछ और अंतर हैं:

1) एक एएमआई प्रशंसनीय है और इसमें रूट डिवाइस के लिंक हैं और इसमें अन्य डेटा वॉल्यूम के स्नैपशॉट के लिंक हो सकते हैं।

2) एएमआई में निहित डेटा छवि एक अच्छी तरह से परिभाषित बिंदु-समय का प्रतिनिधित्व नहीं करती है, जब तक कि उदाहरण रिबूट नहीं किया जाता है, कुछ ऐसा जो आमतौर पर उत्पादन पर्यावरण के लिए स्वीकार्य नहीं है। स्नैपशॉट को सुसंगत तरीके से लिया जा सकता है क्योंकि उनका सटीक पॉइंट-इन-टाइम नियंत्रित किया जा सकता है, इसलिए स्नैपशॉट शुरू होने से पहले यह सुनिश्चित किया जा सकता है कि सब कुछ "बैकअप के लिए तैयार" है।

3) एक एएमआई को लिनक्स के लिए रूट डिवाइस के मौजूदा स्नैपशॉट से बनाया जा सकता है लेकिन विंडोज के लिए नहीं।


2

AWS द्वारा प्रदान की गई परिभाषा के अनुसार,

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

ये दो अलग-अलग अवधारणाएं हैं, जिन्हें विभिन्न स्तरों पर लागू किया गया है (EBS संस्करणों बनाम EC2 टेम्प्लेट) हालांकि, दोनों अवधारणाओं के बीच कुछ निर्भरताएं हैं।

EBS समर्थित EC2 इंस्टेंस (यानी EC2 इंस्टेंस जो EBS वॉल्यूम से बूट होता है) के लिए, AMI को बूट वॉल्यूम के EBS स्नैपशॉट के रूप में लागू किया जाता है + कुछ मेटा डेटा (मशीन की वास्तुकला - 32 बनाम 64 बिट्स), प्रकार वर्चुअलाइजेशन - एचवीएम बनाम पीवी - आदि ...)

तो, EBS समर्थित EC2 उदाहरणों के लिए, एक AMI एक EBS स्नैपशॉट + XML फ़ाइल है। आप अपने खुद के एएमआई भी बना सकते हैं जो आपके द्वारा बूट वॉल्यूम के किसी भी स्नैपशॉट के आधार पर बना सकते हैं।


1

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


6
यह EBS बूट एमिस के लिए सच के रूप में वे नहीं है कर रहे हैं वास्तव में EBS स्नैपशॉट साथ ही कुछ मेटाडाटा। व्यय समान होगा।
एरिक हैमोंड

1

आप एएमआई के बारे में सोच सकते हैं कि ओएस और स्थापित घटकों के साथ मशीन के लिए जेनेरिक टेम्प्लेट संरक्षित है।

एक स्नैपशॉट एक एएमआई करता है सब कुछ शामिल कर सकते हैं, लेकिन एक ईबीएस मात्रा के डिस्क डेटा को भी बचाता है।

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


तो एएमआई ईबीएस मात्रा को नहीं बचाता है?
मेलबर्न

1
एक एएमआई में एक या अधिक ईबीएस वॉल्यूम शामिल करने के लिए सेट किया जा सकता है, लेकिन जो वॉल्यूम बूट पर खाली होंगे, उनमें वह डेटा नहीं होगा जो मूल स्रोत मशीन में निहित था।
CIGuy

तो एएमआई वास्तव में सिर्फ मेटा डेटा है (निश्चित नहीं कि अगर यह सही शब्द है)? जैसे आप किस OS का उपयोग कर रहे हैं, उदाहरण का आकार आदि? यह तकनीकी रूप से मुझे आकार में केवल कुछ केबी होना चाहिए?
मेलबर्न

1
एक एएमआई आपके द्वारा मशीन, ओएस स्तर कॉन्फ़िगरेशन विकल्पों आदि पर स्थापित किए गए किसी भी प्रोग्राम को संग्रहीत करता है ... इसलिए यह वास्तव में सिर्फ मेटा-डेटा नहीं है, लेकिन हां वे आमतौर पर स्नैपशॉट से बहुत छोटे होते हैं।
CIGuy

1
यह उत्तर गलत है। एक एएमआई में एक या एक से अधिक स्नैपशॉट शामिल हैं। यही है, यह एक या अधिक स्नैपशॉट (कोई डेटा कॉपी नहीं है) का संदर्भ देता है, और कुछ अतिरिक्त मेटाडेटा भी रखता है। यदि आप वर्तमान में AMI द्वारा उपयोग किया जा रहा है तो यह स्नैपशॉट को हटा नहीं सकता है। docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html इस थ्रेड में एरिक हैमंड के योगदान को भी देखें।
मैक्स बैरक्लोफ

0

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

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