Il est très facile de faire des sauvegardes et des restaurations de nos serveurs AWS. C'est l'avantage d'utiliser des machines virtuelles dans le cloud !
Par défaut, AWS ne fait pas de sauvegarde de vos instances EC2 pour vous. Il va donc falloir que vous anticipiez (en général, il est préférable d'avoir fait une sauvegarde avant d'avoir fait planter son serveur... enfin je trouve). 😛
Déterminez votre méthode de sauvegarde
Vous avez 2 solutions pour sauvegarder une instance EC2. Chacune a ses avantages et ses défauts.
Créer une AMI depuis votre serveur est le plus simple. Tout le disque et toute la configuration du serveur seront copiés. En revanche, chaque AMI prend de la place (et peut finir par coûter de l'argent), car tout le contenu du serveur est copié à chaque fois.
Créer un instantané EBS (du disque) est le plus économique. Les sauvegardes sont incrémentielles : la première sauvegarde d'un disque de 10 Go prendra 10 Go, mais la seconde ne prendra que 1 Go si seul 1 Go a changé depuis la dernière fois. L'instantané est un peu plus compliqué à manipuler, car il faut rattacher le disque au serveur (rien de très complexe pour autant).
Que choisir ?
Je vais vous montrer les deux méthodes. Si vous hésitez, je vous invite à créer une AMI pour commencer, car c'est le plus simple.
Sauvegardez et restaurez une AMI
Voyons donc comment cela se passe avec une AMI. C'est la méthode la plus simple pour commencer.
Sauvegarde avec une AMI
Il vous suffit de sélectionner votre instance EC2, puis d'aller dans "Actions" > "Image" > "Créer l'image".
On vous demande alors de donner un nom à votre image (j'ai mis en exemple MyBackup) :
Vous n'avez pas besoin de changer quoi que ce soit ici. Donnez juste un nom à votre image, puis cliquez sur "Créer l'image".
Vous retrouverez votre image dans le menu "Images" > "AMI".
Restauration avec une AMI
Votre serveur a planté ? Vous voulez revenir en arrière ?
Il vous suffit tout simplement de vous rendre dans "Images" > "AMI" (voir capture plus haut), de sélectionner votre sauvegarde et de cliquer sur "Lancer". Un nouveau serveur sera alors lancé à partir de cette AMI, ce qui restaurera votre serveur dans l'état où il était au moment de la sauvegarde.
Si vous aviez créé une adresse IP élastique pour votre serveur, il vous suffit simplement de l'associer au nouveau serveur. Et hop ! Ni vu ni connu, vos visiteurs sont maintenant sur votre serveur restauré. 😊
Supprimer les vieilles AMI
Plus vous stockez d'AMI, plus vous allez utiliser d'espace. Au bout d'un moment, vous risquez de dépasser l'usage gratuit d'AWS. Le mieux est de faire le ménage régulièrement dans vos vieilles AMI. Faites "Actions" > "Désenregistrer une AMI" pour supprimer l'AMI.
Votre instantané EBS ne sera pas automatiquement supprimé. Rendez-vous ensuite dans les instantanés EBS puis faites "Actions" > "Supprimer". Ce sont les instantanés EBS qui prennent vraiment de la place, donc n'oubliez pas cette étape !
Sauvegardez et restaurez un EBS
Avec un instantané EBS, c'est un peu plus compliqué, mais c'est aussi plus économique. En effet, le premier instantané prend bien 10 Go si votre disque fait 10 Go, mais les suivants ne stockent que la différence. Ce sont des sauvegardes incrémentielles. Ainsi, la seconde sauvegarde fera uniquement 1 Go si seul 1 Go a changé depuis la première sauvegarde.
Sauvegarde avec un instantané EBS
Rendez-vous dans le menu "Elastic Block Store" > "Volume". Sélectionnez le disque qui correspond à l'instance que vous voulez sauvegarder. Ici cela sera facile, vous n'avez qu'un seul volume, normalement.
Cliquez ensuite sur "Actions" > "Créer un instantané". On vous demande de donner un nom à cet instantané :
L'instantané se crée alors.
Une fois l'instantané créé, il apparaît dans "Elastic Block Store" > "Instantanés" :
Restauration avec un instantané EBS
Votre serveur a planté ? Il faut le restaurer ?
C'est là que cela se corse (un peu). Commencez par sélectionner votre instantané EBS puis cliquez sur "Actions" > "Créer un volume" :
Au bout d'un moment, un nouveau volume EBS est créé à partir de votre instantané.
Ce n'est pas fini. Il faut maintenant :
Arrêter l'instance EC2.
Détacher le volume EBS "cassé" actuellement associé à l'instance. Depuis les volumes EBS, faites "Actions" > "Détacher un volume".
Attacher le volume EBS "propre" issu de la sauvegarde. Depuis les volumes EBS, faites "Actions" > "Attacher un volume".
Démarrer l'instance EC2.
Supprimer le volume EBS "cassé" qui ne sert plus à rien.
En clair, vous arrêtez le serveur, vous changez le disque, puis vous rallumez votre serveur. 🙃
Supprimer les vieux instantanés EBS
Si vous ne voulez pas stocker trop de sauvegardes (ce qui peut finir par coûter de l'argent), vous pouvez supprimer les anciennes sauvegardes dans la page "Instantanés".
Comme les sauvegardes sont incrémentielles, celles-ci ne prennent heureusement pas trop de place, en général.
En résumé
Une sauvegarde d'AMI enregistre la configuration de l'instance et crée une copie de tous les disques attachés à cette instance.
Un instantané EBS sauvegarde uniquement un disque à la fois. La sauvegarde est incrémentale.
Restaurer une AMI requiert la création d'une nouvelle instance.
Restaurer un volume EBS entraîne la création d'un nouveau volume, que l'on peut rattacher à une instance existante.
Après avoir fait le tour du service de calcul le plus important d’AWS, il est temps de nous intéresser à une autre problématique d’envergure : le stockage !