Comment prendre un instantané d’une instance EC2 pour la protection des données AWS EC2

Si vous utilisez Amazon Web Services (AWS) pour exécuter des instances EC2 (VMs) dans Elastic Compute Cloud, vous disposez de plusieurs moyens pour protéger vos Workloads contre la perte de données causée, entre autres, par une défaillance logicielle, une infection par un logiciel malveillant ou une suppression accidentelle. L’une des options à votre disposition est la fonctionnalité de sauvegarde intégrée d’AWS pour les instances EC2, appelée « instantanés EBS ». Cet article de blog explique comment créer un instantané d’une instance EC2 par l’intermédiaire d’instantanés de volume EBS, avec des exemples détaillés du processus de configuration.

NAKIVO for AWS EC2 Backup

NAKIVO for AWS EC2 Backup

Backup of Amazon EC2 instances to EC2, AWS S3 and onsite. Anti-ransomware options. Fast recovery of instances and application objects.

Que sont les instantanés EBS ?

Les instantanés EBS sont des copies incrémentielles d’un volume Elastic Block Store (EBS) stockées dans Amazon S3. Cela signifie que lorsque vous créez un instantané EBS pour la première fois, une sauvegarde complète est créée, et seules les données modifiées sont copiées pour les instantanés EBS suivants. Les volumes EBS sont des disques virtuels attachés à des instances EC2.

Même si les instantanés EBS sont stockés dans Amazon S3, vous ne pouvez pas accéder manuellement aux instantanés dans le stockage S3. Vous pouvez gérer ces instantanés dans la console de gestion EC2.

Remarque : Les termes « instantané AWS EC2 » et « instantané Amazon EC2 » sont parfois également utilisés pour désigner les instantanés EBS.

Fonctionnement des instantanés EBS

Les instantanés EBS sont des sauvegardes au niveau des blocs des données d’instance EC2 qui représentent le volume EBS à un moment précis, lorsque la commande d’instantané a été émise. Cela signifie que si l’instance est en cours d’exécution, les blocs de données écrits sur les volumes EBS après le lancement de la prise d’instantané ne sont pas enregistrés dans l’instantané. Par conséquent, les instantanés EBS sont des sauvegardes cohérentes en cas de panne et non des sauvegardes cohérentes au niveau des applications.

Notez que les instantanés EBS ne sont pas identiques aux instantanés dans le contexte de VMware vSphere et Microsoft Hyper-V. Les instantanés Hyper-V et VMware ne sont pas des sauvegardes et ne peuvent pas remplacer des sauvegardes appropriées.

Cependant, il existe des limitations aux instantanés EBS, notamment l’absence d’options de planification et de conservation, l’impossibilité de créer des copies sur site, ainsi que la complexité de la création d’un instantané EC2 cohérent avec l’application afin de simplifier la récupération.

Comment créer un instantané dans la console AWS pour les instances EC2

La console de gestion AWS est l’interface web graphique utilisée pour gérer toutes les ressources informatiques, de stockage et autres d’AWS, y compris la création d’instantanés EBS.

Pour accéder à l’instance EC2 pour laquelle vous souhaitez créer un instantané :

  1. Connectez-vous à la console de gestion AWS par un compte disposant des autorisations requises pour créer des instances EC2, des volumes EBS et des instantanés EBS.
  2. Cliquez sur Services et dans la section Compute , cliquez sur EC2 pour ouvrir la console de gestion des instances EC2, des volumes EBS et d’autres fonctionnalités EC2.

Using AWS Management Console to create snapshot of EC2 instance (EBS snapshot)

Nous avons préparé une instance EC2 pour illustrer les étapes de création d’instantanés EBS. Les paramètres de notre instance EC2, que nous allons sauvegarder et effectuer la récupération à l’aide d’instantanés EBS, sont les suivants :

Nom : blog-temp

ID de l’instance EC2 : i-0071290000000cb84

Type d’instance : t2.micro

Zone de disponibilité : eu-central-1c

Volume EBS 1 : vol-0617000000000763c

Type de volume : gp2

Taille du volume : 8 Go

Le système d’exploitation invité (OS) fonctionnant sur l’instance EC2 est Ubuntu Server (Linux).

Écriture de fichiers sur le volume EBS

Créons deux fichiers sur le disque virtuel attaché à l’instance EC2 avant de créer un instantané. De cette façon, nous pouvons vérifier si ces fichiers sont récupérés après la restauration de l’instance à partir de l’instantané EBS. Nous créons deux fichiers dans le répertoire d’accueil de l’utilisateur :

lspci > file01.txt

echo "test EC2 snapshot 01" > snapshot01.txt

Creating files on an instance before taking snapshot of EC2 instance

Préparation de l’instance

Arrêtez l’instance EC2 pour vous assurer que l’instantané contient des données cohérentes. La raison en est que les volumes EBS fonctionnent au niveau des blocs. Lorsqu’un instantané EBS est pris, l’état du volume EBS à ce moment précis est enregistré. Les blocs de stockage sont enregistrés tels quels. Le système n’a pas connaissance des opérations effectuées sur les fichiers au niveau du système de fichiers à ce moment-là. Si des fichiers sont en cours d’écriture sur un volume EBS lorsqu’un instantané est pris, celui-ci contiendra des données incohérentes. L’effet est similaire à celui obtenu lorsque l’on débranche le câble d’alimentation d’un ordinateur physique pendant l’écriture de fichiers.

Si vous souhaitez prendre un instantané d’un volume EBS non système, vous pouvez démonter le système de fichiers du système d’exploitation afin de vous assurer qu’aucune opération d’écriture de fichiers n’est en cours sur le volume. La mise en veille prolongée doit être désactivée pour que l’instance EC2 puisse prendre un instantané.

Pour préparer votre instance EC2 à la prise d’un instantané :

  1. Ouvrez la page contenant la liste des instances EC2 dans la console de gestion EC2. Cliquez avec le bouton droit sur le nom de l’instance et, dans le menu contextuel, cliquez sur Stop instance.

Stopping the EC2 instance before creating a new snapshot in AWS

  1. Localisez le volume utilisé par l’instance EC2. Cliquez sur l’onglet Stockage et cliquez sur l’ID du volume EBS approprié (vol-0617000000000763c dans notre cas).

Selecting the EBS volume attached to the EC2 instance to create snapshot of EC2 instance

Prise d’un instantané

Nous sommes prêts à créer un instantané de l’instance EC2 :

  1. Sélectionnez le volume EBS (cliquez sur la case à cocher à gauche de la ligne) et cliquez sur Actions > Créer un instantané.

Selecting the Create Snapshot option in the Actions menu

  1. Entrez une description, définissez les paramètres de chiffrement et ajoutez une balise. J’utilise les paramètres suivants :
  • Description : Blog sur les instantanés EBS 01
  • Chiffrement : Non chiffré

Cliquez sur Créer un instantané.

Remarque : Nous utilisons le volume non chiffré et créons un instantané non chiffré. Dans ce cas, les paramètres de chiffrement de l’instantané peuvent être définis manuellement. Lorsque vous prenez un instantané d’un volume chiffré, celui-ci est automatiquement chiffré.

Setting description, encryption, and tags in the Create Snapshot window

  1. Vous devriez voir le message suivant et l’ID de l’instantané :

Création de la demande d’instantané réussie
snap-0778000000000ab40

Cliquez sur l’ID de l’instantané pour ouvrir une page présentant les options et le statut de l’instantané.

EC2 Create snapshot request succeeded

  1. Le statut en attente de l’instantané signifie que les données du volume EBS sont en cours de transfert vers Amazon S3. Warten auf die Erstellung des instantanés (der Statut ändert sich auf completed). La durée dépend de la taille des données enregistrées dans l’instantané.

The create ebs snapshot process is in progress

Comment prendre des instantanés multi-volumes

Il est courant de trouver une instance EC2 utilisant plusieurs volumes EBS. Dans ce cas, vous pouvez créer un instantané multi-volumes pour tous les volumes EBS attachés à cette instance Amazon EC2 afin de réaliser une sauvegarde Amazon EC2.

Dans cette section, nous aborderons les points suivants :

Création d’un deuxième volume EBS pour l’instance EC2

Commençons par ajouter un deuxième volume EBS à notre instance EC2, que nous utilisons à des fins de démonstration :

  1. Dans le volet de navigation de la console de gestion EC2, accédez à Elastic Block Store > Volumes. Cliquez sur Créer un volume.

Adding a volume for steps on how to take snapshots in aws of multiple EBS volumes

  1. Pour Availability Zone, la région doit être la même que celle de l’instance (eu-central-1c dans notre cas).

Entrez le type/la taille du volume, définissez les options de chiffrement et entrez les balises. Les balises permettent de trouver le volume dans la liste des volumes. Nous avons défini la taille du volume à 1 Gio et utilisons les balises suivantes :

  • Clé : blog

  • Valeur : temp volume 2

Cliquez sur Créer un volume.

Options to create an EBS volume

  1. Mémorisez (ou notez) l’identifiant du volume (vol-0b4a0000000003d01 dans notre cas). Cliquez sur l’identifiant du volume pour ouvrir les propriétés du volume.

The ebs volume has been created

  1. Attachez le volume à l’instance EC2. Cliquez avec le bouton droit sur le volume ou cliquez sur Actions et, dans le menu qui s’ouvre, cliquez sur Attach Volume.

Attaching the EBS volume to the EC2 instance

  1. Sélectionnez l’instance à laquelle vous devez attacher le volume EBS. Vous devez sélectionner l’ID de l’instance EC2. Dans notre cas, l’ID de l’instance est i-0071290000000cb84.

Vous pouvez sélectionner le périphérique dans le système d’exploitation invité utilisé pour accéder au volume attaché. Dans notre cas, /dev/sdf est utilisé.

Cliquez sur Attach pour attacher le nouveau volume à l’instance EC2.

Remarque :Des informations utiles sur le renommage des périphériques de disque sont affichées dans la remarque. Dans notre cas /dev/sdf est renommé /def/xvdf dans le système d’exploitation invité.
Options to attach the EBS volume to the EC2 instance

Deux volumes sont désormais attachés à notre instance EC2 (blog-temp) :

vol-0617000000000763c

vol-0b4a0000000003d01

Two EBS volumes are attached to instance to create snapshot of EC2 instance

Écriture des données sur le deuxième volume EBS

Suivant, nous allons créer un fichier sur le deuxième volume EBS. Ce fichier servira à vérifier si toutes les données ont été récupérées après la restauration du volume à partir de l’instantané EBS. Pour cela, nous allons créer une partition, créer un système de fichiers et monter le système de fichiers sur le système d’exploitation Linux invité s’exécutant sur l’instance EC2.

Même si nous nous concentrons sur les opérations avec les instantanés EBS plutôt que sur les opérations dans le système d’exploitation Linux invité s’exécutant sur l’instance EC2, nous listons les commandes utilisées pour mieux comprendre les opérations avec les volumes.

GESTION du stockage

  • Utilisez lsblk pour afficher les détails des périphériques blocs sous Linux.
  • Utilisez df -h pour vérifier l’espace de stockage sur les disques montés.
  • Utilisez mount pour vérifier les disques montés.

Création et montage d’une partition

Création et formatage d’une partition sur le deuxième volume EBS dans parted :

sudo parted -l

parted /dev/xvdf

(parted) mklabel msdos

(parted) print

(parted) mkpart primary ext4 1MB 955MB

(parted) print

(parted) quit

Création d’un système de fichiers sur la partition préparée :

mkfs.ext4 /dev/xvdf1

Création du répertoire à utiliser comme point de montage :

mkdir disk2

Montage de la partition avec le système de fichiers dans le répertoire créé :

mount /dev/xvdf1 /disk2/

Accès au répertoire de la partition montée :

cd /disk2

Écriture des modifications sur les 2 volumes EBS

  1. Création du fichier sur la partition située sur le deuxième volume EBS attaché à l’instance EC2 exécutant Linux :

echo « Instantané EBS pour le disque 2 » > /disk2/d2-file01.txt

Creating a file to be restored on the EBS volume by using a snapshot in AWS

  1. Apportez des modifications au premier disque afin de créer un nouveau instantané EBS du premier volume utilisé par l’instance EC2. Les deux volumes doivent contenir les modifications apportées depuis la création de l’instantané précédent.

Nous créons le snapshot02.txt sur le premier volume afin de détecter plus facilement les modifications enregistrées dans le nouveau snapshot du premier volume.

Adding a file to the home directory stored on the first EBS volume

Une fois les deux volumes EBS contenant les nouvelles données attachés à l’instance EC2, nous pouvons créer des instantanés multi-volumes.

Création de l’instantané multi-volumes

  1. Accédez à Elastic Block Store > Snapshots dans le volet de navigation de la page de gestion des instances EC2. Cliquez sur Créer un instantané.

Clicking the Create Snapshot button in the Amazon web interface to take EC2 snapshots in AWS

  1. Sélectionnez le type de ressource : Instance.
  2. Entrez l’ID de l’instance EC2 dont vous souhaitez sauvergarder les volumes par l’intermédiaire d’instantanés EBS.

Tous les volumes attachés à l’instance sélectionnée sont automatiquement sélectionnés.

  1. Entrez une description qui vous aidera à retrouver l’instantané EBS dans AWS lorsque vous en aurez besoin. Dans notre exemple, la description est instantané EBS blog 02.
  2. Sélectionnez la case à cocher Copier les balises du volume si vous souhaitez utiliser les balises attribuées aux volumes EBS.
  3. Une fois que vous avez cliqué sur Créer un instantané, des instantanés sont créés pour tous les volumes sélectionnés.

How to take snapshot in AWS for multiple EBS volumes

Si le processus aboutit, le message suivant s’affiche :

Création de la demande d’instantané réussie

Deux identifiants d’instantané Amazon s’affichent : snap-0f95000000000de71 et snap0a91000000000769b dans notre cas.

Vous pouvez enregistrer ces valeurs d’ID et cliquer sur l’une d’elles pour vérifier le statut de création de l’instantané. Juste après avoir lancé la création de l’instantané, le statut de l’opération est en attente et passe à terminé une fois le processus terminé.

The EC2 create snapshot operation is started for multiple EBS volumes

Un nouvel instantané a été créé pour chaque volume.

Utilisation de l’interface CLI AWS pour créer des instantanés

Vous pouvez utiliser l’interface CLI AWS à la place de la console de gestion AWS si vous préférez l’interface en ligne de commande ou si vous devez automatiser la création d’instantanés.

La commande permettant de créer un instantané EBS dans l’interface CLI AWS est la suivante :

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "This is a test snapshot for the blog"

Le résultat devrait ressembler à ceci :

{

"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 » :

Les gens qui ont consulté cet article ont également lu