Jak wykonać migawkę instancji EC2 w ramach usługi AWS EC2 Ochrona danych
Jeśli korzystasz z Amazon Web Services (AWS) do uruchamiania instancji EC2 (maszyn wirtualnych) w usłudze Elastic Compute Cloud, masz do dyspozycji kilka sposobów zabezpieczenia swoich obciążeń przed utratą danych spowodowaną między innymi awarią oprogramowania, infekcją złośliwym oprogramowaniem czy przypadkowym usunięciem. Jedną z dostępnych opcji jest wbudowana w AWS funkcja tworzenia kopii zapasowej dla instancji EC2, zwana migawkami EBS. W tym wpisie na blogu wyjaśniono, jak utworzyć migawkę instancji EC2 przy użyciu migawek woluminów EBS, podając szczegółowe przykłady procesu konfiguracji.
Czym są migawki EBS?
Migawki EBS to przyrostowe kopie woluminu Elastic Block Store (EBS) przechowywane w usłudze Amazon S3. Oznacza to, że podczas tworzenia pierwszej migawki EBS tworzona jest pełna kopia zapasowa, a w kolejnych migawkach EBS kopiowane są wyłącznie dane, które uległy zmianie. Woluminy EBS to dyski wirtualne podłączone do instancji EC2.
Mimo że migawki EBS są przechowywane w usłudze Amazon S3, nie można uzyskać do nich dostępu ręcznie w magazynie S3. Migawkami tymi można zarządzać w konsoli zarządzania EC2.
Uwaga: Terminy „migawka AWS EC2” i „migawka Amazon” są czasami używane również w odniesieniu do migawek EBS.
Jak działają migawki EBS
Migawki EBS to kopie zapasowe danych instancji EC2 na poziomie bloków, które reprezentują wolumin EBS w konkretnym momencie wydania polecenia migawki. Oznacza to, że jeśli instancja działa, bloki danych zapisane na woluminach EBS po rozpoczęciu tworzenia migawki są nie zapisywane w migawce. W rezultacie migawki EBS są spójne kopie zapasowe po awarii, a nie spójność aplikacji.
Należy pamiętać, że migawki EBS nie są tym samym, co migawki w kontekście VMware vSphere i Microsoft Hyper-V. Hyper-V i Migawki VMware nie są kopiami zapasowymi i nie mogą zastąpić właściwych kopii zapasowych.
Istnieją jednak ograniczenia dotyczące migawek EBS, które obejmują brak opcji planowania i przechowywania, brak możliwości tworzenia kopii lokalnych, a także złożoność tworzenia migawki EC2 spójnej z aplikacją w celu uproszczenia odzyskiwania.
Jak utworzyć migawkę w konsoli AWS dla instancji EC2
Konsola zarządzania AWS to interfejs internetowy GUI służący do zarządzania wszystkimi zasobami obliczeniowymi, pamięcią masową i innymi zasobami AWS, w tym do tworzenia migawek EBS.
Aby uzyskać dostęp do instancji EC2, dla której chcesz utworzyć migawkę:
- Zaloguj się do konsoli zarządzania AWS przy użyciu konta posiadającego wymagane uprawnienia do tworzenia instancji EC2, woluminów EBS i migawek EBS.
- Kliknij
Servicesi w sekcjiComputekliknijEC2, aby otworzyć konsolę zarządzania instancjami EC2, woluminami EBS i innymi funkcjami EC2.
Przygotowaliśmy instancję EC2, aby zademonstrować kroki tworzenia migawek EBS. Parametry naszej instancji EC2, której wykona się kopię zapasową i którą odtworzy się za pomocą migawek EBS, są następujące:
Nazwa: blog-temp
Identyfikator instancji EC2: i-0071290000000cb84
Typ instancji: t2.micro
Strefa dostępności: eu-central-1c
Wolumin EBS 1: vol-0617000000000763c
Typ woluminu: gp2
Rozmiar woluminu: 8 GB
System operacyjny (OS) działający na instancji EC2 to Ubuntu Server (Linux).
Zapisywanie plików na woluminie EBS
Przed utworzeniem migawki utwórzmy dwa pliki na dysku wirtualnym podłączonym do instancji EC2. W ten sposób będziemy mogli sprawdzić, czy pliki te zostaną odzyskane po przywróceniu instancji z migawki EBS. Tworzymy dwa pliki w katalogu domowym użytkownika:
lspci > file01.txt
echo "test EC2 snapshot 01" > snapshot01.txt
Przygotowanie instancji
Zatrzymaj instancję EC2, aby upewnić się, że migawka zawiera spójne dane. Powodem tego jest fakt, że woluminy EBS działają na poziomie bloków. Podczas tworzenia migawki EBS zapisywany jest stan woluminu EBS z danego momentu. Bloki pamięci masowej są zapisywane w stanie niezmienionym. System nie jest świadomy operacji wykonywanych na plikach na poziomie systemu plików w tym czasie. Jeśli podczas tworzenia migawki na woluminie EBS zapisywane są pliki, migawka będzie zawierała niespójne dane. Efekt jest podobny do odłączenia kabla zasilającego od fizycznego komputera podczas zapisywania plików.
Jeśli chcesz utworzyć migawkę woluminu EBS innego niż systemowy, możesz odmontować system plików z systemu operacyjnego, aby upewnić się, że na woluminie nie są wykonywane żadne operacje zapisu plików. Aby wykonać migawkę instancji EC2, należy wyłączyć tryb hibernacji.
Aby przygotować instancję EC2 do wykonania migawki:
- Otwórz stronę z listą instancji EC2 w konsoli zarządzania EC2. Kliknij prawym przyciskiem myszy nazwę instancji i w menu kontekstowym kliknij
Stop instance.
- Znajdź wolumin używany przez instancję EC2. Kliknij kartę
Storagei kliknij identyfikator odpowiedniego woluminu EBS ( vol-0617000000000763c w naszym przypadku).
Tworzenie migawki
Jesteśmy gotowi do utworzenia migawki instancji EC2:
- Wybierz wolumin EBS (zaznacz pole wyboru po lewej stronie wiersza) i kliknij
Actions>Create Snapshot.
- Wprowadź opis, ustaw ustawienia szyfrowania i dodaj tag. Używam następujących parametrów:
- Opis: EBS migawka blog 01
- Szyfrowanie: Nieszyfrowane
Kliknij Create Snapshot.
Uwaga:Korzystamy z woluminu nieszyfrowanego i tworzymy nieszyfrowaną migawkę. W tym przypadku ustawienia szyfrowania dla migawki można skonfigurować ręcznie. Po utworzeniu migawki zaszyfrowanego woluminu migawka ta jest automatycznie szyfrowana.
- Powinien pojawić się następujący komunikat wraz z identyfikatorem migawki:
Operacja utworzenia migawki zakończyła się powodzeniem
snap-0778000000000ab40
Kliknij identyfikator migawki, aby otworzyć stronę z opcjami i statusem migawki.
- Status migawki oczekująca oznacza, że dane z woluminu EBS są obecnie przesyłane do Amazon S3. Poczekaj na zakończenie tworzenia migawki (status zmieni się na zakończona ). Czas zależy od rozmiaru danych zapisanych w migawce.
Jak wykonać migawki wielu woluminów
Często zdarza się, że instancja EC2 korzysta z wielu woluminów EBS. W takim przypadku można utworzyć migawkę wielotomową dla wszystkich woluminów EBS podłączonych do tej instancji EC2 w celu wykonania kopii zapasowej Amazon EC2.
W tej sekcji omówimy:
Tworzenie drugiego woluminu EBS dla instancji EC2
Najpierw dodajmy drugi wolumin EBS do naszej instancji EC2, której używamy do celów demonstracyjnych:
- W panelu nawigacyjnym konsoli zarządzania EC2 przejdź do
Elastic Block Store>Volumes. KliknijCreate Volume.
- Dla Strefa dostępności , region musi być taki sam jak region instancji ( eu-central-1c w naszym przypadku).
Wprowadź typ/rozmiar woluminu, ustaw opcje szyfrowania i wprowadź tagi. Tagi pomagają znaleźć wolumin na liście woluminów. Ustawiamy rozmiar woluminu na 1 GiB i używamy następujących tagów:
-
Klucz: blog
-
Wartość: temp volume 2
Kliknij Create Volume.
- Zapamiętaj (lub zapisz) identyfikator woluminu (w naszym przypadku vol-0b4a0000000003d01 ). Kliknij identyfikator woluminu, aby otworzyć jego właściwości.
- Podłącz wolumin do instancji EC2. Kliknij prawym przyciskiem myszy wolumin lub kliknij
Actionsi w menu, które się otworzy, kliknijAttach Volume.
- Wybierz instancję, do której chcesz podłączyć wolumin EBS. Musisz wybrać identyfikator instancji EC2. W naszym przypadku identyfikator instancji to i-0071290000000cb84 .
Możesz wybrać urządzenie w systemie operacyjnym gościa używane do uzyskania dostępu do podłączonego woluminu. W naszym przypadku używamy /dev/sdf .
Kliknij Attach , aby podłączyć nowy wolumin do instancji EC2.
Uwaga:W uwadze wyświetlane są przydatne informacje dotyczące zmiany nazw urządzeń dyskowych. W naszym przypadku /dev/sdf zostaje przemianowany na /dev/xvdf w systemie operacyjnym gościa.

Do naszej instancji EC2 podłączone są teraz dwa woluminy ( blog-temp ):
vol-0617000000000763c
vol-0b4a0000000003d01
Zapisywanie danych na drugim woluminie EBS
Następnie utworzymy plik na drugim woluminie EBS. Plik ten posłuży do sprawdzenia, czy wszystkie dane zostały odzyskane po przywróceniu woluminu ze migawki EBS. Z tego powodu utworzymy partycję, utworzymy system plików i zamontujemy go w gościnnym systemie operacyjnym Linux działającym na instancji EC2.
Chociaż skupiamy się na operacjach ze migawkami EBS, a nie na operacjach w gościnnym systemie operacyjnym Linux działającym na instancji EC2, podajemy używane polecenia, aby lepiej zrozumieć operacje z woluminami.
Managing storage
- Użyj
lsblkaby wyświetlić szczegóły dotyczące urządzeń blokowych w systemie Linux. - Użyj
df -haby sprawdzić miejsce na dyskach zamontowanych. - Użyj
mountaby sprawdzić zamontowane dyski.
Tworzenie i montowanie partycji
Tworzenie i formatowanie partycji na drugim woluminie EBS w programie parted:
sudo parted -l
parted /dev/xvdf
(parted) mklabel msdos
(parted) print
(parted) mkpart primary ext4 1MB 955MB
(parted) print
(parted) quit
Tworzenie systemu plików na przygotowanej partycji:
mkfs.ext4 /dev/xvdf1
Tworzenie katalogu, który posłuży jako punkt montowania:
mkdir disk2
Montowanie partycji z systemem plików do utworzonego katalogu:
mount /dev/xvdf1 /disk2/
Przejście do katalogu zamontowanej partycji:
cd /disk2
Zapisywanie zmian na 2 woluminach EBS
- Utwórz plik na partycji znajdującej się na drugim woluminie EBS podłączonym do instancji EC2 z systemem Linux:
echo "EBS snapshot for disk 2" > /disk2/d2-file01.txt
- Wprowadź zmiany na pierwszym dysku, aby utworzyć nową migawkę EBS pierwszego woluminu używanego przez instancję EC2. Oba woluminy powinny zawierać zmiany w stosunku do stanu z momentu wykonania poprzedniej migawki.
Tworzymy plik snapshot02.txt na pierwszym woluminie, aby wygodniej wykrywać zmiany zapisane w nowej migawce pierwszego woluminu.
Gdy dwa woluminy EBS z nowymi danymi zostaną podłączone do instancji EC2, możemy tworzyć migawki wielowoluminiowe.
Tworzenie migawki obejmującej wiele woluminów
- Przejdź do
Elastic Block Store>Snapshotsw panelu nawigacyjnym strony zarządzania instancjami EC2. KliknijCreate Snapshot.
- Wybierz typ zasobu: Instancja .
- Wprowadź identyfikator instancji EC2, której woluminy chcesz wykonać dla niej kopię zapasową za pomocą migawek EBS.
Wszystkie woluminy podłączone do wybranej instancji zostaną zaznaczone automatycznie.
- Wprowadź opis, który pomoże Ci znaleźć migawkę EBS w AWS w razie potrzeby. W naszym przykładzie opis brzmi: EBS migawka blog 02 .
- Zaznacz pole wyboru Kopiuj tagi z woluminu , jeśli chcesz użyć tagów przypisanych do woluminów EBS.
- Po kliknięciu
Create Snapshotzostaną utworzone migawki wszystkich wybranych woluminów.
Jeśli proces zakończy się powodzeniem, pojawi się następujący komunikat:
Create Snapshot Request Succeeded
Wyświetlane są dwa identyfikatory migawek Amazon: snap-0f95000000000de71 oraz snap – 0a91000000000769b w naszym przypadku.
Możesz zapisać te wartości identyfikatorów i kliknąć jeden z nich, aby sprawdzić status tworzenia migawki. Zaraz po zainicjowaniu tworzenia migawki status operacji to oczekuje i zmienia się na zakończono po zakończeniu procesu.
Utworzono nową migawkę dla każdego woluminu.
Tworzenie migawek za pomocą AWS CLI
Możesz użyć AWS CLI jako alternatywy dla konsoli zarządzania AWS, jeśli wolisz interfejs wiersza poleceń lub musisz zautomatyzować tworzenie migawek.
Polecenie do tworzenia migawki EBS w AWS CLI to:
aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "This is a test snapshot for the blog"
Wynik powinien wyglądać tak:
{
"Description": "This is a test snapshot for the blog",
"Tags": [],
"Encrypted": false,
"VolumeId": "vol-0b4a51e1cea333d01",
"State": "pending",
"VolumeSize": 8,
"StartTime": "2021-08-28T21:06:01.000Z",
"Progress": "",
"OwnerId": "012345678910",
"SnapshotId": "snap-0689749a39a7b822b"
}
Polecenie do tworzenia migawki z tagami:
aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description 'Prod backup' --tag-specifications
'ResourceType=snapshot,Tags=[{Key=Blog,Value=Test},{Key=AWS,Value=EC2-snapshot}]'
Jak przywrócić instancję EC2 przy użyciu migawek EBS
Utworzyliśmy migawki woluminów EBS podłączonych do instancji Amazon EC2. Migawki te stanowią formę kopii zapasowej danych w AWS. Teraz dowiedzmy się, jak utworzyć instancję EC2 z migawki poprzez przywrócenie:
- określonych woluminów EBS w AWS
- całej instancji EC2
Przywracanie drugiego woluminu EBS
Przywróćmy drugi wolumin EBS (o rozmiarze 1 GiB) z migawki. Wolumin ten służy do przechowywania plików, a system operacyjny nie jest na nim zainstalowany.
-
Elastic Block StoreW panelu nawigacyjnym konsoli zarządzania EC2 przejdź do . W polu wyszukiwania wpisujemy „ blog ”, aby wyświetlić wszystkie migawki utworzone dla woluminów EBS instancji EC2 wykorzystanej do napisania tego wpisu na blogu. Jest to przykład tego, dlaczego warto dodawać opisy i tagi. Wybierz migawkę woluminu o rozmiarze 1 GiB i utwórz nowy wolumin na podstawie tej migawki. Kliknij prawym przyciskiem myszy migawkę i w menu, które się otworzy, wybierz opcję „ ”. Zdefiniuj wymagane parametry woluminu na stronie „ ” w sekcji „Create Volume”: wybierz typ woluminu oraz określ jego rozmiar, strefę dostępności, opcje szyfrowania, klucze tagów i wartości. Strefa dostępności musi być taka sama jak w przypadku instancji EC2 (w naszym przypadku „ ” „eu-central-1c”). Rozmiar woluminu jest taki sam jak rozmiar oryginalnego woluminu, którego kopię zapasową wykonano (1 GiB) w naszym przykładzie. Kluczem tagu jest blog a wartością jest recovered volume 1 . Kliknij , aby zakończyć i utworzyć wolumin EBS przy użyciu migawki EBS. Zobaczysz następujący komunikat: Create Volume Request Succeeded Możesz zapisać identyfikator woluminu. W naszym przypadku nowy identyfikator woluminu to vol-09cd000000000b502 . Przywracanie woluminu systemowego Aby przywrócić instancję EC2, należy przywrócić wolumin EBS, na którym zainstalowany jest system operacyjny. W tym przypadku można utworzyć obraz na podstawie migawki woluminu EBS używanego przez system operacyjny gościa i uruchomić instancję przy użyciu tego obrazu (przywrócona instancja EC2). Tworzenie obrazu W konsoli zarządzania EC2 przejdź do i wybierz potrzebną migawkę woluminu EBS, na którym zainstalowany jest system operacyjny gościa. Wybieramy najnowszą migawkę woluminu o rozmiarze 8 GiB używanego przez system operacyjny gościa (Ubuntu Server). Ta migawka woluminu EBS została utworzona podczas tworzenia migawki wielowoluminowej dla instancji EC2. Kliknij prawym przyciskiem myszy migawkę i w menu, które się otworzy, wybierz opcję „ ”. W oknie, które się otworzy, wprowadź wymagane informacje i wybierz opcje tworzenia obrazu z migawki EBS. Używamy następujących parametrów. Nazwa: blog-recovered Opis: Przywrócony z migawki EBS (blog) Pozostałe ustawienia pozostawiamy jako domyślne. Kliknij przycisk „ ”. >Snapshots
-
Create Volume
-
Create Volume
-
Elastic Block Store>Snapshots
Create Image
- Po wysłaniu żądania „Utwórz obraz” otworzy się okno dialogowe . Kliknij identyfikator obrazu, aby wyświetlić informacje o nim (w naszym przypadku: AMI-08ed800000000872a ). Poczekaj, aż tworzenie obrazu się zakończy.
Uruchamianie obrazu
Po utworzeniu obrazu kliknij go prawym przyciskiem myszy i wybierz opcję Launch.
Otworzy się kreator tworzenia nowej instancji EC2. Należy wybrać opcje instancji. Możesz wybrać opcje takie same, jak te wybrane dla oryginalnej maszyny wirtualnej, której kopię zapasową wykonano. Możesz również przywrócić instancję na nową, bardziej wydajną instancję EC2.
Uwaga: Zostaniemy przekierowani do Step 2 kreatora (zamiast Step 1. Choose AMI), ponieważ wybraliśmy już blog-recovered AMI ze strony z listą obrazów AMI.
Step 2: Choose an Instance Type.Jako typ instancji wybieramy t2.micro . Kliknij Next na każdym etapie kreatora, aby kontynuować.
Step 3: Configure Instance. Skonfiguruj szczegóły zgodnie z wymaganiami, w tym ustawienia sieciowe, role IAM, zachowanie podczas wyłączania itp.
Step 4: Add Storage jest ważne podczas odzyskiwania instancji EC2 przy użyciu migawek EBS. Kliknij Add New Volume. Na tej stronie zostanie dodany nowy wiersz z opcjami woluminu. Wprowadź identyfikator potrzebnej migawki woluminu w polu Snapshot .
Wpisujemy snap-0a91000000000769b, co jest identyfikatorem naszej migawki woluminu o rozmiarze 1 GiB. W naszym przykładzie domyślnie wybrany jest wolumin o rozmiarze 8 GiB. Możemy ustawić rozmiar woluminu na 1 GiB, tak jak skonfigurowano to dla oryginalnego woluminu EBS. Można również wybrać urządzenie pamięci masowej, typ woluminu, szyfrowanie oraz opcje usuwania po zakończeniu działania.
Step 5: Add Tags. Upewnij się, że tagi są przydatne do celów wyszukiwania. Tagi są stosowane do wszystkich woluminów i instancji. W tym przykładzie kluczem tagu jest blog a wartością jest recovered VM 01 .
Step 6: Configure Security Group. Edytuj parametry, aby kontrolować ruch sieciowy dla instancji EC2.
Step 7: Review Instance Launch. Sprawdź szczegóły uruchomienia instancji i kliknij Launch , aby zakończyć. Musisz wybrać parę kluczy lub utworzyć nową, aby uzyskać dostęp do instancji EC2.
- Wyświetlona zostanie strona Launch Status . Kliknij
View instances.
- Wprowadź nazwę odzyskanej instancji ( blog-recovered w naszym przypadku). Status odzyskanej instancji E2 to running . Oba woluminy EBS odzyskane z migawek EBS zostały podłączone do instancji EC2 (patrz zrzut ekranu poniżej).
Sprawdzanie przywróconych plików
Sprawdźmy, czy pliki utworzone przed wykonaniem ostatniej migawki zostały odzyskane:
Wyświetl listę podłączonych urządzeń blokowych:
lsblk
Wyświetl listę plików w bieżącym katalogu domowym użytkownika:
ls -al
Pliki snapshot01.txt i snapshot2.txt utworzone przed wykonaniem pierwszej i drugiej migawki woluminu EBS, na którym zainstalowany jest system operacyjny, są obecne.
Zamontuj partycję znajdującą się na drugim dysku (wolumin EBS):
sudo mount /dev/xvdb1 /disk2/
Nazwa partycji została zmieniona na /dev/xvdb1. Pamiętaj, że po przywróceniu instancji może być konieczna edycja pliku /etc/fstab w celu automatycznego montowania.
ls -al /disk2/
d2-file01.txt znajduje się w systemie plików przechowywanym na drugim woluminie EBS po przywróceniu.
Instancja AWS EC2 wraz ze wszystkimi podłączonymi woluminami EBS została pomyślnie przywrócona z migawek EBS. Wszystkie potrzebne dane zostały zachowane.
Wniosek
Można wykonać kopię zapasową pojedynczego woluminu lub wszystkich woluminów, korzystając z migawek wielowoluminowych. Jest to bardzo przydatna natywna funkcja AWS służąca do ochrony danych i odzyskiwania awaryjnego. Należy jednak pamiętać, że przechowywanie migawek EBS w chmurze Amazon wiąże się z dodatkowymi kosztami, ponieważ wykorzystuje się dodatkową przestrzeń dyskową w chmurze. Ponadto istnieją inne ograniczenia związane z wykorzystaniem migawek EBS do tworzenia kopii zapasowych, takie jak fakt, że system tworzenia migawek nie rozpoznaje plików zapisywanych w momencie wykonywania migawki. W rezultacie kopie zapasowe wykonane przy użyciu migawek EBS są spójne pod względem awarii, ale nie są spójne z aplikacją.
NAKIVO Backup & Replication to rozwiązanie do ochrony danych, które obsługuje tworzenie kopie zapasowe spójne z aplikacją i replik instancji Amazon EC2. Rozwiązanie to pozwala również znacznie uprościć i zautomatyzować proces tworzenia kopii zapasowych i odzyskiwania danych. Szybko odzyskaj całą instancję EC2 z kopii zapasowej bez konieczności odzyskiwania woluminów EBS, tworzenia instancji EC2 i ręcznego dołączania woluminów do utworzonej instancji EC2.






























