Le stockage de données est présent dans toute infrastructure IT. Il peut se présenter sous différentes formes selon le besoin. Une base de données ou un serveur de fichiers sont les exemples les plus connus. Mais il est possible d’en avoir besoin sous d’autres formes, comme pour du stockage objet (sauvegardes) ou des services de messageries (transitoires) entre applications.
Quel que soit son type, les fournisseurs de Cloud disposent d’une flexibilité inégalée, car leur offre de stockage peut s’adapter aux besoins dans la forme et dans le temps. Pour cela, les calculateurs de prix, comme Azure Pricing Calculator, sont d’une grande aide pour estimer au mieux le coût du stockage.
Prenons en exemple le compte de stockage Azure. Il s’agit est une ressource régulièrement utilisée car elle couvre justement plusieurs types de stockage :
Voici d’ailleurs quelques articles de ce blog parlant du stockage Azure, ainsi qu’une très bonne vidéo d’introduction en français :
Enfin, cet article s’inscrit dans la continuité des précédents exercices ateliers, dont voici les liens directs :
Afin de vous familiariser avec le compte de stockage Azure, je vous propose de suivre cet exercice dédié. La version originale de Microsoft est également disponible en anglais sur la page GitHub juste ici. Voici la liste des tâches que nous allons réaliser :
- Tâche 1 : Préparez votre environnement Azure
- Tâche 2 : Créez votre compte de stockage Azure
- Tâche 3 : Testez le stockage Azure blob
- Tâche 4 : Créez un partage de fichiers Azure
- Tâche 5 : Gérer l’accès au réseau du compte de stockage Azure
- Tâche 6 : Joignez le compte de stockage à un Active Directory
Je me répète souvent, mais une ressource déployée entraîne un début de facturation de la part de Microsoft. Il est donc important de correctement dimensionner les ressources, et de les supprimer quand elles ne sont plus utilisées.
Rappel des prérequis :
Pour réaliser cet exercice Azure, il vous faudra disposer de :
- Un tenant Microsoft
- Une souscription Azure active
Tâche 1 – Préparez votre environnement Azure :
Commencez par télécharger localement les fichiers de scripts Microsoft disponibles juste ici :
Décompressez cette archive ZIP sur votre poste local :
Depuis votre portail Azure, ouvrez Azure Cloud Shell via l’icône situé en haut à droite :
Configurez si besoin les options liées à la création du compte de stockage utilisé pour Azure Cloud Shell :
Attendez que le compte de stockage soit créé et que la ligne de commande d’Azure Cloud Shell vous soit accessible :
Dans la barre d’outils d’Azure Cloud Shell, cliquez sur l’icône pour téléverser des fichiers vers le compte de stockage :
Commencez par téléverser le premier fichier présent dans l’archive précédemment décompressée :
\Allfiles\Labs\07\az104-07-vm-template.json
Puis téléversez le second fichier suivant :
\Allfiles\Labs\07\az104-07-vm-parameters.json
Copiez la commande suivante en modifiant si besoin la région Azure souhaitée :
$location = 'West Europe'
Faites-en de même pour une seconde variable, en modifiant si besoin le nom du groupe de ressources à créer :
$rgName = 'az104-07-rg0'
Exécutez la commande suivante dans votre Azure Cloud Shell pour créer le groupe de ressources qui hébergera la machine virtuelle créée juste après :
New-AzResourceGroup -Name $rgName -Location $location
Attendez quelques secondes, puis constatez le succès de la création :
Exécutez ensuite la commande suivante pour déployer une machine virtuelle grâce aux deux fichiers précédemment téléversés :
New-AzResourceGroupDeployment `
-ResourceGroupName $rgName `
-TemplateFile $HOME/az104-07-vm-template.json `
-TemplateParameterFile $HOME/az104-07-vm-parameters.json `
-AsJob
Spécifiez un mot de passe pour le compte de l’administrateur local de votre Windows Server :
La création de la machine est alors effectuée en tâche de fond. Il n’est donc pas nécessaire d’attendre que le déploiement se termine :
Fermez le volet d’Azure Cloud Shell.
Suivez l’avancement du déploiement de votre VM depuis le groupe de ressources :
Quelques minutes plus tard, retrouvez les ressources créées dans la page principale du groupe de ressources :
Recherchez dans vos machines virtuelles celle créée à l’instant par le script :
Afin de préparer une connexion future, cliquez-ici pour déployer le service Azure Bastion :
Cliquez-ici pour déployer un Azure Bastion en utilisant une configuration par défaut :
Le déploiement d’Azure Bastion a commencé, inutile d’attendre la fin de son déploiement. Nous allons pouvoir nous intéresser au compte de stockage Azure.
Tâche 2 – Créez votre compte de stockage Azure :
Depuis le portail Azure, recherchez puis sélectionnez le service comptes de stockage :
Cliquez sur Créer pour ajouter un second compte de stockage :
Sur le premier onglet, commencez par créer un nouveau groupe de ressources Azure :
Donnez à votre compte de stockage un nom, unique dans tout l’environnement Azure :
Prenez du temps pour passer en revue les options disponibles, puis cliquez sur Suivant :
Prenez du temps pour passer en revue les options disponibles, puis cliquez sur Suivant :
Prenez du temps pour passer en revue les options disponibles, puis cliquez sur Suivant :
Prenez du temps pour passer en revue les options disponibles, puis cliquez sur Suivant :
Prenez du temps pour passer en revue les options disponibles, puis cliquez sur Valider :
Une fois la validation terminée, lancez la création de votre compte de stockage :
Environ une minute plus tard, la création de votre compte de stockage est terminée. Cliquez-ici pour accéder directement à votre compte de stockage :
Dans la section Redondance, notez l’emplacement secondaire, présent grâce à l’option GRS laissée lors de la création de votre compte de stockage :
Un compte de stockage vide ne coûte rien. Le volume de données et les transactions vont générer les coûts.
Tâche 3 – Testez le stockage Azure blob :
Cliquez sur Conteneurs, puis cliquez sur Créer pour en créer un nouveau :
Créez un conteneur blob avec les options suivantes, puis cliquez sur Créer :
Dans la liste des conteneurs blob, cliquez sur le conteneur az104-07-container nouvellement créé :
Cliquez sur Téléverser pour déposer un fichier depuis votre ordinateur vers votre conteneur :
Retrouvez les fichiers de l’archive décompressée, puis choisissez le fichier LICENCE :
Dans l’onglet Avancée, ajoutez le dossier licenses, puis cliquez sur Téléverser :
Environ une seconde plus tard, Azure vous confirme le succès de l’envoi du fichier et la création du dossier :
Retrouvez sur la page le dossier nouvellement créé, puis cliquez dessus :
Dans ce dossier, constatez le tier utilisé par le fichier LICENSE précédemment téléversé :
Cliquez sur le fichier LICENSE, puis copiez l’URL du blob comme ceci :
Ouvrez un navigateur privé depuis votre poste local :
Collez l’URL du blob copiée précédemment dans la barre d’adresse, puis constatez le message erreur d’accès, dû à un manque d’autorisations :
Afin de pouvoir accéder au blob, générez un accès SAS, en y indiquant une date de validité supérieure à la date du jour :
Copiez l’URL générée par votre accès SAS de votre blob LICENSE :
Voici en exemple URL avec mon accès SAS :
https://jlosto2.blob.core.windows.net/az104-07-container/licenses/LICENSE?sp=r&st=2023-04-25T19:34:42Z&se=2023-04-27T03:34:42Z&spr=https&sv=2021-12-02&sr=b&sig=YQUFaXmpBJhi7E3bt5WmmuF%2FmszjQ29UP46YS9747zU%3D
Rouvrez à nouveau un navigateur privé depuis votre poste local :
Collez l’URL précédemment copiée, puis constatez le téléchargement ou l’affichage du fichier LICENSE :
Ouvrez le fichier LICENSE si celui-ci ne s’est pas affiché :
Dans un autre registre, un serveur de fichiers est aussi remplaçable par un service Azure PaaS. Déjà cité plus haut, l’article Stockez vos données sur un service PaaS vous explique également quelques notions importantes.
Tâche 4 – Créez un partage de fichiers Azure :
Sur votre compte de stockage, cherchez le menu Partages de fichiers afin d’en créer un nouveau :
Nommez ce partage de fichiers az104-07-share conservant les propriétés par défaut :
Une fois créé, cliquez sur votre partage de fichiers :
Cliquez sur le bouton Connecter :
Sur la partie de droite, choisissez de vous connecter via la clef du compte de stockage, puis affichez le script de connexion afin de le copiez dans votre presse-papier :
Retournez sur la machine virtuelle créée précédemment, puis allez dans le menu suivant :
Collez le script précédemment copié, puis lancez l’exécution du traitement :
Attendez environ deux minutes, puis constatez sa bonne exécution :
Ce script lancé à distance sur la machine virtuelle a monté un lecteur réseau Z. La connexion est passée par l’URL publique via une session HTTPS.
Copiez les deux lignes de code ci-dessous dans votre presse-papier :
New-Item -Type Directory -Path 'Z:\az104-07-folder'
New-Item -Type File -Path 'Z:\az104-07-folder\az-104-07-file.txt'
Encore une fois, collez ce code, puis lancez l’exécution du traitement :
Attendez environ deux minutes, puis constatez sa bonne exécution :
Ce second script lancé à distance a créé dans le partage un dossier et un fichier txt depuis la machine virtuelle.
Retournez sur le partage de fichiers depuis le compte de stockage Azure :
Cliquez sur le dossier nouvellement créé :
Constatez la bonne présence du fichier txt :
Intéressons-nous maintenant à la configuration réseau de votre compte de stockage. Les URLs précédemment utilisées pour le blob et le partage de fichiers reprenaient l’accès publique de votre compte de stockage.
Un filtrage réseau est possible pour bloquer l’accès en plus de l’authentification déjà en place.
Tâche 5 – Gérer l’accès au réseau du compte de stockage Azure :
Sur votre compte de stockage, activez la restriction firewall à des réseaux virtuels connus, ainsi que votre adresse IP publique comme ceci :
Ouvrez à nouveau un navigateur internet privé :
Collez l’URL précédemment générée pour l’accès SAS de votre blob dans la barre d’adresse :
https://jlosto2.blob.core.windows.net/az104-07-container/licenses/LICENSE?sp=r&st=2023-04-25T19:34:42Z&se=2023-04-27T03:34:42Z&spr=https&sv=2021-12-02&sr=b&sig=YQUFaXmpBJhi7E3bt5WmmuF%2FmszjQ29UP46YS9747zU%3D
Constatez le téléchargement ou l’affichage du fichier LICENSE :
Ouvrez Azure Cloud Shell via l’icône situé en haut à droite du portail Azure :
Reprenez la commande suivante et ajoutez-y l’URL précédemment générée pour l’accès SAS de votre blob :
Invoke-WebRequest -URI '[blob SAS URL]'
Cela donne dans mon cas la commande suivante :
Invoke-WebRequest -URI 'https://jlosto2.blob.core.windows.net/az104-07-container/licenses/LICENSE?sp=r&st=2023-04-25T19:34:42Z&se=2023-04-27T03:34:42Z&spr=https&sv=2021-12-02&sr=b&sig=YQUFaXmpBJhi7E3bt5WmmuF%2FmszjQ29UP46YS9747zU%3D'
Exécutez la commande, puis constatez l’erreur dû un blocage du firewall configuré précédemment sur le compte de stockage :
Retournez sur la configuration réseau et firewall de votre compte de stockage, puis ajoutez un réseau virtuel :
Sélectionnez le réseau virtuel et le sous-réseau rattaché à la machine virtuelle créée :
Attendez quelques secondes que le service endpoint s’active sur le sous-réseau sélectionné :
Une fois activé, ajoutez-le à la configuration :
N’oubliez pas de sauvegarde la configuration réseau du compte de stockage :
Si votre réseau virtuel n’apparait pas, exécutez les deux commandes PowerShell suivantes sous Azure Cloud Shell and modifiant les variables :
Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Set-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix "10.0.0.0/24" -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork
$subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
Add-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -VirtualNetworkResourceId $subnet.Id
Nous avons vu certaines restrictions possibles pour bloquer des connexions réseaux non souhaitées. Dans la prochaine tâche, nous allons voir comment joindre un compte de stockage à un domaine AD.
Tâche 6 – Joindre le compte de stockage à un Active Directory :
A l’heure actuelle, il existe 3 méthodes de joindre un compte de stockage Azure à un domaine. Dans notre exercice, nous utiliserons la première méthode, grâce à la machine virtuelle créée précédemment :
Connectez-vous à la machine virtuelle créée précédemment via le script en reprenant comme identifiant Student, et comme mot de passe celui renseigné lors de la création de la VM :
Une fois connecté à la machine virtuelle, ajoutez des rôles à votre Windows Server :
Cliquez sur Suivant :
Cliquez sur Suivant :
Cochez les deux rôles AD DS et DNS, puis cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Installer :
Attendez environ deux minutes que l’installation des 2 rôles se termine :
Cliquez-ici pour promouvoir votre machine virtuelle en tant que contrôleur de domaine :
Créez une nouvelle forêt et nommez votre domaine AD comme vous le souhaitez, puis cliquez sur Suivant :
Créez un mot de passe pour la DSRM, puis cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Suivant :
Cliquez sur Installer :
Cliquez sur Fermer puis fermez l’onglet Azure Bastion :
Copiez l’adresse IP privée de votre machine virtuelle :
Sur le réseau virtuel de votre VM, renseignez l’adresse IP privée dans la section DNS :
Dans la section des partages de fichiers de votre compte de stockage, constatez l’absence de configuration Active Directory :
Rouvrez une session sur votre machine virtuelle via Azure Bastion :
Attendez la fin de l’ouverture de session plusieurs minutes :
Dans Server Manager, désactivez la sécurité renforcée d’Internet Explorer :
Désactivez la sécurité pour les utilisateurs ayant un profil administrateur :
Ouvrez Microsoft Edge :
Ouvrez l’URL suivante :
https://github.com/Azure-Samples/azure-files-samples/releases
Téléchargez l’archive ZIP contenant le script de jointure AD :
Décompressez l’archive ZIP :
Décompressez cette archive dans un dossier à la racine du disque C :
Ouvrez Windows PowerShell ISE :
Positionnez-vous dans le dossier contenant l’archive extraite :
Commencez par exécutez les commandes suivantes pour préparer votre environnement
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
.\CopyToPSPath.ps1
Validez toutes les alertes de sécurité :
Installez les modules nécessaires à la configuration :
install-Module -Name Az
Import-Module -Name AzFilesHybrid
Validez toutes les alertes de sécurité :
Patientez plusieurs minutes avant l’installation complète des modules AZ :
Fermez puis rouvrez la session PowerShell si celui-ci vous le demande :
Connectez à vous à votre compte Azure AD :
Connect-AzAccount
Renseignez les variables suivantes depuis la page de votre compte de stockage Azure :
$SubscriptionId = "<your-subscription-id-here>"
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"
Select-AzSubscription -SubscriptionId $SubscriptionId
Join-AzStorageAccount `
-ResourceGroupName $ResourceGroupName `
-StorageAccountName $StorageAccountName
Le résultat de la commande devrait être le suivant :
En cas de souci, la commande de debug peut vous aider à comprendre ce qui se passe :
Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose
Enfin vérifiez la bonne jointure de votre compte de stockage à Azure Active Directory avec le changement de statut en Configured :
Il reste bien évidemment quelques étapes pour finaliser la configuration afin que les utilisateurs puissent accéder à un partage de fichier via leur compte AD :
- Affecter des autorisations au niveau du partage
- Configurer des autorisations au niveau de l’annuaire et des fichiers sur SMB
- Monter un partage de fichiers Azure
Conclusion
Dans cet atelier dédié au stockage et conçu par Microsoft, vous avez :
- Préparé votre environnement Azure
- Créé votre compte de stockage Azure
- Testé le stockage Azure blob
- Créé un partage de fichiers Azure
- Géré l’accès au réseau du compte de stockage Azure
- Joint le compte de stockage à un Active Directory
J’espère que toutes opérations vous ont montré la facilité de déploiement d’un compte de stockage Azure. Enfin, pensez à supprimer les ressources une fois cet atelier terminé afin d’éviter les surcoûts inutiles :
Suppression des ressources Azure :
Un commentaire sur “Apprivoisez le stockage Azure”