Tutoriel : Créer plusieurs instances de ressources grâce à des modèles ARM
Découvrez comment effectuer une itération dans votre modèle Azure Resource Manager (modèle ARM) pour créer plusieurs instances d’une ressource Azure. Dans ce tutoriel, vous modifiez un modèle pour créer trois instances de compte de stockage.
Ce tutoriel décrit les tâches suivantes :
- Ouvrir un modèle de démarrage rapide
- Modifier 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 de la copie 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.
Ouvrir un modèle de démarrage rapide
Modèles de démarrage rapide Azure est un référentiel de 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 démarrage rapide se nomme Créer un compte de stockage standard. Le modèle définit une ressource de compte de stockage Azure.
À 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.storage/storage-account-create/azuredeploy.json
Sélectionnez Ouvrir pour ouvrir le fichier.
Une ressource
Microsoft.Storage/storageAccounts
est définie dans le modèle. Comparer le modèle à la référence du modèle. Il est préférable de comprendre quelques notions basiques du modèle avant de le personnaliser.Sélectionnez Fichier>Enregistrer sous pour enregistrer le fichier sous le nom azuredeploy.json sur votre ordinateur local.
Modifier le modèle
Le modèle existant crée un unique compte de stockage. Vous personnalisez le modèle pour créer trois comptes de stockage.
Dans Visual Studio Code, effectuez les quatre modifications suivantes :
Ajoutez un élément
copy
à la définition de ressource du compte de stockage. Dans l’élémentcopy
, vous indiquez le nombre d’itérations et une variable pour cette boucle. La valeur de décompte doit être un entier positif et ne pas dépasser 800."copy": { "name": "storageCopy", "count": 3 },
La fonction
copyIndex()
renvoie l’itération actuelle dans la boucle. Vous utilisez l’index en tant que préfixe du nom.copyIndex()
est basé sur zéro. Pour décaler la valeur d’index, vous pouvez passer une valeur dans la fonctioncopyIndex()
. Par exemple :copyIndex(1)
."name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
Supprimez la définition du paramètre
storageAccountName
, car elle n’est plus utilisée.Supprimez l’élément
outputs
. Ce n’est plus nécessaire.Supprimez l’élément
metadata
.
Le modèle complet ressemble à ceci :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Premium_LRS",
"Premium_ZRS",
"Standard_GRS",
"Standard_GZRS",
"Standard_LRS",
"Standard_RAGRS",
"Standard_RAGZRS",
"Standard_ZRS"
],
"metadata": {
"description": "Storage Account type"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for the storage account."
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-06-01",
"name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2",
"copy": {
"name": "storageCopy",
"count": 3
},
"properties": {}
}
]
}
Enregistrez les modifications.
Pour plus d’informations sur la création de plusieurs instances, consultez Itération de ressource dans les modèles ARM.
Déployer le modèle
Se connecter à Azure 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é dans la section précédente. 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é.Dans le Cloud Shell, exécutez les commandes suivantes. Sélectionnez l’onglet pour afficher le code PowerShell ou CLI.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location "$location" && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
Après un déploiement de modèles réussi, vous pouvez afficher les trois comptes de stockage créés dans le groupe de ressources spécifié. Comparez les noms de compte de stockage avec la définition de nom dans le modèle.
echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."
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 devez voir au total trois ressources dans le groupe de ressources.
- Sélectionnez Supprimer le groupe de ressources dans le menu supérieur.
Étapes suivantes
Dans ce tutoriel, vous avez appris à créer plusieurs instances de compte de stockage. Dans le tutoriel suivant, vous développez un modèle disposant de plusieurs ressources et types de ressources. Certaines ressources comportent des ressources dépendantes.