Terminologia Amazon EC2 - AMI vs. EBS vs. Snapshot vs. Volume

127

Grzebałem w Amazon EC2 i jestem trochę zdezorientowany niektórymi terminami. W szczególności w odniesieniu do AMI, migawek i woluminów oraz EBS

Popraw mnie, jeśli się mylę, lub uzupełnij poważne luki w moich następujących oświadczeniach:

  • AMI (Amazon Machine Image) to pełne przechwytywanie „dysku” systemu operacyjnego i konfiguracji. Po uruchomieniu wystąpienia uruchamia się je z AMI

  • EBS (Elastic Block Storage) to sposób na zachowanie stanu wszelkich modyfikacji wprowadzonych po uruchomieniu z danego interfejsu AMI. Moim zdaniem jest to trochę jak różnica w końcowym stanie twojej instancji względem AMI.

  • Migawka jest ... cóż, nie jestem pewien. Mogę tylko założyć, że jest to migawka konkretnej instancji, ale nie jest dla mnie jasne, jak różni się ona od stanu przechowywanego w EBS. Czym różni się migawka od utworzenia EBS AMI z istniejącej instancji?

  • Wolumin to ... Wydaje się, że jest zamontowane miejsce na dysku, na które ładowana jest para AMI / EBS? Nie jestem tego pewien. Widzę (z konsoli AWS), że możesz utworzyć wolumin z migawki i że możesz dołączać / odłączać woluminy, ale nie jest dla mnie jasne, dlaczego i kiedy to zrobisz.

Matt
źródło

Odpowiedzi:

150

Jak zauważyłeś, AMI jest obrazem maszyny. Jest to całkowita migawka systemu przechowywana jako obraz, który można uruchomić jako instancję. Wrócimy do AMI za sekundę.

Spójrzmy na EBS. Pozostałe dwa elementy są podelementami tego. EBS to wirtualne urządzenie blokowe. Możesz myśleć o tym jak o dysku twardym, chociaż połączenie magicznego oprogramowania z innym rodzajem urządzenia magazynującego jest naprawdę magią oprogramowania, ale może wyglądać jak dysk twardy do instancji.

EBS to tylko nazwa całej usługi. Wewnątrz EBS masz tak zwane woluminy. Są to „jednostki”, które sprzedaje ci Amazon. Tworzysz wolumin, który przydziela ci X gigabajtów i używasz go jak dysku twardego, który możesz podłączyć do dowolnego z działających komputerów (instancji). Woluminy można tworzyć puste lub z kopii migawkowej poprzedniego woluminu, co prowadzi nas do następnego tematu.

Migawki to ... no cóż ... migawki woluminów: dokładne uchwycenie tego, jak wyglądał wolumin w danym momencie, w tym wszystkie jego dane. Możesz mieć wolumin, dołączyć go do instancji, wypełnić go różnymi rzeczami, a następnie wykonać migawkę, ale nadal go używać. Zawartość woluminu zmieniałaby się w miarę używania go jako systemu plików, ale migawka byłaby zamrożona w czasie. Możesz utworzyć nowy wolumin, używając tej migawki jako podstawy. Nowy wolumen wyglądałby dokładnie tak, jak twój pierwszy dysk, kiedy zrobiłeś migawkę. Możesz zacząć korzystać z nowego woluminu zamiast starego, aby przywrócić swoje dane lub dołączyć ten sam zestaw danych do drugiego komputera. Możesz robić migawki woluminów w dowolnym momencie. To jak kopia zapasowa wystąpienia klatki, którą można łatwo przekształcić w nowy dysk na żywo (wolumin), kiedy tylko jest to potrzebne.

Tak więc woluminy mogą być oparte na nowej pustej przestrzeni lub na migawce. Zrozumiałeś? Woluminy można dołączać i odłączać z dowolnych instancji, ale tylko z jedną instancją na raz, podobnie jak dysk fizyczny, którego są wirtualną abstrakcją.

Teraz wracamy do AMI. Są trudne, ponieważ istnieją dwa typy. Jeden tworzy efemeryczne instancje, w których główny system plików wygląda jak dysk do komputera, ale faktycznie gdzieś jest w pamięci i odparowuje, gdy tylko przestanie być używany. Drugi rodzaj nazywa się instancją wspieraną przez EBS. Oznacza to, że gdy instancje się ładują, ładuje swój główny system plików na nowy wolumin EBS, w zasadzie nakładając warstwę technologii maszyny wirtualnej EC2 na technologię EBS. Zwykły wolumin EBS jest czymś, co znajduje się obok EC2 i może zostać dołączony, ale instancja wspierana przez EBS JEST również samym woluminem.

Zwykły AMI to tylko duża część danych, które są ładowane jako maszyna. AMI wspierany przez EBS zostanie załadowany na wolumin EBS, więc możesz go zamknąć i zacznie się od miejsca, w którym przerwałeś, tak jak prawdziwy dysk.

Teraz złóż wszystko razem. Jeśli instancja jest wspierana przez EBS, możesz ją również wykonać migawkę. Zasadniczo robi to dokładnie to, co zwykła migawka ... zamrozi ramkę dysku głównego komputera w danym momencie. W praktyce robi to dwie różne rzeczy. Jednym z nich jest zamknięcie instancji, aby uzyskać kopię dysku, tak jak wyglądałaby na komputerze WYŁĄCZONYM, a nie WŁĄCZONYM. Ułatwia to uruchomienie systemu :) Tak więc, kiedy wykonujesz migawkę instancji, wyłącza ją, pobiera obraz dysku, a następnie uruchamia się ponownie. Po drugie, zapisuje te obrazy jako AMI zamiast zwykłej migawki dysku. Zasadniczo jest to bootowalna migawka woluminu.

Caleb
źródło
1
Dzięki za wspaniałe informacje, myślę, że zbliżają się do mnie. Następne pytanie: jaka jest różnica między zrobieniem migawki EBS AMI w porównaniu z kliknięciem prawym przyciskiem myszy i wybraniem „Utwórz obraz (EBS AMI) z konsoli internetowej EC2? Na podstawie powyższego opisu wydaje się, że są one identyczne, z wyjątkiem sposobu ich użycia. Możesz utworzyć wolumin z migawki, a następnie dołączyć go do AMI. Gdzie jako obraz EBS AMI po prostu ... nie wiem, eliminuje ten etap dołączania go do tomu?
Matt
Właściwie myślę, że narzędzie konsoli do tworzenia migawek AMI robi to samo, co konsola internetowa. W przypadku błędów opisu chodzi nieco o załączniki. Jeśli wykonasz migawkę instancji, tak, tworzona jest migawka z woluminu głównego, ale ponadto migawka staje się AMI. Zwykła migawka tworzona w woluminie i dołączana do instancji. Migawka instancji utworzonej w instancji (nie dołączasz woluminu do instancji, to jest instancja). Czy to ma sens?
Caleb
Ilekroć mówiłem o konsoli, miałem na myśli konsolę internetową. Nie grałem jeszcze z interfejsami API ani niczym innym. Wydaje mi się, że jestem zdezorientowany: tworzysz EBS AMI z instancji i tworzysz migawkę z woluminu, ale wygląda na to, że wolumin to EBS AMI. Następnie, aby utworzyć nową instancję, możesz 1) uruchomić jedną z utworzonego AMI lub 2) Skopiować migawkę do woluminu i uruchomić AMI dołączoną do tego woluminu, ale ostatecznie wynik jest taki sam. Czy to jest poprawne?
Matt
Wszystko było w porządku, dopóki część „wydaje się, że”, a potem przestała pasować do rzeczywistości. Szczególnie ostatnia część (twoje 2) to nonsens. Nie dołączasz AMI do woluminów. AMI wspierane przez EBS to specjalnie oznaczone woluminy, które można uruchomić. Woluminy są dołączane do instancji, a nie na odwrót.
Caleb
2
Podczas wykonywania migawki czegoś innego niż dysk główny. Mam wiele dysków, które przechowują zestawy danych, które nie są częścią żadnego komputera. Jeśli wykonujesz migawkę systemowego dysku / napędu root, użyj narzędzi do tworzenia EBS AMI. Ale czasami masz inne woluminy z innymi zestawami danych, które mogą, ale nie muszą być podłączone do danego systemu. Te, które możesz zrobić w swoim własnym czasie. Automatyczna migawka zostanie wykonana, jeśli zdarzy się, że zostaną one dołączone do instancji, którą wykonujesz, ale możesz też chcieć stworzyć własną ... powiedz, aby powielić dysk i dołączyć go do innej instancji.
Caleb
9

Myślę, że uprośćmy to. Utwórz szablon AMI z istniejącej instancji (powiedzmy instancja nr 1. Uwaga: kiedy utworzysz szablon AMI, będziesz mieć również migawkę woluminu, zajrzyj do sekcji migawki. Jeśli chcesz utworzyć nową instancję, wybierz nowo utworzoną Szablon AMI, wówczas wybierze migawkę w momencie utworzenia szablonu AMI. Proste.

Teraz, jeśli tworzysz migawki z wolumenu instancji nr 1, jest w porządku. Utwórz nową instancję z szablonu AMI, następnie odłącz wolumin, który został dla niej automatycznie utworzony, a następnie dołącz wolumin utworzony z migawek z wolumenu instancji # 1.

Goldwynn T.
źródło
2

Podsumowując:

  • EBS = sama usługa AWS

  • Wolumen EBS = pomyśl o tym jak o dysku twardym, który możesz podłączyć do instancji EC2

  • Migawka = kopia twojego woluminu w czasie

  • AMI = kopia pełnej instancji

TH22
źródło
0

W nawiązaniu do powyższych wyjaśnień, oto przykład wyjaśniający je wszystkie.

Załóżmy, że do Twojego „EC2 Instance I1” są dołączone dwa woluminy EBS - EBS Tom V1a i EBS Tom V1b.

Teraz, jeśli utworzysz obraz AMI z EC2 Instance I1, otrzymasz -

za. Obraz AMI wystąpienia EC1 I1, nazwijmy go AMI1

b. Migawka tomu EBS V1a, nazwijmy to S1

do. Migawka EBS Tom V1b, nazwijmy go S2

Następnie, jeśli uruchomisz nową instancję z obrazu AMI1, otrzymasz -

za. Nowa instancja EC2, nazwijmy ją I2

b. Nowy wolumin EBS wygenerowany z migawki S1, nazwijmy go V2a

do. Nowy wolumin EBS wygenerowany z migawki S2, nazwijmy go V2b

Podsumowując -

  1. Obraz AMI tworzy migawki woluminów dołączonych do oryginalnej instancji (z której utworzono AMI)

  2. Nowa instancja uruchomiona z obrazu AMI tworzy woluminy z migawek dołączonych do tego AMI.

Wyjaśniłem to szczegółowo w http://zilhaz.com/ebs-ami-aws-ec2/

zilhaz
źródło