Démarrage rapide : Créer et déployer une spec de modèle
Article
Ce guide de démarrage rapide montre comment empaqueter un modèle Azure Resource Manager (modèle ARM) dans une spec de modèle. Ensuite, vous déployez cette spec de modèle. Votre spec de modèle contient un modèle ARM qui déploie un compte de stockage.
Vous créez une spec de modèle à partir d’un modèle local. Copiez le modèle suivant et enregistrez-le localement dans un fichier nommé azuredeploy.json. Ce démarrage rapide part du principe que vous avez enregistré dans le chemin d’accès c:\Templates\azuredeploy.json, mais vous pouvez utiliser n’importe quel chemin.
La spec de modèle est un type de ressource nommé Microsoft.Resources/templateSpecs. Pour créer une spec de modèle, utilisez PowerShell, Azure CLI, le portail ou un modèle ARM.
Recherchez specs de modèle. Sélectionnez Specs de modèle parmi les options disponibles.
Sélectionnez Importer le modèle.
Sélectionnez l’icône du dossier.
Accédez au modèle local que vous avez enregistré et sélectionnez-le. Sélectionnez Ouvrir.
Sélectionnez Importer.
Renseignez les valeurs suivantes :
Nom : entrez un nom pour la spec de modèle. Par exemple, storageSpec
Abonnement : sélectionnez l’abonnement Azure utilisé pour créer la spec de modèle.
Groupe de ressources : sélectionnez Créer nouveau, puis entrez un nouveau nom de groupe de ressources. Par exemple, templateSpecRG.
Emplacement : sélectionnez un emplacement pour le groupe de ressources. Par exemple, USA Ouest 2.
Version : entrez une version pour la spec de modèle. Utilisez 1.0.
Sélectionnez Vérifier + créer.
Sélectionnez Create (Créer).
Notes
Au lieu d’utiliser un modèle ARM, nous vous conseillons d’utiliser PowerShell ou l’interface CLI pour créer votre spec de modèle. Ces outils convertissent automatiquement les modèles liés en artefacts connectés à votre modèle principal. Lorsque vous utilisez un modèle ARM pour créer la spec de modèle, vous devez ajouter manuellement ces modèles liés en tant qu’artefacts, ce qui peut s’avérer compliqué.
Lorsque vous utilisez un modèle ARM pour créer la spec de modèle, le modèle est incorporé dans la définition de la ressource. Vous devez apporter certaines modifications à votre modèle local. Copiez le modèle suivant et enregistrez-le localement sous azuredeploy.json.
Notes
Dans le modèle incorporé, toutes les expressions de modèle doivent être échappées au moyen d’un deuxième crochet gauche. Utilisez "[[ au lieu de "[. Les tableaux JSON utilisent toujours un seul crochet gauche.
az deployment group create \
--resource-group templateSpecRG \
--template-file "c:\Templates\azuredeploy.json"
Déployer une spec de modèle
Pour déployer une spec de modèle, utilisez les mêmes commandes de déploiement que celles que vous utiliseriez pour déployer un modèle. Transmettez l’ID de ressource de la spec de modèle à déployer.
Vous fournissez les paramètres exactement comme vous le feriez pour un modèle ARM. Redéployez la spec de modèle avec un paramètre pour le type de compte de stockage.
Il existe un problème connu lié à l’obtention de l’ID de la spec de modèle et à son attribution à une variable dans Windows PowerShell.
Déployez la spec de modèle.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Vous fournissez les paramètres exactement comme vous le feriez pour un modèle ARM. Redéployez la spec de modèle avec un paramètre pour le type de compte de stockage.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType='Standard_GRS'
Sélectionnez la spec de modèle que vous avez créée.
Sélectionnez Déployer.
Renseignez les valeurs suivantes :
Abonnement : sélectionnez un abonnement Azure pour créer la ressource.
Groupe de ressources : sélectionnez Créer nouveau, puis entrez storageRG.
Type de compte de stockage : sélectionnez Standard_GRS.
Sélectionnez Revoir + créer.
Sélectionnez Create (Créer).
Copiez le modèle suivant et enregistrez-le localement dans un fichier nommé storage.json.
az deployment group create \
--resource-group storageRG \
--template-file "c:\Templates\storage.json"
Accorder l'accès
Si vous voulez permettre à d’autres utilisateurs de votre organisation de déployer votre spec de modèle, vous devez leur accorder un accès en lecture. Vous pouvez attribuer le rôle Lecteur à un groupe de Microsoft Entra pour le groupe de ressources contenant les specs de modèle que vous souhaitez partager. Pour plus d’informations, consultez le Tutoriel : Accorder à un groupe l’accès aux ressources Azure à l’aide d’Azure PowerShell.
Mettre à jour le modèle
Supposons que vous avez identifié une modification que vous aimeriez apporter au modèle dans votre spec de modèle. Le modèle suivant est similaire à votre précédent modèle, à ceci près qu’il ajoute un préfixe pour le nom du compte de stockage. Copiez le modèle suivant et mettez à jour votre fichier azuredeploy.json.
Au lieu de créer une spec de modèle pour le modèle révisé, ajoutez une nouvelle version nommée 2.0 à la spec de modèle existante. Les utilisateurs peuvent choisir l’une ou l’autre version à déployer.
Déployez cette version. Indiquez le préfixe du nom du compte de stockage.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters namePrefix='demoaccount'
Dans votre spec de modèle, sélectionnez Créer une nouvelle version.
Nommez la nouvelle version 2.0 et ajoutez éventuellement des notes. Sélectionnez Modifier un modèle.
Remplacez le contenu du modèle par votre modèle mis à jour. Sélectionnez Vérifier + enregistrer.
Sélectionnez Enregistrer les modifications.
Pour déployer la nouvelle version, sélectionnez Versions.
Pour la version que vous souhaitez déployer, sélectionnez les trois points, puis Déployer.
Renseignez les champs comme vous l’avez fait lors du déploiement de la version antérieure.
Sélectionnez Revoir + créer.
Sélectionnez Create (Créer).
Là encore, vous devez apporter quelques modifications à votre modèle local pour qu’il fonctionne avec des specs de modèle. Copiez le modèle suivant et enregistrez-le localement sous azuredeploy.json.