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, plusieurs solutions s’offrent à vous pour protéger vos Workloads contre la perte de données due, entre autres, à une défaillance logicielle, une infection par un logiciel malveillant ou des suppressions accidentelles. L’une des options à votre disposition est la fonctionnalité de sauvegarde intégrée à AWS pour les instances EC2, appelée « snapshots EBS ». Cet article de blog explique comment créer un instantané d’une instance EC2 par l’intermédiaire de snapshots de volumes EBS, avec des exemples détaillés du processus de configuration.
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, puis seules les données modifiées sont copiées pour les instantanés EBS suivants. Les volumes EBS sont des disques virtuels associés à des instances EC2.
Même si les instantanés EBS sont stockés dans Amazon S3, vous ne pouvez pas y accéder manuellement depuis 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 » 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’une instance EC2 qui représentent le volume EBS à un moment précis, celui où la commande de création de l’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 création de l’instantané sont et non enregistrés dans l’instantané. Par conséquent, les instantanés EBS sont Sauvegardes cohérentes en cas de panne et non cohérentes au niveau de l’application.
Notez que les instantanés EBS ne sont pas identiques aux instantanés dans le contexte de VMware vSphere et Microsoft Hyper-V. Hyper-V et Les instantanés VMware ne sont pas des sauvegardes et ne peuvent pas remplacer des sauvegardes appropriées.
Cependant, il existe limites des 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é liée à la création d’un instantané EC2 cohérent au niveau de l’application pour 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 AWS de calcul, de stockage et autres, y compris la création d’instantanés EBS.
Pour accéder à l’instance EC2 pour laquelle vous souhaitez créer un instantané :
- 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.
- Cliquez sur
Serviceset, dans la sectionCompute, cliquez surEC2pour ouvrir la console de gestion des instances EC2, des volumes EBS et d’autres fonctionnalités EC2.
Nous avons préparé une instance EC2 afin de vous montrer les étapes à suivre pour créer des instantanés EBS. Les paramètres de notre instance EC2, que nous allons sauvergarder et réaliser 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) exécuté sur l’instance EC2 est Ubuntu Server (Linux).
Écriture de fichiers sur le volume EBS
Créons deux fichiers sur le disque virtuel associé à l’instance EC2 avant de créer un instantané. De cette manière, nous pourrons vérifier si ces fichiers sont effectués après la restauration de l’instance à partir de l’instantané EBS. Nous créons deux fichiers dans le répertoire personnel de l’utilisateur :
lspci > file01.txt
echo "test EC2 snapshot 01" > snapshot01.txt
Préparation de l’instance
Arrêtez l’instance EC2 pour vous assurer que l’instantané contient des données cohérentes. En effet, les volumes EBS fonctionnent au niveau des blocs. Lorsqu’un instantané EBS est créé, l’état du volume EBS à ce moment précis est sauvegardé. Les blocs de stockage sont sauvegardé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 au moment de la création d’un instantané, celui-ci contient des données incohérentes. L’effet est similaire à celui du débranchement du câble d’alimentation d’un ordinateur physique pendant l’écriture de fichiers.
Si vous souhaitez créer 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 sur l’instance EC2 pour pouvoir créer un instantané.
Pour préparer votre instance EC2 à la création d’un instantané :
- 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, puis, dans le menu contextuel, cliquez sur «
Stop instance» (Créer un instantané).
- Recherchez le volume utilisé par l’instance EC2. Cliquez sur l’onglet
Storagepuis sur l’ID du volume EBS approprié ( vol-0617000000000763c dans notre cas).
Création d’un instantané
Nous sommes prêts à créer un instantané de l’instance EC2 :
- Sélectionnez le volume EBS (cochez la case à gauche de la ligne) puis cliquez sur
Actions>Create Snapshot.
- Saisissez une description, définissez les paramètres de chiffrement et ajoutez une balise. J’utilise les paramètres suivants :
- Description : Instantané EBS blog 01
- Chiffrement : Non chiffré
Cliquez sur Create Snapshot.
Remarque :Nous utilisons un 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 créez un instantané d’un volume chiffré, celui-ci est automatiquement chiffré.
- Le message suivant et l’ID de l’instantané devraient s’afficher :
Création de l’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é.
- Le statut « en attente » du snapshot signifie que les données du volume EBS sont en cours de transfert vers Amazon S3. Attendez que la création de l’instantané soit terminée (le statut passe alors à « terminé » ). La durée dépend de la taille des données enregistrées dans l’instantané.
Comment créer des instantanés multi-volumes
Il est courant qu’une instance Amazon EC2 utilise plusieurs volumes EBS. Dans ce cas, vous pouvez créer un instantané multi-volumes pour tous les volumes EBS attachés à cette instance EC2 afin de sauvegarder Amazon EC2.
Dans cette section, nous aborderons :
- Création d’un deuxième volume EBS
- Écriture de données sur le volume
- Création d’un instantané EBS multi-volumes
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 :
- Dans le volet de navigation de la console de gestion EC2, accédez à
Elastic Block Store>Volumes. Cliquez surCreate Volume.
- Pour la zone de disponibilité , la région doit être la même que celle de l’instance ( eu-central-1c dans notre cas).
Saisissez le type et la taille du volume, définissez les options de chiffrement et saisissez des balises. Les balises permettent de retrouver le volume dans la liste des volumes. Nous définissons la taille du volume à 1 GiB et utilisons les balises suivantes :
-
Clé : blog
-
Valeur : temp volume 2
Cliquez sur Create Volume.
- Mémorisez (ou notez) l’ID du volume (vol-0b4a0000000003d01 dans notre cas). Cliquez sur l’ID du volume pour ouvrir ses propriétés.
- Attachez le volume à l’instance EC2. Cliquez avec le bouton droit sur le volume ou cliquez sur
Actionspuis, dans le menu qui s’ouvre, cliquez surAttach Volume.
- 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 du 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 fournies dans la remarque. Dans notre cas, /dev/sdf est renommé /dev/xvdf dans le système d’exploitation invité.

Deux volumes sont désormais attachés à notre instance EC2 ( blog-temp ) :
vol-0617000000000763c
vol-0b4a0000000003d01
Écriture de 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 cette raison, nous allons créer une partition, créer un système de fichiers, puis monter ce 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 celles effectuées dans le système d’exploitation Linux invité s’exécutant sur l’instance EC2, nous listons les commandes utilisées afin de mieux comprendre les opérations sur les volumes.
Managing storage
- Utilisez
lsblkpour afficher les détails des périphériques blocs sous Linux. - Utilisez
df -hpour vérifier l’espace de stockage sur les disques montés. - Utilisez
mountpour 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
Enregistrement des modifications sur les 2 volumes EBS
- Création du fichier sur la partition située sur le deuxième volume EBS attaché à l’instance EC2 fonctionnant sous Linux :
echo "EBS snapshot for disk 2" > /disk2/d2-file01.txt
- Apporter des modifications sur le premier disque afin de créer un nouvel instantané EBS du premier volume utilisé par l’instance EC2. Les deux volumes doivent contenir les modifications intervenues depuis la prise de l’instantané précédent.
Nous créons le fichier snapshot02.txt sur le premier volume afin de détecter plus facilement les modifications enregistrées dans le nouvel instantané du premier volume.
Une fois que les deux volumes EBS contenant les nouvelles données sont attachés à l’instance EC2, nous pouvons créer des instantanés multi-volumes.
Création d’un instantané multi-volumes
- Accédez à
Elastic Block Store>Snapshotsdans le volet de navigation de la page de gestion des instances EC2. Cliquez surCreate Snapshot.
- Sélectionnez le Type de ressource : Instance .
- Saisissez 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.
- Saisissez une description qui vous aidera à retrouver l’instantané EBS dans AWS en cas de besoin. Dans notre exemple, la description est Instantané EBS blog 02 .
- Cochez la case Copier les balises du volume si vous souhaitez utiliser les balises attribuées aux volumes EBS.
- Une fois que vous avez cliqué sur
Create Snapshot, des instantanés sont créés pour tous les volumes sélectionnés.
Si le processus aboutit, le message suivant s’affiche :
Création de l’instantané réussie
Deux identifiants d’instantané Amazon s’affichent : snap-0f95000000000de71 et snap – 0a91000000000769b dans notre cas.
Vous pouvez enregistrer ces identifiants et cliquer sur l’un d’entre eux pour vérifier le statut de création de l’instantané. Juste après le lancement de la création de l’instantané, le statut de l’opération est en attente et passe à terminé une fois le processus terminé.
Un nouveau instantané a été créé pour chaque volume.
Utilisation de l’AWS CLI pour créer des instantanés
Vous pouvez utiliser l’AWS CLI comme alternative à la console de gestion AWS si vous préférez l’interface en ligne de commande ou si vous avez besoin d’automatiser la création d’instantanés.
La commande permettant de créer un instantané EBS dans AWS CLI est la suivante :
aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "This is a test snapshot for the blog"
La sortie 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": "",
"OwnerId": "012345678910",
"SnapshotId": "snap-0689749a39a7b822b"
}
La commande permettant de créer un instantané avec des balises :
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}]'
Comment restaurer une instance Amazon EC2 à l’aide d’instantanés EBS
Nous avons créé des instantanés des volumes EBS attachés à l’instance Amazon EC2. Ces instantanés constituent une forme de sauvegarde des données dans AWS. Voyons maintenant comment créer une instance EC2 à partir d’un instantané en effectuant une restauration :
- des volumes EBS spécifiques dans AWS
- l’instance EC2 dans son intégralité
Restauration du deuxième volume EBS
Restaurons le deuxième volume EBS (d’une taille de 1 GiB) à partir de l’instantané. Ce volume est utilisé pour stocker des fichiers, et le système d’exploitation n’y est pas installé.
- Dans le volet de navigation de la console de gestion EC2, accédez à
Elastic Block Store>Snapshots.
Nous saisissons « blog » dans le champ de recherche pour afficher tous les instantanés créés pour les volumes EBS de l’instance EC2 utilisée pour la rédaction de cet article de blog. Voici un exemple illustrant pourquoi il est utile d’ajouter des descriptions et des balises.
- Sélectionnez l’instantané du volume de 1 Gio et créez un nouveau volume à partir de cet instantané. Cliquez avec le bouton droit sur l’instantané et, dans le menu qui s’ouvre, cliquez sur «
Create Volume».
- Définissez les paramètres de volume requis sur la page « » > «Create Volume» > « » : sélectionnez le type de volume et définissez sa taille, la zone de disponibilité, les options de chiffrement, les clés de balises et leurs valeurs.
La zone de disponibilité doit être la même que celle de l’instance EC2 ( eu-central-1c dans notre cas).
La taille du volume est identique à celle du volume sauvé d’origine (1 GiB) dans notre exemple.
La clé de balise est blog et la valeur est volume de récupération 1 .
- Cliquez sur
Create Volumepour terminer et créer le volume EBS à partir de l’instantané EBS.
Le message suivant s’affiche :
Création du volume réussie
Vous pouvez enregistrer l’ID du volume. Dans notre cas, le nouvel ID de volume est vol-09cd000000000b502 .
Restauration d’un volume système
Pour restaurer une instance EC2, vous devez restaurer le volume EBS sur lequel le système d’exploitation est installé. Dans ce cas, vous pouvez créer une image à partir de l’instantané du volume EBS utilisé par le système d’exploitation invité et lancer l’instance à l’aide de cette image (l’instance EC2 restaurée).
Création de l’image
- Dans la console de gestion EC2, rendez-vous sur
Elastic Block Store>Snapshotset sélectionnez l’instantané requis du volume EBS sur lequel le système d’exploitation invité est installé.
Nous sélectionnons le dernier instantané du volume de 8 GiB utilisé par le système d’exploitation invité (Ubuntu Server). Cet instantané du volume EBS a été créé lorsque nous avons créé l’instantané multi-volumes pour l’instance EC2.
Cliquez avec le bouton droit sur l’instantané et, dans le menu qui s’affiche, cliquez sur « Create Image» .
- Dans la fenêtre qui s’ouvre, saisissez les informations requises et sélectionnez les options permettant de créer une image à partir de l’instantané EBS. Nous utilisons les paramètres suivants.
Nom : blog-recovered
Description : Récupéré à partir d’un instantané EBS (blog)
Les autres paramètres sont laissés par défaut.
- La requête « Créer une image » ( ) a été reçue. La boîte de dialogue « » s’ouvre. Cliquez sur l’ID de l’image pour afficher les informations la concernant ( ami-08ed800000000872a dans notre cas). Attendez que la création de l’image soit terminée.
Lancement de l’image
Une fois l’image créée, cliquez avec le bouton droit de la souris sur celle-ci et sélectionnez « Launch».
L’assistant de création d’une nouvelle instance EC2 s’ouvre. Vous devez sélectionner les options de l’instance. Vous pouvez sélectionner les mêmes options que celles choisies pour la machine virtuelle d’origine qui a été sauvegardée. Vous pouvez également restaurer l’instance sur une nouvelle instance EC2 plus puissante.
Remarque : Nous sommes redirigés vers Step 2 de l’assistant (au lieu de Step 1. Choose AMI) car nous avons déjà sélectionné l’AMI « blog-récupération » depuis la page contenant la liste des AMI.
Step 2: Choose an Instance Type.Nous sélectionnons t2.micro comme type d’instance. Cliquez sur Next à chaque étape de l’assistant pour continuer.
Step 3: Configure Instance. Configurez les détails en fonction de vos conditions à remplir, notamment les paramètres réseau, les rôles IAM, le comportement à l’arrêt, etc.
Step 4: Add Storage est important lors de la récupération d’une instance EC2 par l’intermédiaire d’instantanés EBS. Cliquez sur Add New Volume. Une nouvelle ligne avec les options de volume est ajoutée sur cette page. Saisissez l’ID de l’instantané de volume requis dans le champ Snapshot .
Nous saisissons snap-0a91000000000769b, qui correspond à l’ID de notre instantané du volume de 1 Gio. Dans notre exemple, la taille du volume de 8 Gio est sélectionnée par défaut. Nous pouvons définir la taille du volume sur 1 Gio, comme configuré pour le volume EBS d’origine. Vous pouvez également sélectionner le périphérique de stockage, le type de volume, le chiffrement et les options de suppression à la résiliation.
Step 5: Add Tags. Assurez-vous que les balises sont utiles pour la recherche. Les balises s’appliquent à tous les volumes et à toutes les instances. Dans cet exemple, la clé de balise est blog et la valeur est recovered VM 01 .
Step 6: Configure Security Group. Modifiez les paramètres pour contrôler le trafic réseau de votre instance EC2.
Step 7: Review Instance Launch. Vérifiez les détails de lancement de votre instance, puis cliquez sur Launch pour terminer. Vous devez sélectionner une paire de clés ou en créer une nouvelle pour accéder à l’instance EC2.
- La page Statut du lancement s’affiche désormais. Cliquez sur
View instances.
- Entrez un nom pour l’instance récupérée ( blog-recovered dans notre cas). Le statut de l’instance E2 récupérée est en cours d’exécution . Les deux volumes EBS restaurés à partir des snapshots EBS sont montés sur l’instance EC2 (voir la capture d’écran ci-dessous).
Vérification des fichiers restaurés
Vérifions si les fichiers créés avant la prise du dernier instantané ont bien été récupérés :
Liste des périphériques bloc montés :
lsblk
Liste des fichiers du répertoire actuel (home) de l’utilisateur :
ls -al
Les fichiers snapshot01.txt et snapshot2.txt , créés avant la prise des premier et deuxième instantanés du volume EBS sur lequel le système d’exploitation est installé, sont bien présents.
Montez la partition située sur le deuxième disque (volume EBS) :
sudo mount /dev/xvdb1 /disk2/
Le nom de la partition a été modifié en /dev/xvdb1. N’oubliez pas que vous devrez peut-être modifier le fichier /etc/fstab après la restauration de l’instance pour activer le montage automatique.
ls -al /disk2/
d2-file01.txt est présent sur le système de fichiers stocké sur le deuxième volume EBS après la restauration.
L’instance AWS EC2, avec tous les volumes EBS attachés, a été restaurée avec succès à partir des instantanés EBS. Toutes les données nécessaires sont conservées.
Conclusion
Vous pouvez sauvergarder un seul volume ou tous les volumes par l’intermédiaire d’instantanés multi-volumes. Il s’agit d’une fonctionnalité native d’AWS très pratique pour la protection des données et la reprise après sinistre. Notez toutefois que le stockage des instantanés EBS dans le cloud Amazon engendre des coûts supplémentaires, car il nécessite l’utilisation d’espace de stockage dans le cloud supplémentaire. De plus, l’utilisation des instantanés EBS pour les sauvegardes présente d’autres limitations, telles que le fait que le système de création d’instantanés ne prend pas en compte les fichiers en cours d’écriture au moment où l’instantané est pris. Par conséquent, les sauvegardes effectuées à l’aide d’instantanés EBS sont cohérentes en cas de panne (crash-consistent), mais ne sont pas cohérentes au niveau de l’application (application-consistent).
NAKIVO Backup & Replication est une solution de protection des données qui prend en charge la création de sauvegardes cohérentes avec les applications et de réplicas d’instances Amazon EC2. Vous pouvez également utiliser cette solution pour simplifier et automatiser considérablement le processus de sauvegarde et de récupération. Récupérez rapidement l’intégralité de l’instance EC2 à partir d’une sauvegarde sans avoir à restaurer les volumes EBS, à créer une instance EC2 et à attacher manuellement les volumes à l’instance EC2 créée.






























