Cet article répond aux questions fréquentes sur les modèles Azure Resource Manager (modèles ARM).
Prise en main
Que sont les modèles Resource Manager et pourquoi dois-je les utiliser ?
Les modèles Resource Manager sont des fichiers JSON dans lesquels vous définissez ce que vous souhaitez déployer sur Azure. Les modèles vous aident à implémenter une solution d’infrastructure en tant que code pour Azure. Votre organisation peut déployer de manière répétée et fiable l’infrastructure requise dans différents environnements.
Pour en savoir plus sur la façon dont les modèles Resource Manager vous aident à gérer votre infrastructure Azure, consultez Qu’est-ce qu’un modèle Resource Manager ?
Comment faire pour commencer à utiliser les modèles ?
Pour simplifier la création de modèles Resource Manager, vous avez besoin des bons outils. Nous vous recommandons d’installer Visual Studio Code et l’extension Azure Resource Manager Tools. Pour une présentation rapide de ces outils, consultez Démarrage rapide : Créer des modèles ARM avec Visual Studio Code.
Quand vous êtes prêt à en savoir plus sur la création de modèles Resource Manager, commencez la série de tutoriels pour débutants sur les modèles ARM. Ces tutoriels vous guident pas à pas dans le processus de construction d’un modèle Resource Manager. Découvrez les différentes sections du modèle et comment elles fonctionnent ensemble. Ce contenu est également disponible sous forme de module Learn.
Dois-je utiliser des modèles Resource Manager ARM ou Terraform pour effectuer un déploiement sur Azure ?
Utilisez l’option qui vous convient le mieux. Les deux services vous aident à automatiser les déploiements sur Azure.
Nous pensons qu’il y a des avantages à utiliser des modèles Resource Manager sur d’autres services d’infrastructure en tant que code. Pour en savoir plus sur ces avantages, consultez Pourquoi choisir des modèles Resource Manager ?
Build 2020
J’ai manqué votre présentation au Microsoft Build 2020. La présentation est-elle disponible en replay ?
Où puis-je obtenir plus d’informations sur les nouvelles fonctionnalités que vous avez annoncées à Build ?
Pour obtenir des informations générales sur les fonctionnalités que nous développons, rejoignez notre groupe Azure Advisors Deployments Yammer.
Pour en savoir plus sur le nouveau langage de modèle, inscrivez-vous aux notifications.
Pour en savoir plus sur les specs de modèles, consultez Specs de modèles Azure Resource Manager.
Créer et tester des modèles
Où puis-je en savoir plus sur les meilleures pratiques en matière de modèles Resource Manager ?
Pour obtenir des suggestions sur l’implémentation de modèles, consultez Bonnes pratiques relatives aux modèles Resource Manager. Après avoir créé un modèle, exécutez le kit à outils de test Resource Manager. Il vérifie si votre modèle correspond aux pratiques recommandées.
J’ai configuré mon environnement par le biais du portail. Existe-t-il un moyen de récupérer le modèle à partir d’un groupe de ressources existant ?
Oui, vous pouvez exporter le modèle à partir d’un groupe de ressources. Le modèle exporté est un bon point de départ pour en savoir plus sur les modèles, mais vous voudrez probablement le modifier avant de l’utiliser dans un environnement de production.
Lorsque vous exportez le modèle, vous pouvez sélectionner les ressources que vous souhaitez inclure dans le modèle.
Puis-je créer un groupe de ressources dans un modèle Resource Manager et y déployer des ressources ?
Oui, vous pouvez créer un groupe de ressources dans un modèle lorsque vous déployez le modèle au niveau de votre abonnement Azure. Pour obtenir un exemple de création d’un groupe de ressources et de déploiement de ressources, consultez Groupe de ressources et ressources.
Puis-je créer un abonnement dans un modèle Resource Manager ?
Oui. Pour plus d’informations, consultez Créer des abonnements Azure programmatiquement avec les dernières API.
Comment puis-je tester mon modèle avant de le déployer ?
Nous vous recommandons d’exécuter le kit à outils de test Resource Manager et l’opération de simulation sur vos modèles avant de les déployer. Le kit à outils de test vérifie si votre modèle utilise les meilleures pratiques. Il fournit des avertissements lorsqu’il identifie des modifications qui peuvent améliorer la façon dont vous avez implémenté votre modèle.
L’opération de simulation affiche les modifications apportées à votre environnement par votre modèle. Vous pouvez voir les modifications inattendues avant qu’elles ne soient déployées. What-if permet également de renvoyer les erreurs détectées lors de la validation avant le lancement. Par exemple, si votre modèle contient une erreur syntaxique, il retournera cette erreur. Il retournera également toutes les erreurs qu’il peut déterminer à propos de l’état final des ressources déployées. Par exemple, si votre modèle déploie un compte de stockage avec un nom qui est déjà utilisé, il retournera cette erreur.
Où puis-je trouver des informations sur les propriétés qui sont disponibles pour chaque type de ressource ?
VS Code fournit IntelliSense pour l’utilisation des propriétés de ressource. Vous pouvez également afficher les références du modèle pour les propriétés et les descriptions.
J’ai besoin de créer plusieurs instances d’un type de ressource. Comment créer un itérateur dans mon modèle ?
Utilisez l’élément copy pour spécifier plusieurs instances. Vous pouvez également utiliser l’élément copy avec les éléments ressources, propriétés, variables et sorties.
Langage de modèle
J’ai entendu dire que vous travaillez sur un nouveau langage de modèle. Où puis-je trouver plus d’informations à ce sujet ?
Pour en savoir plus sur le nouveau langage, consultez Qu’est-ce que Bicep (préversion) ?.
Existe-t-il un plan de prise en charge de la création de modèles dans YAML ?
Actuellement, il n’existe aucun plan pour prendre en charge YAML. Nous pensons que le nouveau langage de modèle offre une solution plus facile à utiliser que YAML ou JSON.
Puis-je toujours écrire des modèles dans JSON une fois que le nouveau langage de modèle a été publié ?
Oui, vous pouvez continuer à utiliser des modèles JSON.
Proposerez-vous un outil pour convertir mes modèles JSON dans le nouveau langage de modèle ?
Oui. Consultez Conversion de modèles ARM entre JSON et Bicep.
Specs de modèle
Comment les spécifications de modèle et Azure Blueprints sont-ils liés ?
Azure Blueprints utilisera les spécifications de modèle dans son implémentation en remplaçant la ressource blueprint definition
par une ressource template spec
. Nous offrons un chemin de migration pour convertir la définition de blueprint en spec de modèle, mais les API de définition de blueprint sont toujours prises en charge. Il n'y a aucune modification de la ressource blueprint assignment
. Les blueprints restent une expérience utilisateur pour composer un environnement gouverné dans Azure.
Les spécifications de modèle remplacent-elles les modèles liés ?
Non, mais les spécifications de modèle sont conçues pour fonctionner correctement avec les modèles liés. Vous n’avez pas besoin de déplacer le modèle lié vers un point de terminaison accessible publiquement avant de déployer le modèle parent. Au lieu de cela, vous regroupez le modèle parent et ses artefacts lors de la création de la spécification du modèle.
Les spécifications de modèle peuvent-elles être partagées entre les abonnements ?
Oui, elles peuvent être utilisés dans les abonnements tant que l’utilisateur dispose d’un accès en lecture aux spécifications du modèle. Les spécifications de modèle ne peuvent pas être utilisées dans les locataires.
Scripts dans les modèles
Puis-je inclure un script dans mon modèle pour effectuer des tâches qui ne sont pas possibles dans un modèle ?
Oui, utilisez pour cela des scripts de déploiement. Vous pouvez inclure des scripts Azure PowerShell ou Azure CLI dans vos modèles.
Puis-je continuer à utiliser les extensions de script personnalisées et DSC (Desired State Configuration) ?
Ces options sont toujours disponibles et n’ont pas changé. Les scripts de déploiement sont conçus pour effectuer des actions qui ne sont pas liées à l’invité de la machine virtuelle. Si vous devez exécuter un script sur un système d’exploitation hôte dans une machine virtuelle, l’extension de script personnalisé et/ou DSC est un meilleur choix. Toutefois, les scripts de déploiement présentent des avantages, tels que la définition de la durée du délai d’attente.
Les scripts de déploiement sont-ils pris en charge dans Azure Government ?
Oui, vous pouvez utiliser des scripts de déploiement dans US Gov Arizona et US Gov Virginie.
Aperçu des modifications avant le déploiement
Puis-je afficher un aperçu des modifications qui se produisent avant de déployer un modèle ?
Oui, utilisez la fonctionnalité de simulation . Elle évalue l’état actuel de votre environnement et le compare à l’état qui existera après le déploiement. Vous pouvez examiner les modifications récapitulatives pour vous assurer que le modèle n’a pas de résultats inattendus.
Puis-je utiliser What-if avec les modes incrémentiel et complet ?
Oui, les deux modes de déploiement sont pris en charge. Pour obtenir un exemple d’utilisation du mode incrémentiel, consultez Exécuter une opération de simulation. Pour obtenir un exemple d’utilisation du mode complet, consultez Confirmer la suppression.
What-if fonctionne-t-il avec des modèles liés ?
Oui, What-if évalue l’état du modèle parent et de ses modèles liés.
Puis-je utiliser What-if dans un pipeline Azure ?
Oui, vous pouvez utiliser What-if qui permet de vérifier que le pipeline doit continuer.
Quand j’utilise What-if, je vois des modifications dans des propriétés qui ne sont pas dans mon modèle. Ce « parasite » est-il prévu ?
Nous travaillons actuellement à la réduction des parasites. Aidez-nous à nous améliorer en nous signalant les problèmes dans notre référentiel GitHub ici : https://aka.ms/WhatIfIssues
Visualiseur de modèle
Est-il possible de visualiser mon modèle Resource Manager et ses ressources ?
Nous avons une extension de VS Code alimentée par la communauté qui est un excellent outil de visualisation de votre modèle Resource Manager. Elle montre les ressources que vous déployez et les relations entre elles.
Puis-je utiliser le visualiseur de modèle en dehors de VS Code ?
Le visualiseur de modèle est en cours d’aperçu dans le portail. Pour plus d’informations, regardez cette brève session brève du Build.
Limites du déploiement
Combien de groupes de ressources puis-je déployer en une seule opération de déploiement ?
Dans le passé, cette limite était de cinq groupes de ressources. Elle est récemment passée à 800 groupes de ressources. Pour plus d’informations, consultez Créer des groupes de ressources et des ressources au niveau de l’abonnement.
L’historique des déploiements indiquait une erreur concernant une limite de 800 déploiements. Que dois-je faire ?
Nous changeons la façon dont l'historique du déploiement d'un groupe de ressources est conservé. Dans le passé, vous deviez supprimer manuellement les déploiements de cet historique pour éviter cette erreur. À compter de juin 2020, les déploiements sont automatiquement supprimés de l’historique quand vous vous approchez de la limite. Pour plus d’informations, consultez Suppressions automatiques de l’historique de déploiement.
La suppression d’un déploiement à partir de l’historique des déploiements n’affecte pas les ressources déployées.
Modèles et DevOps
Puis-je intégrer des modèles ARM dans Azure Pipelines ?
Oui. Pour obtenir une explication de l’utilisation du modèle et des pipelines, consultez le tutoriel : Intégration continue de modèles ARM à Azure Pipelines et Intégrer des modèles ARM à Azure Pipelines.
Puis-je utiliser GitHub Actions pour déployer un modèle ?
Oui. Pour cela, consultez Déployer des modèles ARM à l’aide de GitHub Actions.
Étapes suivantes
Pour une présentation des modèles Resource Manager, consultez Qu’est-ce qu’un modèle Resource Manager ?.