Stockez vos données sur un service PaaS

Azure propose depuis longtemps plusieurs méthodes efficaces pour le stockage de donnée dans le Cloud. Disponibles sous différentes formes, le compte de stockage est une méthode PaaS (Platform As A Service) simple, rapide à déployer et pouvant correspondre à de nombreux scénarios d’architecture.

Il y a tant de choses à dire sur le compte de stockage d’Azure, qu’un seul article ne suffira pas. Dans cet article, nous allons donc parcourir les principales fonctionnalités du compte de stockage à travers différentes questions que l’on peut naturellement se poser.

Quels sont les principaux bénéfices du compte de stockage Azure ?

Il est facile de résumer les principaux avantages à utiliser un compte de stockage Azure :

  • Résilient : comme beaucoup de services Azure, celui-ci affiche une haute disponibilité grâce à différents types de redondance (LRS/ZRS/GRS). De plus, les outils de sauvegarde natifs d’Azure s’y applique également.
  • Sécurisé : toute donnée sur un compte de stockage Azure est systématiquement chiffrée. Ce chiffrage est aussi gérable avec une clef CMK.
  • Adaptatif : la flexibilité est une composante majeure du compte de stockage Azure grâce à une tarification ajustable selon la fréquence et les besoins en taille et en performances.
  • Accessible : les données stockées sont accessibles depuis n’importe où dans le monde via le protocole HTTPS. Microsoft fournit également des bibliothèques clientes dans de nombreux langages, notamment .NET, Java, Node.js, Python, PHP, Ruby, Go.

Quels services de stockage sont alors possibles sur un Azure Storage Account ?

Un compte de stockage Azure propose 4 différents services de stockage, selon la nature même des objets à stocker :

  • Objets blob : stockage objet hautement scalable pour les données texte ou binaires.
  • Partage de fichier : partage de fichiers classique géré via le protocole SMB.
  • Files d’attente : outil de messagerie entre différents composants d’application.
  • Tables : magasin NoSQL pour le stockage sans schéma de données structurées.

Quels types de compte de stockage Azure sont disponibles ?

Plusieurs types de comptes de stockage sont proposés par Azure. Il faut en retenir que l’utilisation de tel ou tel type de compte de stockage dépend de la performance désirée et du mode de réplication :

TypeServices disponiblesOptions de redondance disponibles
Usage général v2 StandardBlob, File d’attente, Table et Azure FilesLRS
ZRS
GRS
RA-GRS
GZRS
RA-GZRS
Objets bloc blob PremiumStockage BlobLRS
ZRS
Partage de fichiers PremiumAzure FilesLRS
ZRS
Objets page blob PremiumObjets page blob de pages LRS
Les comptes de stockage à hautes performances proposent une réplication limitée.

Comment la réplication fonctionne sous Azure ?

Les centres de données Azure sont maintenant présents en grand nombre à travers le monde. Il existe donc plus de 60 régions Azure, elles-mêmes regroupées en géographie :

Dans une région Azure, souvent composé de plusieurs centres, aussi appelés zone de disponibilité, sont interconnectés via un réseau haute performance et apporte une protection supplémentaire contre les défaillances matérielles, les pannes de réseau, d’électricité ou les catastrophes naturelles.

Comme vu précédemment, les options de réplication disponibles vont dépendre du type de compte de stockage sélectionné :

  • Donnée sur une région Azure :
    • Stockage localement redondant (LRS) : 3 copies synchrones dans un seul centre de données d’une seule région.
    • Stockage redondant interzone (ZRS) : 3 copies synchrones dans les 3 centres de données d’une seule région.
  • Donnée sur deux régions Azure (région paire de la première)
    • Stockage géo-redondant (GRS) : 3 copies synchrones dans un seul centre de données d’une seule région + 3 copies asynchrones dans un seul centre de données de la région paire de la première.
    • Stockage géo-redondant avec accès en lecture (RA-GRS) : 3 copies synchrones dans un seul centre de données d’une seule région + 3 copies asynchrones dans un seul centre de données de la région paire avec accès en lecture.
    • Stockage géo-redondant interzone (GZRS) : 3 copies synchrones dans 3 centres de données d’une seule région + 3 copies asynchrones dans un seul centre de données de la région paire.
    • Stockage géo-redondant interzone avec accès en lecture (RA-GZRS) : 3 copies synchrones dans les 3 centres de données d’une seule région + 3 copies asynchrones dans un seul centre de données de la région paire avec accès en lecture.

Ces options de réplication ont évidemment un impact conséquent sur les prix, comme le montre ce lien vers le calculateur Azure :

Comment accède-t-on à différents objets sur le compte de stockage ?

Un stockage de données a besoin au minium d’un point réseau pour remplir son rôle dans l’architecture. Par défaut, tout compte de stockage dispose d’URL uniques. Celles-ci reprennent le nom du compte de stockage suivi du service de stockage employé :

  • Service de conteneurs : https://mystorageaccount.blob.core.windows.net
  • Service de table : https://mystorageaccount.table.core.windows.net
  • Service de file d’attente : https://mystorageaccount.queue.core.windows.net
  • Partage de fichiers : https://mystorageaccount.file.core.windows.net

Par exemple, cet accès public met à disposition de la donnée sans authentification, comme par exemple pour un conteneur blob public :

Une URL ne signifie pas que l’accès est non contrôlé, comme le montre la création d’un second conteneur :

L’accès est bien refusé car une authentification est nécessaire.

L’accès au contenu devra donc passer par l’utilisation d’une des 2 clefs du compte de stockage, pour générer une signature d’accès partagé (SAS). L’avantage de cette gestion est de mieux gérer les droits précis et la durée d’accès :

Exemple d’URL avec signature SAS :

https://jlosto.blob.core.windows.net/pictures-secure/Geneva-at-night.jpg?sp=r&st=2022-11-09T12:33:20Z&se=2022-11-09T20:33:20Z&spr=https&sv=2021-06-08&sr=b&sig=AIWmVLKklAgOPoCYBvd%2BOl5fr5K0mZe3xAowIOXcq7

Les choses sont sensiblement proches pour un partage de fichiers. Dans ce service, l’authentification est possible de 2 manières :

  • Active Directory
  • Clef du compte de stockage

La première méthode demande au préalable de joindre le compte de stockage à un domaine Active Directory. Un précédent article parlant de FSLogix, au sein d’un environnement Azure Virtual Desktop, en fait référence ici.

La seconde méthode repose assez sur l’utilisation d’une des 2 clefs du compte de stockage. C’est un risque d’octroyer plus que de droits que nécessaires, car une clef donne un accès complet au compte de stockage.

Important : Microsoft le précise, vos clés d’accès de compte de stockage sont similaires au mot de passe racine pour votre compte de stockage. Veillez toujours à protéger vos clés d’accès :

  • Utilisez le service Azure Key Vault pour gérer et effectuer la rotation de vos clés en toute sécurité.
  • Évitez de distribuer des clés d’accès à d’autres utilisateurs, de les coder en dur ou de les enregistrer en texte brut dans un emplacement accessible à d’autres personnes.
  • Effectuez une rotation de vos clés si vous pensez qu’elles ont pu être compromises.

Exemple de montage du partage de fichier via le script proposé sur le portail et utilisant une des 2 clefs du compte de stockage :

Peut-on restreindre les IP publiques pouvant s’y connecter ?

Oui c’est tout à fait possible. L’onglet Réseau du compte de stockage apporte ce type de restriction, basée sur les ip publiques :

Même en possession de la clef du compte de stockage, un autre poste ayant une IP publique non référencée ne pourra s’y connecter :

Attention, la mise en place de cette restriction bloquera automatiquement l’accès aux ressources situées de la même région Azure :

Les services déployés dans la même région que le compte de stockage utilisent des adresses IP Azure privées. Vous ne pouvez donc pas restreindre l’accès à des services Azure spécifiques en fonction de leur plage d’adresses IP sortantes publiques.

Microsoft Doc

Pour les ressources Azure situées dans la même région que le compte de stockage, il est alors nécessaire de rajouter le réseau virtuel Azure pour retrouver un accès public fonctionnel :

Cette action ajoute un point de terminaison du service sur le sous-réseau rajouté sur la configuration :

Peut-on fermer l’accès public (URL) et ne transiter que via un adressage réseau privé ?

Il parfaitement possible de fermer l’accès public et d’intégrer le compte de stockage sur un réseau virtuel privé Azure.

Un point de terminaison privé est une interface réseau qui utilise une adresse IP privée de votre réseau virtuel. Cette interface réseau vous connecte de manière privée et sécurisée à un service fonctionnant avec Azure Private Link. En activant un point de terminaison privé, vous intégrez le service à votre réseau virtuel.

Ayant associé un service DNS privé à mon réseau virtuel, je retrouve bien un enregistrement dns pointant vers mon compte de stockage :

L’accès est bien à nouveau fonctionnel depuis le réseau virtual Azure :

La mise en place du point de terminaison privé permet alors la désactivation complète de l’accès public du compte de stockage :

La fermeture de l’accès public a aussi pour effet de restreindre l’accès aux données du compte de stockage depuis le portail Azure :

Existe-t-il un soft-delete pour les données ?

Oui et non 😁. Les services de stockages principalement utilisés sont le blob et le partage de fichier. Le soft-delete consiste à ne pas vraiment supprimer définitivement la donnée lors de sa suppression par un utilisateur.

Le stockage blob propose deux soft-deletes : Un pour le container tout entier et un autre pour les blobs eux-mêmes :

Le partage de fichier ne propose l’option que pour la suppression du partage de fichiers, pas son contenu individuel :

Comment sauvegarder facilement les données ?

Deux services du compte de stockage se sauvegardent très facilement à travers des services Azure.

Le stockage blob nécessite la mise en place d’un coffre de sauvegarde, en veillant à le placer dans la même région Azure que le compte de stockage à sauvegarder :

Une fois le coffre de sauvegarde créé, mettez en place votre sauvegarde :

Définissez votre police de sauvegarde selon vos besoins de rétention :

Ajoutez le compte de sauvegarde blob et attendez quelques minutes pour confirmer sa validation :

Le coffre de sauvegarde a besoin du rôle pour pouvoir gérer la sauvegarde blob, cliquez comme ceci pour ajouter le rôle attendu :

Ce rôle est bien implémenté sur le compte de stockage :

Attendez quelques minutes pour constater la validation :

Déclenchez la configuration de sauvegarde, il est à noter que nous n’avons jamais pu choisir le ou les conteneurs du compte de stockage à sauvegarder :

Un contrôle dans le coffre de sauvegarde nous montre bien la bonne prise en compte de la configuration :

Pour le partage de fichier, il est nécessaire de passer par la création d’un coffre de récupération Azure :

Une fois le coffre de récupération créé, mettez en place votre sauvegarde :

Ajoutez le compte de stockage et le partage de fichier à sauvegarder, définissez la police et activez la sauvegarde :

Contrôler le paramétrage dans le coffre de récupération :

Comment fonctionne la synchronisation entre différents comptes de stockage ?

Lorsque la réplication d’objets blob est activée, les blobs sont copiés de manière asynchrone depuis un compte de stockage source vers un compte de stockage de destination.

Créez une règle de réplication sur le premier compte de stockage (source) :

Vérifiez le contre paramétrage sur le compte de stockage (destination) :

Comme la réplication est asynchrone, il faut attendre plusieurs minutes pour constater l’apparition des blobs sur le second compte de stockage :

Peut-on réduire les coûts blob ?

La gestion blob via un cycle de vie utilise des règles pour déplacer automatiquement les blobs vers des niveaux plus froids ou pour les supprimer. Cette stratégie est intéressante car les coûts varient selon la chaleur du stockage :

Cette variation impacte également le prix des transactions blob :

Par exemple, la création de règle en escalier est logique pour refroidir d’anciennes sauvegardes :

Si vous créez plusieurs règles, les actions associées doivent être mises en œuvre dans l’ordre des niveaux (du stockage chaud au stockage froid, puis l’archivage, puis la suppression).

Conclusion

On pourrait continuer encore longtemps sur toutes les autres fonctionnalités proposées par le compte de stockage Azure. Je vous conseille les vidéos suivantes pour en apprendre un peu plus 😎😎

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *