Anlık görüntü ile AMI arasındaki AWS Farkı


108

Bu yüzden, özellikle bu ikisi arasındaki farkın ne olduğunu bulmakta güçlük çekiyorum.

Anladığım kadarıyla, anlık görüntü basitçe disk sürücüsünün bir yedeğidir, oysa AMI tüm sistemin (veya söylemem gereken örneğin) bir yedeğidir, ancak tüm sistem teknik olarak tamamen disk sürücüsünde değil mi? ve eğer durum buysa, o zaman net bir fark yok ve bir şeyi kaçırıyorum?

Yanıtlar:


70

İki tür AMI vardır (ve karşılık gelen örnekler):

  1. örnek deposu (bazen S3 tabanlı olarak adlandırılır). Bunlar daha az yaygındır ve yeni başlayanlar için onları önermiyorum. Bulut sunucusu AMI'si, tümü özel bir biçimde bir S3 klasörüne kaydedilen, kök bulut sunucusu biriminin ve bazı meta verilerin bir kopyasıdır

  2. EBS önyüklemesi. Muhtemelen kullandığınız şey budur. Bir EBS önyükleme AMI'si , EBS kök biriminin yanı sıra mimari, çekirdek, AMI adı, açıklama, blok aygıt eşlemeleri ve daha fazlası gibi bazı meta verilerin bir EBS anlık görüntüsüdür.

Bir EBS önyükleme biriminin anlık görüntüsünü alabilir ve uygun meta verilerle kaydederek bunu bir EBS önyükleme AMI'sine dönüştürebilirsiniz. Bunun en zor kısmı, doğru şekilde önyüklemesi için doğru AKI kimliğini (çekirdek) belirlemektir.


Teşekkürler Eric, bir AMI görüntüsünü yedekledim ve hem başlatma hem de kaydetme seçeneğim var mı? Buradaki farkın ne olduğu konusunda kafam karıştı ...
Melbourne2991

"Yedeklenmiş AMI görüntüsü" ile ne demek istediğini anlamıyorum.
Eric Hammond

8
"AMI oluştur" u tıkladığınızda EC2, bu bulut sunucusunun EBS biriminin bir EBS anlık görüntüsünü oluşturur ve bunu bir AMI olarak kaydeder. Başlangıç ​​noktası olarak bu AMI'yi belirterek yeni örnekler başlatabilirsiniz. Ayrıca, yeni bir örnek çalıştırmadan üzerindeki dosyalara bakmak isterseniz, EBS anlık görüntüsünün yeni birimlerini de oluşturabilirsiniz.
Eric Hammond

6
Alternatif olarak, EBS biriminin bir EBS anlık görüntüsünü kendiniz oluşturabilir ve daha sonra bu anlık görüntüyü bir AMI olarak kaydedebilirsiniz. Bu, ayarlamak için uygun AMI kayıt özniteliklerini bilmenizi gerektirdiğinden, bir AMI oluşturmanın biraz daha zor bir yoludur. "AMI Oluştur" tüm bunları sizin için yapar.
Eric Hammond

1
@ cosbor11 Bir AMI'nin anlık görüntüsünü silemezsiniz.
Eric Hammond

24

En büyük fark, atıfta bulunulan hizmet türü arasındadır. Anlık görüntü, durumu kaydedebildiğiniz ve belirli bir zamanda aynı verilerle yeniden başlatabildiğiniz bir EBS birimine aittir.

AMI benzerdir, ancak EC2 bulut sunucuları için geçerlidir. Ebs destekli olmayan bir örneğin anlık görüntüsünü alamazsınız, ancak birinin AMI'sini (sistem görüntüsü) oluşturabilirsiniz.

Genellikle bir veritabanı birimi için yedekleme çözümleri olarak EBS anlık görüntülerini kullanıyorum ve örnek yapılandırmasını kaydetmek için bir AMI kullanıyorum


1
Ya birimim veritabanlarımın yanı sıra örnek yapılandırmamı içeriyorsa? AMI, bir EBS anlık görüntüsünün kaydetmediği (ve tersi) neyi kaydeder? Teşekkürler
Melbourne2991

1
bir AMI, yeni bir bulut sunucusuna anında başlatılabilir. bir EBS anlık görüntüsü yeni bir birime (sanal disk) kopyalanabilir. Bu sanal disk, yeni bir örnek için temel olarak kullanılabilir, ancak kendi başına bir örnek değildir.
Dan Pritts

16

Anlık görüntü kullanılarak bir AMI oluşturulabilir. Örneğin, tek bir "anlık görüntü" kullanarak birden çok AMI oluşturabilirsiniz, örneğin aynı anlık görüntüyü kullanarak bir PV ve bir HVM AMI diyebilirsiniz.

Yani anlık görüntüde sistem / işletim sistemi verileri bulunur. AMI (anlık görüntü + makine / donanım meta verileri).


1
Bir AMI'ye sahipsem, ondan bir örnek oluşturulmuştur. AMI bu durumla ilgili verileri içeriyor mu? Demek istediğim, eğer örnek tomcat WAR dosyalarını içeriyorsa, o örneğin oluşturulduğu AMI de içerir mi?
Dejell

1
Tomcat (veya herhangi bir dosya) içeren örnekten bir AMI oluşturursanız, yeni oluşturulan AMI bu dosyaları / verileri içerecektir. Bu AMI'den daha fazla oluşturulan herhangi bir örnek bu dosyalara sahip olacaktır. Ancak, örneği oluşturduğunuz kaynak AMI bunlara sahip olmayacaktır (dosyaları örnek oluşturduktan sonra örneğe eklediğiniz varsayılırsa).
Anshu Prateek

15

Ben de kafam karıştı. İşte onu anlamanın en basit yolu:

  • EBS Snapshot çoğu zaman belirli EBS biriminin yedeğini temsil eder, herhangi bir birim olabilir (Kök birim, veri birimi vb.)

  • AMI(Amazon Machine Image), Tüm EC2 bulut sunucusunun yedeğidir. Örneğin, uygun konfigürasyonla birden fazla EBS birimi içeren AMI oluşturmak mümkündür.

Şimdi, kafa karıştırıcı gelebilir, ancak her ikisi de bir "EBS Anlık Görüntüleri" olarak saklanıyor.

Sadece şu şekilde düşünün:

  • EBS Snapshot sadece bir veri yedeklemesidir.
  • AMIbelirli bir zamandaki sistem durumunun bir temsilidir. Ayrıca ondan önyükleme yapabilirsiniz.

Öyleyse, kök birimin anlık görüntüsünü oluşturduysam, bu anlık görüntü bir örnek başlatmak için kullanılabilir mi?
gaurav parashar

1
Kısa yanıt: Hayır. EC2 için mevcut tek "önyükleme seçeneği" AMI olduğundan, yalnızca birim kullanılarak doğrudan yapılamaz. Ancak, birimden AMI oluşturabilir ve yakın zamanda oluşturulan AMI'den bir bulut sunucusu başlatabilirsiniz (dolaylı bir seçenek gibi).
skryvets

7

EBS VolumeEC2'nin arkasındaki temel disktir. SnapshotSpesifik zaman yedekleme bir noktadır volumeAMI ise tam olarak sanal makineleri gibi, birden ekli hacimleri sahip olabilir, tüm EC2 örneğinin destektir.

Packer ile EC2 için AMI'ler, VMware için VMDK / VMX dosyaları, VirtualBox için OVF dışa aktarımları vb. Dahil olmak üzere otomatik makine görüntüleri oluşturabilirsiniz.

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) 

Anlık görüntüler , sürücüleri / birimleri yedeklemek için kullanılabilir. Artımlı yedekleme işlemidir, yani bir birimin anlık görüntüsünü her aldığınızda, yalnızca son yedeklemenizden bu yana birime eklenen / eklenen yeni değişiklikleri (tüm yedeklemeyi değil) ekleyerek yedekleme süresinden, alandan ve nihayetinde maliyetten tasarruf sağlar. .

Anlık görüntüler şunlarda kullanılabilir:

  • Sürücüleri düzenli olarak yedekleyin

  • Örneğin, hacim türünü değiştirme trafik varsa veya okuma ve yazma ve değiştirmek böylece IO işlemlerini arttırma ihtiyacı gp2için io1daha yüksek olanIOPs

Özel AMI'ler şunlarda kullanılabilir:

  • Mevcut çalışan EC2 bulut sunucusunun bozulması ve sebepsiz yere çalıştırılamaması durumunda olağanüstü durumdan kurtarma için.

  • Kurulum sürecini basitleştiren tüm yüklü önkoşul yazılımlarına sahip standart şirketin AMI'leri (örneğin, Splunk'a bağlanmak için yapılandırılmış, bazı izleme ve gözlemlenebilirlik yazılımları yüklü, docker yüklü veya başlangıçta Puppet veya Chef'i bağlamak için yapılandırılmış)

  • AMI'ler, uygulamalarınızı farklı bölgelerde kolayca dağıtmak için kullanılabilir.

  • Sunucunuzu kurulu tüm yazılımlar ve yapılandırmalarıyla daha yüksek veya farklı özelliklere yükseltin

  • AMI'ler, AWS hesapları arasında herkese açık olarak paylaşılabilir.


İlk paragrafınız şimdiye kadar okuduğum en net tanımdır. Teşekkür ederim!
özelk1st

5

AMI ve EBS Anlık Görüntüleri arasındaki birkaç fark daha:

1) Bir AMI başlatılabilir ve kök cihaza bağlantılar içerir ve diğer veri hacimlerinin anlık görüntülerine bağlantılar içerebilir.

2) Bir AMI'de bulunan veri görüntüsü, örnek yeniden başlatılmadığı sürece, iyi tanımlanmış bir noktayı temsil etmez; bu, üretim ortamı için tipik olarak kabul edilemez. Anlık görüntüler tutarlı bir şekilde alınabilir, çünkü zamanları tam olarak kontrol edilebilir, böylece anlık görüntü başlamadan önce her şeyin "yedeklemeye hazır" olduğundan emin olunabilir.

3) Bir AMI, Linux için kök cihazın mevcut anlık görüntülerinden oluşturulabilir ancak Windows için oluşturulamaz.


2

AWS tarafından sağlanan tanıma göre,

AMI, bir EC2 bulut sunucusunu başlatabileceğiniz bir şablondur. EBS Anlık Görüntüsü, bir EBS biriminin blok düzeyinde bir kopyasıdır. EBS birimi, bir önyükleme birimi (yani bir işletim sistemi içeren) veya salt veri birimi (örneğin, veritabanı dosyalarını içeren) olabilir. Bir AMI (anlık görüntüden) oluşturmak için RegisterImage'ı kullanırsınız.

Bunlar, farklı düzeylerde uygulanan iki farklı kavramdır (EBS hacimleri ve EC2 şablonları) Ancak, iki kavram arasında bazı bağımlılıklar vardır.

EBS destekli EC2 bulut sunucuları (yani, bir EBS biriminden önyüklenen EC2 bulut sunucuları) için AMI, bir önyükleme biriminin EBS Anlık Görüntüsü + birkaç meta veri (makinenin mimarisi - 32 bit'e karşı 64 bit) olarak uygulanır. sanallaştırma - HVM - PV - vb ...)

Dolayısıyla, EBS destekli EC2 bulut sunucuları için bir AMI, bir EBS anlık görüntüsü + bir XML dosyasıdır. Sahip olduğunuz bir önyükleme biriminin herhangi bir anlık görüntüsüne dayanarak kendi AMI'nizi bile oluşturabilirsiniz.


1

Anlık görüntüleri yedekleme stratejisi olarak kullanmak daha ucuzdur, çünkü birden fazla anlık görüntünüz olduğunda yalnızca bir tam yedekleme için ödeme yaparsınız ve geri kalanı özünde yalnızca farklılık gösterir ve genellikle çok daha küçüktür.


6
Bu, tam olarak EBS anlık görüntüleri ve küçük bir meta veri olduğundan , EBS önyükleme AMI'leri için doğru değildir . Gider aynı olacaktır.
Eric Hammond

1

Bir AMI'yi işletim sistemi ve kurulu bileşenleri korunan bir makine için genel bir şablon olarak düşünebilirsiniz.

Anlık Görüntü, bir AMI'nin yaptığı her şeyi içerebilir, ancak aynı zamanda bir EBS biriminin disk verilerini de kaydeder.

Hangisini kullanmaya karar verdiğiniz, genel olarak örneklerinizin EBS destekli olup olmadığına ve tüm verileri bozulmadan bir makineyi tam olarak yeniden oluşturmak isteyip istemediğinize veya yalnızca genel bir makine şablonu isteyip istemediğinize göre belirlenir.


Yani AMI, EBS hacmini kaydetmiyor mu?
Melbourne2991

1
Bir AMI, bir veya daha fazla EBS birimi içerecek şekilde ayarlanabilir, ancak bu birimler önyüklemede boş olacaktır, orijinal kaynak makinenin içerdiği verileri içermeyecektir.
CIGuy

Öyleyse AMI gerçekten sadece meta veridir (bunun doğru terim olup olmadığından emin değil misiniz)? Kullandığınız işletim sistemi, örneğin boyutu vb. Teknik olarak aldığım boyut olarak sadece birkaç kb olmalı?
Melbourne2991

1
Bir AMI ayrıca makineye yüklediğiniz programları, işletim sistemi düzeyinde yapılandırma seçeneklerini vb. Depolar ... yani bu gerçekten sadece meta veri değildir, ancak evet, bunlar genellikle anlık görüntüden çok daha küçüktür.
CIGuy

1
Bu cevap yanlış. Bir AMI, bir veya daha fazla anlık görüntü içerir. Yani, bir veya daha fazla anlık görüntüye başvurur (veri kopyalanmaz) ve ayrıca bazı ek meta verileri de tutar. Bu nedenle, şu anda bir AMI tarafından kullanılıyorsa bir anlık görüntüyü silemezsiniz. docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html Eric Hammond'un bu konuya katkılarına da bakın.
Max Barraclough

0

AWS tarafından sağlanan tanımdan farkı açıklığa kavuşturur - Bir Amazon Makine Görüntüsü (AMI), bir yazılım yapılandırması (örneğin, bir işletim sistemi, bir uygulama sunucusu ve uygulamalar) içeren bir şablondur. Bir AMI'den, bulutta sanal bir sunucu olarak çalışan AMI'nin bir kopyası olan bir örnek başlatırsınız. Anlık Görüntüler için ise Anlık görüntüler alarak EBS birimlerinizdeki verileri Amazon S3'e yedekleyebilirsiniz. Anlık görüntüler, artımlı yedeklemedir; bu, yalnızca en son anlık görüntünüzün kaydedilmesinden sonra aygıttaki değişen blokların olduğu anlamına gelir. Bir anlık görüntüyü sildiğinizde, yalnızca o anlık görüntüye özel veriler kaldırılır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.