Vous êtes sur la page 1sur 15

Microsoft Azure

Module : Scripting et modèles de déploiement dans Azure


Agenda
• Azure Resource Model
• Modèle de déploiement « classique »
• Les différentes options de déploiement
• PowerShell
• Command Line Interface
Azure Resource Manager : ARM
• Modèle proposé par défaut dans Azure

• La terminologie est :
• Ressource
• Groupe de ressource
• Fournisseur de ressource
• Microsoft.KeyVault.Vaults, Microsoft.Compute…
• Modèle ARM
• Format JSON
• Utilisé pour faire une Infrastructure As Code
• Le contrôle d’accès (RBAC) permet de définir les actions possibles pour les utilisateurs.
• Les Tags permettent de catégoriser les ressources pour la gestion et/ou la facturation
Modèle « classique »
• Ancien modèle utilisé avec le portail « classique »
• Aussi appelé « Service Management model »
• Les commandes PowerShell contenant « Rm » ne sont pas applicables
• Possibilité de migrer les ressources « classiques » vers le nouveau modèle ARM :
• https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-dep
loyment-model#migrate-from-classic-to-resource-manager
• Pour savoir quelle ressource est disponible selon le modèle :
• https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-sup
ported-services
• Si la ressource a été crée avec le modèle classique (ex : VM, compte de stockage
ou réseau virtuel), alors continuer. Cependant, il est aussi possible de migrer
d’un modèle « classique » vers Resource Manager :
• https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-dep
loyment-model#migrate-from-classic-to-resource-manager
Terminologie ARM
• Ressource
• Elément gérable dans Azure (ex : VM, VNET, gateway…)
• Groupe de ressources
• Conteneur ou regroupement logique de ressources
• Fournisseur de ressources
• Service fournissant les ressources & opérations que l’on peut déployer via
ARM
• Modèle Resource Manager
• Fichier JSON qui peut être utilisé pour le modèle de déploiement ARM
Les différentes options de déploiement
• Le modèle ARM fournit des API pour le déploiement de
ressources
• API REST complète
• SDKs selon les langages
• PowerShell : Windows, Mac (expérimental)
• CLI (Command Line Interface) : Windows, Linux, Mac
PowerShell (1/3)
• Langage de scripting pour la gestion des ressources ARM
• Opération de CRUD
• Possibilité d’automatiser les opérations/déploiements
• Rapidité d’exécution
• Les modèles ARM peuvent être déployés via PowerShell
• Attention, ces mêmes modèles n’existent pas dans le modèle classique
• Utilisable depuis :
• le portail Azure (console PowerShell intégrée au navigateur)
• Visual Studio Code
• Windows PowerShell ISE
PowerShell (2/3)
• MODULES / Cmdlets :
• Install-Module AzureRm
• Attention : « Verb-AzureXXXX » (classic) vs « Verb-AzureRmXXXX » (RM)

• Login-AzureRmAccount
• Select-AzureRMSubscription
• ...
• Get-AzureRmResource
PowerShell (3/3)
• Cloud Shell with
PowerShell
• Mode de navigation
(« dir ») basé sur la
hiérarchie des objets
• Chaque nœud est une
ressource

• Application mobile
aussi disponible
Command Line Interface (CLI)
• Scripting par ligne de commande pour la gestion des ressources Azure
• Proche des scripts UNIX
• Possibilité de l’utiliser sur Linux, macOS et Windows
• Utilisable depuis le portail Azure
Les différentes options de déploiement
• Option impérative : commande / cmdlet de création/modification/…
• Option déclarative : utilisation de « Template (modèle) ARM »
• La configuration est définie en mode déclaratif dans un fichier en format JSON
• Les paramètres sont séparés dans un autre fichier
• Le déploiement se fait sur un groupe de ressource
• On combine les templates ARM avec des commandes de déploiement
• PowerShell : New-AzureRmResourceGroupDeployment
Structure et syntaxe des modèles ARM
• Un modèle se compose :
• d’un fichier au format JSON,
• d’expression et de fonctions,
• de variables et de paramètres

• La structure la plus simple est :


{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "",
"parameters": { },
"variables": { },
"resources": [ ],
"outputs": { } }
DEMO
PowerShell en console locale et dans le portail
Références
• https://docs.microsoft.com/fr-fr/azure/virtual-machines/windows/cla
ssic/setup-endpoints
• https://docs.microsoft.com/fr-fr/cli/azure/get-started-with-azure-cli?
view=azure-cli-latest
• https://docs.microsoft.com/fr-fr/azure/azure-resource-manager/reso
urce-group-overview
• https://docs.microsoft.com/en-us/azure/azure-resource-manager/res
ource-manager-deployment-model#classic-deployment-characteristic
s
• https://azure.microsoft.com/en-us/blog/powershell-comes-to-azure-c
loud-shell/
Merci.

Vous aimerez peut-être aussi