Azure

Sauvegarder votre site Internet dans un Azure Storage Account

Azure, la plate-forme Cloud de Microsoft

Je dispose de plusieurs sites Internet qui sont hébergés chez différents fournisseurs. Pour certain, j’opère la machine virtuelle et sa configuration tandis que dans d’autres cas il s’agit d’un hébergement clé en mains. La plupart du temps la société propose une solution de sauvegarde intégrée. Mais dans certains cas, il peut arriver que le datacenter de la société prenne feu et qu’on nous annonce que les backups étaient effectués au même endroit… Du coup, je ne saurais que trop vous conseiller de prendre le temps de vous assurer de faire une sauvegarde par vous-même. 🔥

(Ads)

Dans cet article, je vous propose de voir comment on peut sauvegarder rapidement et facilement son site Internet directement sur un Storage Account (STA) dans Azure. L’intérêt de ce service et qu’il vous offre un espace de stockage presque illimité avec la possibilité d’avoir plusieurs copies dans les différents datacenters de Microsoft.

Attention, contrairement à mes autres articles, il ne s’agit pas d’une procédure pas-à-pas. Je ne vais pas détailler l’ensemble des prérequis. Vous devez donc être à l’aise pour créer les composants nécessaires : VM, Storage Account. En cas de besoin, utilisez les commentaires.

Etape 0 – Installation des prérequis

Création d’une machine virtuelle Linux

Vous pourriez utiliser n’importe quel OS mais moi je vais prendre une Ubuntu LTS pour être tranquille plus longtemps. En termes de configuration, j’ai choisi une Standard B2s (2 vcpus, 4 GiB memory) mais vous pourriez prendre quelque-chose d’encore plus petit. Configurez également votre login/password ou clé SSH et connectez-vous à votre nouvelle VM.

Création d’un Storage Account dans Azure

Pour la création de votre STA, vous pouvez globalement garder les options par défaut. Je vous encourage à prendre un v2 afin d’être tranquille plus longtemps : general purpose v2 en performance standard. Au niveau du mode de réplication, j’ai choisi d’utiliser LRS – stockage localement redondant qui est suffisant pour moi puisque c’est déjà une sauvegarde et je cherche une solution optimisée en termes de coût.

Dans la même idée, je vous encourage à choisir le default access tier à Cold. C’est très important car nous n’allons pas vraiment accéder aux données de manière régulière – cette sauvegarde doit nous servir uniquement « en cas de besoin ». En configuration en Cold, nous allons faire descendre de beaucoup le prix de stockage des données. N’oubliez donc pas cette option.

Création d’un Storage Account dans Azure

Création d’une file hare dans votre STA

Dans votre Storage Account, allez dans l’option File-shares et créez un nouvel espace de stockage. Donnez-lui le petit de nom de votre choix et surtout choisissez l’option Tier: Cool.

Création d’un nouveau file share dans mon Storage Account en mode Cool

Etape 1 – Connexion de votre file share à votre VM Linux

Pour ce faire, utilisez directement le bouton Connect disponible au niveau de votre file share. Dans l’onglet Linux, vous allez retrouver un court script qui est déjà prêt à l’emploi. Copiez le contenu de ce script dans un fichier sur votre VM Linux avec votre éditeur favoris (dans mon cas nano) et donnez-lui les permissions de s’exécuter.

chmod +x mountSTA.sh

Ensuite, vous pouvez exécuter le script (voir même le mettre en démarrage automatique dans votre fichier crontab). C’est ce que j’ai fait pour ma part.

(Ads)

Si tout se passe bien, vous verrez un nouveau point de montage disponible sur votre VM Linux. Il aura une taille de 5 TB donc vous aurez de la marge pour backup votre site Internet. 🙂

Point de montage de votre Storage Account visible dans votre VM

Etape 2 – Backup votre site

Ensuite, l’idée est simple : j’ai créé une clé SSH sur ma VM afin qu’elle puisse se connecter en 1 clic à mon hébergement chez OVH, Online.net, Infomaniak ou autre.

Une fois connecté, je créé une archive compressée de l’ensemble des fichiers de mon site Internet avec les quelques lignes ci-dessous :

#!/bin/bash

# Date
d=$(date +%Y-%m-%d_%H-%M)

# Export de la BDD
mysqldump --no-create-db=true -server' -u'login' -p'password' database > /home/user/backups/"$d"_sql_backup_blog.sql

# Making the tar.gz for all the files
tar -czvf /home/user/backups/"$d"_backup_blog.tar.gz /home/user/public_html/*

Cela aura pour effet de générer 2 fichiers :

  • Un export du contenu de la base de données SQL (remplacez le login, password et database par les informations de votre site Internet). Si besoin, vous pouvez retrouver ces informations dans votre fichier wp-config.php.
  • Un fichier .tar.gz avec la date et l’heure qu’il était au moment de la génération. Pratique si l’on souhaite faire plusieurs backups par jour. Il contient l’ensemble des fichiers de mon site : images, fichiers PHP, etc.

J’obtiens quelque-chose comme ça :

Génération des backups sur mon hébergeur

Une fois que j’ai mes fichiers, je n’ai plus qu’à les rapatrier depuis mon hébergement vers ma VM dans Azure directement dans le dossier de mon Storage Account. Perso, j’ai utilisé la commande suivante :

scp ovh:/home/clients/user/perso-backup/* /mnt/infomaniak/

Attention, pour que ça marche cela suppose que vous avez créé une clé SSH pour que votre VM puisse se connecter à votre hébergement. Vous aurez également créé un fichier config dans votre dossier .ssh pour que le termes « ovh » soit reconnu (c’est un exemple).

Tous mes fichiers backups sont donc récupérés et copiés directement dans mon dossier /mnt/infomaniak qui correspond au nom du file share que j’ai créé sur mon Storage Account.

(Ads)

A ce moment-là, ma sauvegarde est terminée ! 👍

Si je positionne ces quelques lignes dans un script que j’exécute via mon crontab, alors je suis en capacité de faire un backup automatisé chaque jour de mon site Internet. Dans ce cas, après quelques jours de fonctionnement vous devriez voir quelque-chose similaire à la capture d’écran ci-dessous dans votre Storage Account via le portail Azure :

Aperçu de mes backups dans mon Storage Account

Etape 3 – Combien ça coûte ?

Et bien c’est là que c’est intéressant… 🤑

Coût de mes opérations de sauvegarde

L’ensemble du process va me coûter moins de 15 € / mois pour l’ensemble des ressources que j’ai choisi d’utiliser dans Azure. En effet, je laisse la VM fonctionner moins de 30 mins chaque jour le temps de faire le backup (je pourrais encore optimiser). Et surtout, le Storage Account est configuré en Cold – autrement dit tant que je n’accède pas ou ne télécharge pas les données… le prix est anecdotique.

Considérant que je dispose d’une souscription Azure de 130 $ renouvelée chaque mois automatiquement grâce à mon status de MCT (Microsoft Certified Trainer) – et bien on peut considérer que c’est gratuit (et il me reste encore du crédit pour faire autre chose).

Alors évidemment, ce n’est pas la seule solution. C’est 1 solution et il en existe plein pour ce type de besoin. Idéalement, la prochaine étape serait de faire du serverless à la place de ma VM mais je ne suis pas encore assez expérimenté là-dessus (un prochain article sans aucun doute). 😉

Share
Published by
thibault

Recent Posts

Pourquoi OpenAI renonce à se restructurer en société à but lucratif : 3 raisons clés

Pourquoi OpenAI renonce à se restructurer en société à but lucratif OpenAI renonce à se…

2 heures ago

Sécurité des messageries chiffrées : Pourquoi Telegram et Signal menacent de quitter la France

Sécurité des messageries chiffrées : Pourquoi Telegram et Signal menacent de quitter la France La…

1 jour ago

5 Alternatives à OneDrive pour le Stockage et le Partage de Documents en Ligne

5 alternatives à OneDrive pour le stockage et le partage de documents en ligne Dans…

2 jours ago

eSIM Android : Google facilite la sauvegarde et le transfert

eSIM Android : Google Facilite la Sauvegarde et le Transfert L'eSIM Android est sur le…

3 jours ago

Spotify et Apple : La fin d’une commission de 30% Révolutionne l’Économie des Applications

Spotify et Apple : La fin d'une commission de 30% Révolutionne l'Économie des Applications Après…

4 jours ago

Utilisation de ChatGPT dans Zapier

Utilisation de ChatGPT dans Zapier ChatGPT est devenu incontournable pour beaucoup de gens aujourd'hui. Mais…

1 semaine ago