Partager via


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 le déployez à l’aide d’Azure Cloud Shell à partir du Portail Microsoft 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.

Diagramme qui montre l'ordre de déploiement des ressources dépendantes dans un modèle de Resource Manager.

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. Pour plus d’informations, 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.

  1. À partir de Visual Studio Code, sélectionnez Fichier>Ouvrir un fichier.

  2. 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
    
  3. Sélectionnez Ouvrir pour ouvrir le fichier.

  4. 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 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 ?
  1. À 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 :

    Capture d'écran de Visual Studio Code affichant un modèle ARM avec des éléments réduits.

    Il existe six ressources définies par le modèle :

  2. 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.

    Capture d'écran de Visual Studio Code montrant la définition du compte de stockage dans un modèle ARM.

  3. 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.

    Capture d'écran de Visual Studio Code montrant la définition de l'adresse IP publique dans un modèle ARM.

  4. 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.

    Capture d'écran de Visual Studio Code montrant la définition du groupe de sécurité réseau dans un modèle ARM.

  5. Développez la quatrième ressource. Le type de ressource, est Microsoft.Network/virtualNetworks :

    Capture d'écran de Visual Studio Code montrant la définition du réseau virtuel avec l'élément dependsOn dans un modèle ARM.

    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
  6. 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
  7. 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 :

Diagramme qui montre les relations de dépendance entre les ressources dans un modèle ARM affiché dans Visual Studio Code.

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

  1. Connectez-vous à Cloud Shell.

  2. Choisissez votre environnement préféré en sélectionnant PowerShell ou Bash (pour CLI) en haut à gauche. Redémarrez le shell lorsque vous changez.

    Capture d'écran du portail Azure Cloud Shell avec l'option de téléchargement de fichiers en surbrillance.

  3. Sélectionnez Charger/Télécharger des fichiers, puis Charger. Voir la capture d’écran précédente. Sélectionnez le fichier que vous avez enregistré précédemment. Après avoir chargé le fichier, utilisez la commande ls et la commande cat pour vérifier que le chargement a été correctement effectué.

  4. Pour déployer le modèle, exécutez le script PowerShell suivant.

    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
    
  5. Établir une connexion RDP vers la machine virtuelle pour vérifier que la machine virtuelle a été créée avec succès.

Nettoyer les ressources

Une fois que vous n’avez plus besoin des ressources Azure, nettoyez les ressources que vous avez déployées en supprimant le groupe de ressources.

  1. Dans le portail Azure, sélectionnez Groupe de ressources dans le menu de gauche.
  2. Entrez le nom du groupe de ressources dans le champ Filtrer par nom.
  3. Sélectionnez le nom du groupe de ressources. Vous voyez six ressources au total dans le groupe de ressources.
  4. 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 :