Jak wykonać migawkę instancji EC2 w celu ochrony danych AWS EC2
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 ochrony swoich obciążeń przed utratą danych spowodowaną między innymi awarią oprogramowania, infekcją złośliwym oprogramowaniem czy przypadkowym usunięciem danych. Jedną z dostępnych opcji jest wbudowana w AWS funkcja wykonywania kopii zapasowej 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 wykonuje się pełną kopię zapasową, a w kolejnych migawkach EBS kopiowane są wyłącznie zmienione dane. 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 ręcznego dostępu 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 odzwierciedlają wolumin EBS w konkretnym momencie wydania polecenia tworzenia migawki. Oznacza to, że jeśli instancja jest uruchomiona, 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 zachowujące spójność 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 oraz Migawki VMware nie są kopiami zapasowymi i nie mogą zastąpić prawidłowych 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 graficzny interfejs internetowy 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 uprawnienia wymagane 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 w celu zademonstrowania kroków tworzenia migawek EBS. Parametry naszej instancji EC2, której kopię zapasową zamierzamy wykonać i którą zamierzamy przywrócić 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 gościa (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. Wynika to z faktu, ż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, w jakim się znajdują. System nie uwzględnia operacji wykonywanych na plikach na poziomie systemu plików w tym momencie. Jeśli w momencie 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 zapisu plików.
Jeśli chcesz utworzyć migawkę woluminu EBS niebędącego woluminem systemowym, 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 wybierz opcję
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, skonfiguruj ustawienia szyfrowania i dodaj tag. Używam następujących parametrów:
- Opis: Blog o migawkach EBS 01
- Szyfrowanie: Nieszyfrowane
Kliknij Create Snapshot.
Uwaga:Korzystamy z woluminu nieszyfrowanego i tworzymy nieszyfrowaną migawkę. W tym przypadku ustawienia szyfrowania migawki można skonfigurować ręcznie. Podczas tworzenia migawki zaszyfrowanego woluminu migawka jest automatycznie szyfrowana.
- Powinien pojawić się następujący komunikat wraz z identyfikatorem migawki:
Żądanie utworzenia migawki zakończyło 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. Należy poczekać na zakończenie tworzenia migawki (status zmieni się na zakończona ). Czas ten 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ę obejmującą wiele woluminów 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.
- W przypadku strefy dostępności region musi być taki sam jak region instancji ( eu-central-1c w naszym przypadku).
Wprowadź typ i rozmiar woluminu, ustaw opcje szyfrowania oraz wprowadź tagi. Tagi ułatwiają znalezienie woluminu 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, które będzie służyć do uzyskiwania dostępu do podłączonego woluminu. W naszym przypadku /dev/sdf jest używany.
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 /def/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 po przywróceniu woluminu ze migawki EBS wszystkie dane zostały odzyskane. W tym celu utworzymy partycję, utworzymy system plików i zamontujemy go w gościnnym systemie operacyjnym Linux działającym na instancji EC2.
Mimo że skupiamy się na operacjach związanych z migawkami EBS, a nie na operacjach w gościnnym systemie operacyjnym Linux działającym na instancji EC2, podajemy użyte polecenia, aby lepiej zrozumieć operacje związane z woluminami.
Managing storage
- Użyj polecenia
lsblk, aby wyświetlić szczegóły dotyczące urządzeń blokowych w systemie Linux. - Użyj polecenia
df -h, aby sprawdzić ilość wolnego miejsca na zamontowanych dyskach. - Użyj polecenia
mount, aby 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 łatwiej 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:
Operacja utworzenia migawki zakończyła się powodzeniem
Wyświetlane są dwa identyfikatory migawek Amazon: snap-0f95000000000de71 oraz snap – 0a91000000000769b w naszym przypadku.
Możesz zapisać te identyfikatory 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 chcesz zautomatyzować tworzenie migawek.
Polecenie służące do utworzenia migawki EBS w AWS CLI brzmi:
aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "This is a test snapshot for the blog"
Wynik powinien wyglądać następująco:
{
"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 służące do utworzenia 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:
- konkretnych 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.
- W panelu nawigacyjnym konsoli zarządzania EC2 przejdź do
Elastic Block Store>Snapshots.
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ę „
Create Volume” (Utwórz wolumin z migawki).
- Zdefiniuj wymagane parametry woluminu na stronie „ ” (Utwórz wolumin) : 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 ( eu-central-1c w naszym przypadku).
W naszym przykładzie rozmiar woluminu jest taki sam jak rozmiar oryginalnego woluminu, którego kopię zapasową wykonano (1 GiB).
Kluczem tagu jest blog , a wartością jest recovered volume 1 .
- Kliknij
Create Volume, aby zakończyć i utworzyć wolumin EBS przy użyciu migawki EBS.
Zobaczysz następujący komunikat:
Operacja utworzenia woluminu zakończyła się powodzeniem
Możesz zapisać identyfikator woluminu. W naszym przypadku identyfikator nowego 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
Elastic Block Store>Snapshotsi wybierz odpowiednią 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ę „ Create Image”.
- W oknie, które się otworzy, wprowadź wymagane informacje i wybierz opcje potrzebne do utworzenia obrazu na podstawie migawki EBS. Używamy następujących parametrów.
Nazwa: blog-recovered
Opis: Przywrócono z migawki EBS (blog)
Pozostałe ustawienia pozostawiamy jako domyślne.
- Po otrzymaniu żądania „Utwórz obraz” ( ) otworzy się okno dialogowe „ ”. Kliknij identyfikator obrazu, aby wyświetlić informacje o nim (w naszym przypadku: am-08ed800000000872a ). Poczekaj, aż zakończy się tworzenie obrazu.
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 w kreatorze (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.Wybieramy t2.micro jako typ instancji. Kliknij Next na każdym etapie kreatora, aby kontynuować.
Step 3: Configure Instance. Skonfiguruj szczegóły zgodnie z własnymi 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. W polu Snapshot wprowadź identyfikator potrzebnej migawki woluminu.
Wpisujemy snap-0a91000000000769b, co stanowi identyfikator naszej migawki woluminu o rozmiarze 1 GiB. W naszym przykładzie domyślnie wybrano wolumin o rozmiarze 8 GiB. Możemy ustawić rozmiar woluminu na 1 GiB, zgodnie z konfiguracją 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świetla się teraz strona Launch Status . Kliknij
View instances.
- Wprowadź nazwę odzyskanej instancji ( blog-recovered w naszym przypadku). Status odzyskanej instancji E2 to działa . Oba woluminy EBS odzyskane z migawek EBS zostały podłączone do instancji EC2 (zobacz zrzut ekranu poniżej).
Sprawdzanie przywróconych plików
Sprawdźmy, czy pliki utworzone przed wykonaniem najnowszej 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 oraz 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 włączenia 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 niezbędne 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ż zużywa 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 uwzględnia plików zapisywanych w momencie wykonywania migawki. W rezultacie kopie zapasowe utworzone za pomocą migawek EBS są spójne pod względem awarii (crash-consistent), a nie spójne pod względem aplikacji (application-consistent).
NAKIVO Backup & Replication to rozwiązanie do ochrony danych, które obsługuje tworzenie kopie zapasowe spójne z aplikacją oraz replik instancji Amazon EC2. Rozwiązanie to pozwala również znacznie uprościć i zautomatyzować proces tworzenia kopii zapasowych oraz odzyskiwania danych. Umożliwia szybkie odzyskanie całej instancji EC2 z kopii zapasowej bez konieczności odzyskiwania woluminów EBS, tworzenia instancji EC2 oraz ręcznego podłączania woluminów do utworzonej instancji EC2.






























