Hoe Een Snapshot Van Een EC2 Instantie Te Maken Voor AWS EC2 Data Bescherming

Als u Amazon Web Services (AWS) gebruikt om EC2-instanties (VM’s) uit te voeren in Elastic Compute Cloud, heeft u verschillende manieren om uw workloads te beschermen tegen gegevensverlies veroorzaakt door softwarestoringen, malware-infecties, per ongeluk verwijderen, onder andere. Een optie die voor u beschikbaar is, is de ingebouwde back-upfunctie van AWS voor EC2-instanties genaamd EBS-snapshots. In deze blogpost wordt uitgelegd hoe u een snapshot van een EC2-instantie kunt maken door EBS-volumesnapshots te gebruiken met gedetailleerde voorbeelden van het configuratieproces.

Wat zijn EBS-snapshots?

EBS-snapshots zijn incrementele kopieën van een Elastic Block Store (EBS) volume die zijn opgeslagen in Amazon S3. Dit betekent dat wanneer u voor de eerste keer een EBS-snapshot maakt, een volledige back-up wordt gemaakt, en alleen gewijzigde gegevens worden gekopieerd voor de daaropvolgende EBS-snapshots. EBS-volumes zijn virtuele schijven die zijn gekoppeld aan EC2-instanties.

Zelfs als EBS-snapshots zijn opgeslagen in Amazon S3, kunt u de snapshots in S3-opslag niet handmatig openen. U kunt deze snapshots beheren in de EC2-beheerconsole.

Let op: De termen AWS EC2-snapshot en Amazon-snapshot worden soms ook gebruikt om te verwijzen naar EBS-snapshots.

Hoe EBS-snapshots werken

EBS-snapshots zijn blokniveau-back-ups van EC2-instantiegegevens die het EBS-volume vertegenwoordigen op het specifieke moment waarop het opdracht voor de snapshot is uitgegeven. Dit betekent dat als de instantie actief is, de gegevensblokken die na het starten van het nemen van de snapshot naar de EBS-volumes zijn geschreven, niet worden opgeslagen in de snapshot. Als gevolg hiervan zijn EBS-snapshots crash-consistent en geen applicatie-consistente back-ups.

Merk op dat EBS-snapshots niet hetzelfde zijn als snapshots in de context van VMware vSphere en Microsoft Hyper-V. Hyper-V en VMware-snapshots zijn geen back-ups en kunnen geen goede back-ups vervangen.

Er zijn echter beperkingen aan EBS-snapshots, waaronder het ontbreken van plannings- en retentieopties, geen mogelijkheid om lokale kopieën te maken, evenals de complexiteit van het maken van een applicatie-consistente EC2-snapshot om het herstel te vereenvoudigen.

Hoe een snapshot te maken in de AWS-console voor EC2-instanties

De AWS Management Console is de GUI-webinterface die wordt gebruikt om alle AWS-computing-, opslag- en andere resources te beheren, inclusief het maken van EBS-snapshots.

Om toegang te krijgen tot de EC2-instantie waarvoor u een snapshot wilt maken:

  1. Meld u aan bij de AWS Management Console met een account dat de vereiste machtigingen heeft voor het maken van EC2-instanties, EBS-volumes en EBS-snapshots.
  2. Klik op Diensten en in het Berekenen-gedeelte, klik op EC2 om de beheerconsole voor EC2-instanties, EBS-volumes en andere EC2-functies te openen.

We hebben een EC2-instantie voorbereid om de stappen te demonstreren om EBS-snapshots te maken. De parameters van onze EC2-instantie, die we gaan back-uppen en herstellen met behulp van EBS-snapshots, zijn de volgende:

Naam: blog-temp

EC2-instantie-ID: i-0071290000000cb84

Instantietype: t2.micro

Beschikbaarheidszone: eu-central-1c

EBS-volume 1: vol-0617000000000763c

Volumetype: gp2

Volumegrootte: 8 GB

Het gastbesturingssysteem (OS) dat op de EC2-instantie draait, is Ubuntu Server (Linux).

Bestanden schrijven naar het EBS-volume

Laten we twee bestanden maken op de virtuele schijf die aan de EC2-instantie is gekoppeld voordat we een snapshot maken. Op deze manier kunnen we controleren of deze bestanden worden hersteld nadat de instantie is hersteld vanuit de EBS-snapshot. We maken twee bestanden in de gebruikers thuismap:

lspci > file01.txt

echo "test EC2 snapshot 01" > snapshot01.txt

De instantie voorbereiden

Stop de EC2-instantie om ervoor te zorgen dat de snapshot consistente gegevens bevat. De reden hiervoor is dat EBS-volumes op blokniveau werken. Wanneer een EBS-snapshot wordt genomen, wordt de staat van het EBS-volume op dat moment in de tijd opgeslagen. Opslagblokken worden zoals ze zijn opgeslagen. Het systeem is niet op de hoogte van bewerkingen die zijn uitgevoerd met bestanden op het bestandssysteemniveau op dat moment. Als er bestanden worden geschreven op een EBS-volume wanneer een snapshot wordt genomen, bevat de snapshot inconsistente gegevens. Het effect is vergelijkbaar met het loskoppelen van een stroomkabel van een fysieke computer terwijl er bestanden worden geschreven.

Als u een snapshot wilt maken van een niet-systeem EBS-volume, kunt u het bestandssysteem van het besturingssysteem ontkoppelen om ervoor te zorgen dat er geen bestandsschrijfoperaties op het volume plaatsvinden. Hibernation moet worden uitgeschakeld voor de EC2-instantie om een snapshot te maken.

Om uw EC2-instantie voor te bereiden op het maken van een snapshot:

  1. Open de pagina met de lijst met EC2-instanties in de EC2-beheerconsole. Klik met de rechtermuisknop op de instantienaam en klik in het contextmenu op Instantie stoppen.

  1. Zoek het volume dat wordt gebruikt door de EC2-instantie. Klik op het tabblad Opslag en klik op het volume-ID van het betreffende EBS-volume (vol-0617000000000763c in ons geval).

Een snapshot maken

We zijn klaar om een snapshot van de EC2-instantie te maken:

  1. Selecteer het EBS-volume (klik op het selectievakje aan de linkerkant van de regel) en klik op Acties > Snapshot maken.

  1. Voer een beschrijving in, stel de versleutelingsinstellingen in en voeg een tag toe. Ik gebruik de volgende parameters:
  • Beschrijving: EBS snapshot blog 01
  • Niet versleuteld

Klik op Maak Snapshot.

Opmerking: We gebruiken het niet-versleutelde volume en maken een niet-versleutelde snapshot. In dit geval kunnen versleutelingsinstellingen voor de snapshot handmatig worden ingesteld. Wanneer u een snapshot maakt van een versleuteld volume, wordt de snapshot automatisch versleuteld.

  1. U zou het volgende bericht en de snapshot-ID moeten zien:

Snapshot Aanmaakverzoek Gelukt
snap-0778000000000ab40

Klik op de snapshot-ID om een pagina te openen met de snapshot-opties en -status.

  1. De wachtend snapshotstatus betekent dat gegevens van het EBS-volume nu worden overgebracht naar Amazon S3. Wacht tot het maken van de snapshot is voltooid (de status wordt gewijzigd in voltooid). De tijd is afhankelijk van de grootte van de gegevens die naar de snapshot zijn opgeslagen.

Hoe u snapshots van meerdere volumes kunt maken

Het is gebruikelijk om een EC2-instantie te vinden die meerdere EBS-volumes gebruikt. In dat geval kunt u een snapshot van meerdere volumes maken voor alle EBS-volumes die aan die EC2-instantie zijn gekoppeld voor een Amazon EC2-back-up.

In dit gedeelte behandelen we:

Het maken van een tweede EBS-volume voor de EC2-instantie

Laten we eerst een tweede EBS-volume toevoegen aan onze EC2-instantie, die we voor demonstratiedoeleinden gebruiken:

  1. In het navigatievenster van de EC2-beheerconsole, ga naar Elastic Block Store > Volumes. Klik op Volume maken.

  1. Voor Beschikbaarheidszone moet de regio hetzelfde zijn als die van de instantie (eu-central-1c in ons geval).

Voer het volume type/grootte in, stel de versleutelingsopties in en voer tags in. Tags helpen bij het vinden van het volume in de lijst met volumes. We stellen de grootte van het volume in op 1 GiB, en gebruiken de volgende tags:

  • Sleutel: blog

  • Waarde: tijdelijk volume 2

Klik op Volume maken.

  1. Onthoud (of schrijf op) het id van het volume (vol-0b4a0000000003d01 in ons geval). Klik op het volume-id om de eigenschappen van het volume te openen.

  1. Bevestig het volume aan de EC2-instantie. Klik met de rechtermuisknop op het volume of klik op Acties en klik in het menu dat opent op Volume koppelen.

  1. Selecteer de instantie waaraan u het EBS-volume wilt koppelen. U moet het EC2-instantie-ID selecteren. In ons geval is het instantie-ID i-0071290000000cb84.

U kunt het apparaat selecteren in het gastbesturingssysteem dat wordt gebruikt om toegang te krijgen tot het gekoppelde volume. In ons geval wordt /dev/sdf gebruikt.

Klik op Koppelen om het nieuwe volume aan de EC2-instantie te koppelen.

Opmerking: Nuttige informatie over het hernoemen van schijfapparaten wordt weergegeven in de opmerking. In ons geval wordt /dev/sdf hernoemd naar /def/xvdf in het gast-OS.

Er zijn nu twee volumes gekoppeld aan onze EC2-instantie (blog-temp):

vol-0617000000000763c

vol-0b4a0000000003d01

Gegevens schrijven naar het tweede EBS-volume

Vervolgens zullen we een bestand maken op het tweede EBS-volume. Dit bestand zal worden gebruikt om te controleren of alle gegevens zijn hersteld nadat het volume is hersteld vanuit de EBS-snapshot. Om deze reden zullen we een partitie maken, een bestandssysteem maken en het bestandssysteem koppelen aan het gast-Linux-OS dat op de EC2-instantie wordt uitgevoerd.

Hoewel we ons richten op bewerkingen met EBS-snapshots in plaats van bewerkingen in het gast-Linux-OS dat op de EC2-instantie wordt uitgevoerd, vermelden we de gebruikte commando’s om bewerkingen met volumes beter te begrijpen.

Opslag beheren

  • Gebruik lsblk om details weer te geven over blokapparaten in Linux.
  • Gebruik df -h om de opslagruimte op gemonteerde schijven te controleren.
  • Gebruik mount om gemonteerde schijven te controleren.

Een partitie maken en koppelen

Een partitie maken en formatteren op het tweede EBS-volume in parted:

sudo parted -l

parted /dev/xvdf

(parted) mklabel msdos

(parted) print

(parted) mkpart primary ext4 1MB 955MB

(parted) print

(parted) quit

Het maken van een bestandssysteem op de voorbereide partitie:

mkfs.ext4 /dev/xvdf1

Het maken van de map om te gebruiken als het aankoppelingspunt:

mkdir disk2

Het aankoppelen van de partitie met het bestandssysteem aan de aangemaakte map:

mount /dev/xvdf1 /disk2/

Gaan naar de map van de aangekoppelde partitie:

cd /disk2

Het schrijven van wijzigingen naar de 2 EBS-volumes

  1. Het maken van het bestand op de partitie die zich bevindt op het tweede EBS-volume dat is gekoppeld aan de EC2-instantie die Linux draait:

echo “EBS-snapshot voor disk 2” > /disk2/d2-file01.txt

  1. Wijzigingen aanbrengen op de eerste schijf om een nieuwe EBS-snapshot te maken van het eerste volume dat door de EC2-instantie wordt gebruikt. Beide volumes moeten wijzigingen bevatten vanaf de staat waarin de vorige snapshot is genomen.

We maken het bestand snapshot02.txt aan op het eerste volume om wijzigingen die zijn opgeslagen in de nieuwe snapshot van het eerste volume gemakkelijker te detecteren.

Zodra de twee EBS-volumes met nieuwe gegevens zijn gekoppeld aan de EC2-instantie, kunnen we multi-volume snapshots maken.

Het maken van de meerdelige momentopname

  1. Ga naar Elastic Block Store > Momentopnames in het navigatievenster van de beheerpagina van de EC2-instanties. Klik op Momentopname maken.

  1. Selecteer het brontype: Instantie.
  2. Voer de instantie-ID in van de benodigde EC2-instantie waarvan u de volumes wilt back-uppen door middel van EBS-momentopnames.

Alle aan de geselecteerde instantie gekoppelde volumes worden automatisch geselecteerd.

  1. Voer een beschrijving in om de EBS-momentopname in AWS te vinden wanneer dat nodig is. In ons voorbeeld is de beschrijving EBS momentopname blog 02.
  2. Selecteer het selectievakje Kopieer tags van volume als u de aan EBS-volumes toegewezen tags wilt gebruiken.
  3. Zodra op Momentopname maken is geklikt, worden momentopnames voor alle geselecteerde volumes gemaakt.

Als het proces succesvol is, ziet u het volgende bericht:

Momentopnameverzoek is geslaagd

Er worden twee Amazon-momentopname-identificatoren weergegeven: snap-0f95000000000de71 en snap0a91000000000769b in ons geval.

U kunt deze ID-waarden opslaan en op een ervan klikken om de status van de momentopnamecreatie te controleren. Direct na het starten van de momentopnamecreatie is de status van de bewerking wachten en verandert deze in voltooid zodra het proces is voltooid.

A new snapshot for each volume has been created.

Het gebruik van AWS CLI om momentopnames te maken

U kunt AWS CLI gebruiken als alternatief voor de AWS Management Console als u de opdrachtregelinterface verkiest of als u momentopnamecreatie wilt automatiseren.

De opdracht om een EBS-snapshot te maken in AWS CLI is:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "Dit is een test-snapshot voor de blog"

De uitvoer moet er zo uitzien:

{

    "Beschrijving": "Dit is een test-snapshot voor de blog",

    "Tags": [],

    "Versleuteld": false,

    "VolumeId": "vol-0b4a51e1cea333d01",

    "Status": "in behandeling",

    "VolumeSize": 8,

    "StartTime": "2021-08-28T21:06:01.000Z",

    "Voortgang": "",

    "EigenaarId": "012345678910",

    "SnapshotId": "snap-0689749a39a7b822b"

}

De opdracht om een snapshot met tags te maken:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description 'Prod-back-up' --tag-specifications

'ResourceType=snapshot,Tags=[{Key=Blog,Value=Test},{Key=AWS,Value=EC2-snapshot}]'

Hoe een EC2-instantie te herstellen met behulp van EBS-snapshots

We hebben snapshots gemaakt van de aan de Amazon EC2-instantie gekoppelde EBS-volumes. Deze snapshots zijn een vorm van gegevensback-up in AWS. Laten we nu eens kijken hoe we een EC2-instantie kunnen maken vanuit een snapshot door deze te herstellen:

  • specifieke EBS-volumes in AWS
  • de hele EC2-instantie

Het herstellen van het tweede EBS-volume

Laten we de tweede EBS-volume (met een grootte van 1 GiB) herstellen vanaf de snapshot. Dit volume wordt gebruikt om bestanden op te slaan en het besturingssysteem is niet op dit volume geïnstalleerd.

  1. In het navigatiepaneel van de EC2-beheerconsole, ga naar Elastic Block Store > Snapshots.

We voeren ” blog ” in het zoekveld in om alle snapshots weer te geven die zijn gemaakt voor EBS-volumes van de EC2-instantie die wordt gebruikt voor het schrijven van deze blogpost. Dit is een voorbeeld van waarom het de moeite waard is om beschrijvingen en labels toe te voegen.

  1. Selecteer de snapshot van het 1-GiB volume en maak een nieuw volume van de snapshot. Klik met de rechtermuisknop op de snapshot en klik in het menu dat wordt weergegeven op Create Volume.

  1. Stel de benodigde volumeparameters in op de Create Volume pagina: selecteer het volumetype en definieer de volumegrootte, beschikbaarheidszone, versleutelingsopties, tagsleutels en waarden.

De beschikbaarheidszone moet hetzelfde zijn als die van de EC2-instantie (eu-central-1c in ons geval).

De volumegrootte is in ons voorbeeld dezelfde als de grootte van het oorspronkelijk geretourneerde volume (1 GiB).

De tag-sleutel is blog en de waarde is hersteld volume 1.

  1. Klik op Create Volume om te voltooien en het EBS-volume te maken met behulp van de EBS-snapshot.

U zult de volgende boodschap zien:

Create Volume Request Succeeded

U kunt de volume-ID opslaan. De nieuwe volume-id is in ons geval vol-09cd000000000b502.

Het herstellen van een systeemvolume.

Om een EC2-instantie te herstellen, moet u de EBS-schijf herstellen waarop het besturingssysteem is geïnstalleerd. In dit geval kunt u een afbeelding maken van de momentopname van de EBS-schijf die wordt gebruikt door het gastbesturingssysteem en de instantie starten met behulp van deze afbeelding (de herstelde EC2-instantie).

Het maken van de afbeelding

  1. In de EC2-beheerconsole gaat u naar Elastic Block Store > Snapshots en selecteert u de benodigde momentopname van de EBS-schijf waarop het gastbesturingssysteem is geïnstalleerd.

We selecteren de meest recente momentopname van de 8-GiB schijf die wordt gebruikt door het gastbesturingssysteem (Ubuntu Server). Deze EBS-schijfmomentopname is gemaakt toen we de momentopname van meerdere schijven voor de EC2-instantie hebben gemaakt.

Klik met de rechtermuisknop op de momentopname en kies in het menu dat verschijnt Afbeelding maken.

  1. In het venster dat verschijnt, voert u de benodigde informatie in en selecteert u de opties om een afbeelding te maken van de EBS-momentopname. We gebruiken de volgende parameters.

Naam: blog-hersteld

Beschrijving: Hersteld vanuit een EBS-momentopname (blog)

De overige instellingen laten we op hun standaardwaarden.

Klik op Maken.

  1. Het dialoogvenster Aanvraag voor het maken van een afbeelding ontvangen wordt geopend. Klik op het afbeeldings-id om informatie over de afbeelding te bekijken (ami-08ed800000000872a in ons geval). Wacht tot het maken van de afbeelding is voltooid.

De afbeelding starten

Zodra de afbeelding is gemaakt, klikt u met de rechtermuisknop op de afbeelding en kiest u Starten.

De nieuwe wizard voor het maken van EC2-instanties wordt geopend. U moet de instantieopties selecteren. U kunt de opties selecteren die hetzelfde zijn als de opties die zijn geselecteerd voor de originele VM die is geback-upt. U kunt ook de instantie herstellen naar een nieuwe, krachtigere EC2-instantie.

Opmerking: We worden doorgestuurd naar Stap 2 van de wizard (in plaats van Stap 1. Kies AMI) omdat we al de blog-hersteld AMI hebben geselecteerd uit de pagina met de lijst van AMI’s.

Stap 2: Kies een instantietype. We selecteren t2.micro als het instantietype. Klik op Volgende bij elke stap van de wizard om door te gaan.

Stap 3: Configureer de instantie. Configureer de details afhankelijk van uw vereisten, inclusief netwerkinstellingen, IAM-rollen, shutdown-gedrag, enz.

Stap 4: Voeg opslag toe is belangrijk wanneer u een EC2-instantie herstelt met behulp van EBS-snapshots. Klik op Nieuw volume toevoegen. Er wordt een nieuwe regel met volumeopties toegevoegd op deze pagina. Voer het ID van de benodigde volumesnapshot in het Snapshot-veld in.

We voeren snap-0a91000000000769b, in, wat het ID is van onze snapshot van het 1-GiB-volume. De 8-GiB grootte van het volume is standaard geselecteerd in ons voorbeeld. We kunnen de volumesize instellen op 1 GiB zoals geconfigureerd voor het originele EBS-volume. U kunt ook de opslagapparaat, volumetype, encryptie en opties voor verwijderen bij beëindiging selecteren.

Stap 5: Voeg Tags Toe. Zorg ervoor dat de tags nuttig zijn voor zoekdoeleinden. Tags worden toegepast op alle volumes en instanties. In dit voorbeeld is de tag-sleutel blog en de waarde is herstelde VM 01.

Stap 6: Configureer Beveiligingsgroep. Bewerk de parameters om het netwerkverkeer voor uw EC2-instantie te regelen.

Stap 7: Controleer Instantie Lancering. Controleer de details van uw instantie lancering en klik op Lanceren om te voltooien. U moet een sleutelpaar selecteren of een nieuw maken om toegang te krijgen tot de EC2-instantie.

  1. De Lanceringsstatus pagina wordt nu weergegeven. Klik op Bekijk instanties.

  1. Voer een naam in voor de herstelde instantie (blog-hersteld in ons geval). De status van de herstelde E2-instantie is actief. Beide EBS-volumes hersteld uit de EBS-snapshots zijn gekoppeld aan de EC2-instantie (zie de onderstaande schermafbeelding).

Controleren van de herstelde bestanden

Laten we controleren of de bestanden die zijn aangemaakt vóór het nemen van de laatste snapshot zijn hersteld:

Lijst de gekoppelde blokapparaten op:

lsblk

Lijst de bestanden van de huidige (home) directory van de gebruiker op:

ls -al

De snapshot01.txt en snapshot2.txt bestanden die zijn aangemaakt vóór het nemen van de eerste en tweede snapshots van het EBS-volume waarop het besturingssysteem is geïnstalleerd, zijn aanwezig.

Monteer de partitie die zich bevindt op de tweede schijf (EBS-volume):

sudo mount /dev/xvdb1 /disk2/

De partitienaam is gewijzigd naar /dev/xvdb1. Houd er rekening mee dat u mogelijk /etc/fstab moet bewerken na het herstellen van de instantie voor automatisch koppelen.

ls -al /disk2/

d2-file01.txt staat op het bestandssysteem opgeslagen op het tweede EBS-volume na het herstellen.

De AWS EC2-instantie, met alle gekoppelde EBS-volumes, is succesvol hersteld van EBS-snapshots. Alle benodigde gegevens zijn bewaard gebleven.

Conclusie

U kunt een enkel volume back-uppen of alle volumes back-uppen door multi-volume snapshots te gebruiken. Dit is een zeer handige native AWS-functionaliteit voor gegevensbescherming en rampenherstel. Let echter op dat er extra kosten worden gemaakt wanneer EBS-snapshots worden opgeslagen in de Amazon-cloud omdat er extra cloudopslag wordt gebruikt. Bovendien zijn er andere beperkingen bij het gebruik van EBS-snapshots voor back-ups, zoals het snapshotsysteem dat niet op de hoogte is van bestanden die op het moment van het nemen van de snapshot worden geschreven. Als gevolg hiervan zijn back-ups gemaakt met EBS-snapshots crash-consistent en niet toepassingsconsistent.

NAKIVO Backup & Replication is een oplossing voor gegevensbescherming die de creatie van toepassingsbewuste back-ups en replica’s van Amazon EC2-instanties ondersteunt. U kunt de oplossing ook gebruiken om het back-up- en herstelproces aanzienlijk te vereenvoudigen en automatiseren. Herstel snel de volledige EC2-instantie vanuit een back-up zonder de noodzaak om EBS-volumes te herstellen, een EC2-instantie te maken en de volumes handmatig aan een gemaakte EC2-instantie te koppelen.

Source:
https://www.nakivo.com/blog/how-to-create-snapshots-of-ec2-instance/