Tutoriel : Créer des modèles ARM avec des ressources dépendantes
Découvrez comment créer un modèle Azure Resource Manager (modèle ARM) pour déployer plusieurs ressources et configurer l’ordre de déploiement. Après avoir créé le modèle, vous déployez le modèle à l’aide d’Azure Cloud Shell à partir du portail Azure.
Dans ce didacticiel, vous créez un compte de stockage, une machine virtuelle, un réseau virtuel et d’autres ressources dépendantes. Certaines ressources ne peuvent pas être déployées avant qu’une autre ressource n’existe. Par exemple, vous ne pouvez pas créer la machine virtuelle avant que son compte de stockage et son interface réseau n’existent. Vous définissez cette relation en rendant une seule ressource dépendante des autres ressources. Resource Manager évalue les dépendances entre les ressources et les déploie dans leur ordre dépendant. Quand les ressources ne dépendent pas les unes des autres, Resource Manager les déploie en parallèle. Pour plus d’informations, consultez Définir l’ordre de déploiement des ressources dans les modèles ARM.
Ce tutoriel décrit les tâches suivantes :
- Ouvrir un modèle de démarrage rapide
- Explorer le modèle
- Déployer le modèle
Si vous ne disposez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Pour suivre un module Learn qui traite des dépendances des ressources, consultez Gérer des déploiements cloud complexes à l’aide des fonctionnalités avancées de modèle ARM.
Prérequis
Pour effectuer ce qui est décrit dans cet article, vous avez besoin des éléments suivants :
Visual Studio Code avec l’extension Outils Resource Manager. Consultez Démarrage rapide : Créer des modèles ARM avec Visual Studio Code.
Pour une sécurité optimale, utilisez un mot de passe généré pour le compte administrateur de la machine virtuelle. Vous pouvez utiliser Azure Cloud Shell pour exécuter la commande suivante dans PowerShell ou Bash :
openssl rand -base64 32
Pour plus d’informations, exécutez
man openssl rand
pour ouvrir la page manuelle.Azure Key Vault a été conçu pour protéger les clés et autres secrets de chiffrement. Pour plus d’informations, consultez Didacticiel : Intégrer Azure Key Vault à un déploiement de modèle ARM. Nous vous recommandons également de mettre à jour votre mot de passe tous les trois mois.
Ouvrir un modèle de démarrage rapide
Le référentiel Modèles de démarrage rapide Azure contient les modèles ARM. Au lieu de créer un modèle à partir de zéro, vous pouvez chercher un exemple de modèle et le personnaliser. Le modèle utilisé dans ce didacticiel se nomme Déployer une machine virtuelle Windows simple.
À partir de Visual Studio Code, sélectionnez Fichier>Ouvrir un fichier.
Collez l’URL suivante dans Nom de fichier :
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
Sélectionnez Ouvrir pour ouvrir le fichier.
Sélectionnez Fichier>Enregistrer sous pour enregistrer une copie du fichier sur votre ordinateur local avec le nom azuredeploy.json.
Explorer le modèle
Lorsque vous explorez le modèle dans cette section, essayez de répondre aux questions suivantes :
- Combien de ressources Azure sont-elles définies dans ce modèle ?
- L’une des ressources est un compte de stockage Azure. La définition est-elle semblable à celle utilisée dans le dernier didacticiel ?
- Trouvez-vous les références de modèle pour les ressources définies dans ce modèle ?
- Trouvez-vous les dépendances des ressources ?
À partir de Visual Studio Code, réduisez les éléments jusqu'à ce que vous voyiez uniquement les éléments de premier niveau et les éléments de second niveau à l’intérieur des
resources
:Il existe six ressources définies par le modèle :
Microsoft.Compute/virtualMachines.
Il est utile de vérifier les informations de référence sur les modèles avant de personnaliser un modèle.
Développez la première ressource. Il s’agit d’un compte de stockage. Comparez la définition de ressource à la référence de modèle.
Développez la deuxième ressource. Le type de ressource, est
Microsoft.Network/publicIPAddresses
. Comparez la définition de ressource à la référence de modèle.Développez la troisième ressource. Le type de ressource, est
Microsoft.Network/networkSecurityGroups
. Comparez la définition de ressource à la référence de modèle.Développez la quatrième ressource. Le type de ressource, est
Microsoft.Network/virtualNetworks
:L’élément
dependsOn
vous permet de définir une ressource comme une dépendance sur une ou plusieurs ressources. Cette ressource dépend d’une autre ressource :Microsoft.Network/networkSecurityGroups
Développez la cinquième ressource. Le type de ressource, est
Microsoft.Network/networkInterfaces
. La ressource dépend de deux autres ressources :Microsoft.Network/publicIPAddresses
Microsoft.Network/virtualNetworks
Développez la sixième ressource. Cette ressource est une machine virtuelle. Elle dépend de deux autres ressources :
Microsoft.Storage/storageAccounts
Microsoft.Network/networkInterfaces
Le diagramme suivant illustre les ressources et les informations de dépendance pour ce modèle :
En spécifiant les dépendances, Resource Manager déploie efficacement la solution. Il déploie le compte de stockage, l’adresse IP publique et le réseau virtuel en parallèle car ils n’ont aucune dépendance. Après que l’adresse IP publique et le réseau virtuel sont déployés, l’interface réseau est créée. Lorsque toutes les autres ressources sont déployées, Resource Manager déploie la machine virtuelle.
Déployer le modèle
Connectez-vous à Cloud Shell.
Choisissez votre environnement préféré en sélectionnant PowerShell ou Bash (pour CLI) en haut à gauche. Il est nécessaire de redémarrer l’interpréteur de commandes lors d’un tel changement.
Sélectionnez Charger/Télécharger des fichiers, puis Charger. Consultez la capture d’écran précédente. Sélectionnez le fichier que vous avez enregistré précédemment. Après avoir chargé le fichier, vous pouvez utiliser la commande
ls
et la commandecat
pour vérifier que le chargement a été correctement effectué.Exécutez le script PowerShell suivant pour déployer le modèle.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && echo "Enter the virtual machine admin username:" && read adminUsername && echo "Enter the DNS label prefix:" && read dnsLabelPrefix && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location $location && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters adminUsername=$adminUsername dnsLabelPrefix=$dnsLabelPrefix
Établir une connexion RDP vers la machine virtuelle pour vérifier la machine virtuelle a été créée avec succès.
Nettoyer les ressources
Lorsque vous n’en avez plus besoin, nettoyez les ressources Azure que vous avez déployées en supprimant le groupe de ressources.
- Dans le portail Azure, sélectionnez Groupe de ressources dans le menu de gauche.
- Entrez le nom du groupe de ressources dans le champ Filtrer par nom.
- Sélectionnez le nom du groupe de ressources. Vous verrez six ressources au total dans le groupe de ressources.
- Sélectionnez Supprimer le groupe de ressources dans le menu supérieur.
Étapes suivantes
Dans ce didacticiel, vous avez développé et déployé un modèle pour créer une machine virtuelle, un réseau virtuel et les ressources dépendantes. Pour découvrir comment utiliser des scripts de déploiement pour effectuer des opérations de pré/post-déploiement, consultez :