Istnieją dwa rodzaje AMI (i odpowiadające im przypadki):
magazyn instancji (czasami nazywany opartym na S3). Są mniej powszechne i nie polecam ich początkującym. AMI magazynu instancji to kopia głównego woluminu magazynu instancji wraz z niektórymi metadanymi, wszystkie zapisane w zasobniku S3 w specjalnym formacie
Rozruch EBS. To prawdopodobnie jest to, czego używasz. EBS uruchomić AMI jest obraz stanu EBS objętości głównego EBS oraz niektóre metadane jak architektura, jądro, nazwa, opis, AMI odwzorowań urządzenie blokowe i inne.
Możesz zrobić migawkę woluminu rozruchowego EBS i przekształcić go w AMI rozruchu EBS, rejestrując go za pomocą odpowiednich metadanych. Najtrudniejszą częścią tego jest określenie poprawnego identyfikatora AKI (jądra), aby poprawnie się uruchamiał.
Główna różnica dotyczy rodzaju usługi, o której mowa. Migawka to wolumin EBS, w którym można zapisać stan i ponownie uruchomić komputer z tymi samymi danymi w określonym momencie.
AMI jest podobne, ale dotyczy samych instancji EC2. Nie można wykonać migawki instancji nieobsługiwanej przez ebs, ale można utworzyć jej obraz systemu AMI (obraz systemu).
Generalnie używam migawek EBS jako rozwiązania do tworzenia kopii zapasowych woluminu bazy danych i używam AMI do zapisywania konfiguracji instancji
źródło
AMI można utworzyć za pomocą migawki. Na przykład, używając pojedynczej „migawki”, możesz stworzyć wiele AMI, powiedzmy jedno PV i jedno HVM AMI używając tej samej migawki.
Zatem migawka zawiera dane systemu / systemu operacyjnego. AMI to (migawka + metadane maszyny / sprzętu).
źródło
Ja też byłem zdezorientowany. Oto najprostszy sposób zrozumienia tego:
EBS Snapshot
bardzo często reprezentuje kopię zapasową określonego wolumenu EBS, może to być dowolny wolumin (wolumin główny, wolumen danych itp.)AMI
(Amazon Machine Image) to kopia zapasowa całej instancji EC2. Na przykład przy odpowiedniej konfiguracji możliwe jest utworzenie AMI, który zawiera wiele wolumenów EBS.To może wydawać się zagmatwane, ale oba są przechowywane jako „migawki EBS”.
Pomyśl tylko w ten sposób:
EBS Snapshot
to tylko kopia zapasowa danych.AMI
jest reprezentacją stanu systemu w określonym czasie. Możesz także uruchomić z niego.źródło
EBS Volume
jest dyskiem bazowym za EC2.Snapshot
to kopia zapasowa określonego punktu w czasie,volume
podczas gdy AMI jest kopią zapasową całej instancji EC2, która może mieć wiele podłączonych woluminów, dokładnie tak, jak maszyny wirtualne.Dzięki Packerowi możesz tworzyć zautomatyzowane obrazy maszyn, w tym AMI dla EC2, pliki VMDK / VMX dla VMware, eksport OVF dla VirtualBox itp.
Migawki mogą służyć do tworzenia kopii zapasowych dysków / woluminów. Jest to przyrostowa operacja tworzenia kopii zapasowych, co oznacza, że za każdym razem, gdy robisz migawkę woluminu, dodawane są tylko nowe zmiany dodane / wprowadzone do woluminu od czasu ostatniej kopii zapasowej (nie cała kopia zapasowa), co pozwala zaoszczędzić czas, miejsce i ostatecznie koszt kopii zapasowej .
Migawki mogą być używane w:
Dyski z kopiami zapasowymi regularnie
Zmień typ wolumenu, na przykład masz ruch lub odczyty i zapisy i musisz zwiększyć operacje we / wy, aby zmienić z
gp2
naio1
wyższąIOPs
Niestandardowe AMI mogą być używane w:
Do odtwarzania po awarii w przypadku, gdy bieżąca instancja EC2 jest uszkodzona i nie może działać bez powodu.
Standardowe oprogramowanie firmy AMI, które ma wszystkie zainstalowane oprogramowanie, które upraszcza proces wdrażania (np. Skonfigurowane do łączenia się z `Splunk, ma zainstalowane oprogramowanie do monitorowania i obserwacji, ma zainstalowane docker lub jest skonfigurowane do łączenia Puppet lub Chef podczas uruchamiania)
AMI można wykorzystać do łatwego wdrażania aplikacji w różnych regionach.
Uaktualnij swój serwer do wyższych lub innych specyfikacji za pomocą wszystkich zainstalowanych programów i ich konfiguracji
AMI mogą być publicznie udostępniane na kontach AWS.
źródło
Oto kilka dodatkowych różnic między migawkami AMI i EBS:
1) AMI jest uruchamialny i zawiera łącza do urządzenia głównego oraz może zawierać łącza do migawek innych woluminów danych.
2) Obraz danych zawarty w AMI nie reprezentuje dobrze zdefiniowanego punktu w czasie, chyba że instancja zostanie ponownie uruchomiona, co jest zwykle nie do przyjęcia w środowisku produkcyjnym. Migawki można wykonywać w spójny sposób, ponieważ można kontrolować ich dokładny moment w czasie, więc przed rozpoczęciem migawki można upewnić się, że wszystko jest „gotowe do tworzenia kopii zapasowych”.
3) AMI można utworzyć z istniejących migawek urządzenia głównego dla systemu Linux, ale nie dla systemu Windows.
źródło
Zgodnie z definicją podaną przez AWS,
AMI to szablon, z którego można uruchomić instancję EC2. Migawka EBS to blokowa kopia woluminu EBS. Wolumin EBS może być woluminem startowym (tj. Zawierającym system operacyjny) lub woluminem tylko do danych (zawierającym na przykład pliki bazy danych). Używasz RegisterImage do tworzenia AMI (z migawki).
Są to dwie różne koncepcje stosowane na różnych poziomach (objętości EBS vs szablony EC2). Istnieją jednak pewne zależności między tymi dwoma koncepcjami.
W przypadku instancji EC2 obsługiwanych przez EBS (tj. Instancji EC2 uruchamianych z woluminu EBS) AMI jest implementowane jako migawka EBS woluminu rozruchowego + kilka metadanych (architektura maszyny - 32 vs 64 bity - typ wirtualizacji - HVM vs PV - itp ...)
Zatem w przypadku instancji EC2 obsługiwanych przez EBS AMI to migawka EBS + plik XML. Możesz nawet stworzyć swój własny AMI na podstawie dowolnej migawki woluminu rozruchowego, który posiadasz.
źródło
Migawki są tańsze w użyciu jako strategia tworzenia kopii zapasowych, ponieważ gdy masz wiele migawek, płacisz tylko za jedną pełną kopię zapasową, a reszta to w zasadzie tylko różnice i zwykle znacznie mniejsze.
źródło
Możesz myśleć o AMI jako o ogólnym szablonie dla maszyny z zachowanym systemem operacyjnym i zainstalowanymi komponentami.
Migawka może zawierać wszystko, co robi AMI, ale także zapisuje dane na dysku wolumenu EBS.
To, który z nich zdecydujesz się użyć, będzie ogólnie zależało od tego, czy Twoje instancje są obsługiwane przez EBS i czy chcesz dokładnie odtworzyć maszynę z nienaruszonymi wszystkimi danymi, czy po prostu chcesz mieć ogólny szablon maszyny.
źródło
Z definicji dostarczonej przez AWS wyjaśnia różnicę - Amazon Machine Image (AMI) to szablon zawierający konfigurację oprogramowania (na przykład system operacyjny, serwer aplikacji i aplikacje). Z AMI uruchamiasz instancję, która jest kopią AMI działającą jako serwer wirtualny w chmurze. Natomiast w przypadku migawek Można tworzyć kopie zapasowe danych z woluminów EBS w Amazon S3, wykonując migawki z określonego punktu w czasie. Migawki to przyrostowe kopie zapasowe, co oznacza, że zapisywane są tylko bloki na urządzeniu, które uległy zmianie po ostatniej migawce. Gdy usuwasz migawkę, usuwane są tylko dane wyłącznie dla tej migawki.
źródło