Exercice : créer et déployer un modèle Azure Resource Manager

Effectué

Notes

La première fois que vous activez un bac à sable et que vous acceptez les conditions d’utilisation, votre compte Microsoft est associé à un nouvel annuaire Azure appelé Microsoft Learn Sandbox (Bac à sable Microsoft Learn). Vous êtes également ajouté à un abonnement spécial nommé Abonnement Concierge.

Dans cet exercice, vous allez créer un modèle Azure Resource Manager (ARM), le déployer sur Azure, puis le mettre à jour en y ajoutant des paramètres et des sorties.

Cet exercice utilise les Outils Azure Resource Manager pour Visual Studio Code. Veillez à installer cette extension dans Visual Studio Code avant de commencer l’exercice.

Créer un modèle ARM

  1. Ouvrez Visual Studio Code et créez un nouveau fichier appelé azuredeploy.json.

  2. L’extension Modèle ARM de Visual Studio Code est préconfigurée avec de nombreux extraits de code pour vous aider à développer des modèles. Commençons par ajouter un modèle vide. Sur la première ligne du fichier, entrez arm.

  3. Visual Studio Code affiche automatiquement plusieurs choix potentiels qui commencent par arm!. Sélectionnez le Modèle Azure Resource Manager (ARM). Visual Studio Code traite automatiquement les schémas et les langages pour votre modèle.

    Visual Studio Code azuredeploy.json file showing the snippet choices for Azure Resource Manager templates.

    Votre fichier ressemble maintenant à ceci :

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [],
      "outputs": {}
    }
    

    Notez que ce fichier contient toutes les sections d’un modèle ARM que nous avons décrites à l’unité précédente.

  4. Enregistrez les changements effectués dans le fichier en appuyant sur CTRL+S.

Déployer le modèle ARM sur Azure

Pour déployer ce modèle dans Azure, vous devez vous connecter à votre compte Azure à partir du terminal Visual Studio Code. Vérifiez que les outils Azure CLI sont installés et que vous vous connectez au même compte que celui utilisé pour activer le bac à sable.

  1. Sélectionnez Terminal > Nouveau terminal pour ouvrir une fenêtre de terminal.

  2. Si la barre de commandes de la fenêtre du terminal indique bash, vous avez le bon interpréteur de commandes et pouvez passer à la section suivante.

  3. Sinon, sélectionnez la liste déroulante et choisissez Sélectionner le profil par défaut.

    Screenshot of the Visual Studio Code terminal window with bash in the drop-down.

  4. Sélectionnez Git Bash.

    Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

  5. Sélectionnez Terminal > Nouveau terminal pour ouvrir une fenêtre de terminal de l’interpréteur de commandes bash.

Connexion à Azure

  1. Dans la fenêtre de terminal, exécutez cette commande pour vous connecter à Azure.

    az login
    
  2. Un navigateur s’ouvre pour vous permettre de vous connecter à votre compte. Une fois que vous êtes connecté, une liste des abonnements associés à ce compte s’affiche dans le terminal. Si vous avez activé le bac à sable, vous devez voir un abonnement appelé Abonnement Concierge. Utilisez celui-ci pour le reste de l’exercice.

  3. Dans l’interpréteur de commandes bash, exécutez la commande suivante pour définir l’abonnement par défaut pour toutes les commandes Azure CLI que vous exécutez dans cette session.

    az account set --subscription "Concierge Subscription"
    

    Si vous avez utilisé récemment plusieurs bacs à sable, plusieurs abonnements Concierge peuvent figurer dans la liste. Si c’est le cas, utilisez les deux étapes suivantes pour identifier et définir l’abonnement par défaut.

    1. Exécutez la commande suivante pour obtenir les ID d’abonnement Concierge.
     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
    1. Définissez l’abonnement par défaut en exécutant la commande suivante, et remplacez {votre ID d’abonnement} par le dernier ID d’abonnement Concierge.
    az account set --subscription {your subscription ID}
    

Définir votre groupe de ressources par défaut

Si vous définissez le groupe de ressources par défaut sur celui que vous avez créé pendant l’activation du bac à sable, vous pouvez omettre ce paramètre dans les commandes Azure CLI de cet exercice. Pour définir le groupe de ressources, exécutez la commande suivante.

az configure --defaults group=<rgn>[sandbox resource group name]</rgn>

Déployer le modèle sur Azure

Exécutez les commandes suivantes pour déployer le modèle ARM sur Azure. Le modèle ARM n’a pas encore de ressources, vous ne voyez donc pas de ressources créées. Vous devez obtenir un déploiement réussi.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today

az deployment group create \
 --name $DeploymentName \
 --template-file $templateFile

La section du haut de ce code définit les variables Azure CLI, qui incluent le chemin du fichier de modèle à déployer et le nom du déploiement. La section du bas, az deployment group create, déploie le modèle sur Azure. Notez que le nom du déploiement est blanktemplate avec la date comme suffixe.

Vous devez aussi voir Running... dans le terminal.

Pour déployer ce modèle sur Azure, vous devez vous connecter à votre compte Azure à partir du terminal Visual Studio Code. Vous devez avoir installé Azure PowerShell Tools à partir des extensions Visual Studio Code et vous connecter au même compte que celui qui a activé le bac à sable.

  1. Dans la barre de commandes, sélectionnez Terminal > Nouveau terminal pour ouvrir une fenêtre PowerShell.

  2. Si la barre de commandes de la fenêtre du terminal indique PowerShell, vous avez le bon interpréteur de commandes dans lequel travailler et vous pouvez passer à la section suivante.

    Screenshot of the Visual Studio Code terminal window with pwsh terminal selected.

    1. Si ce n’est pas le cas, cliquez sur la flèche vers le bas et sélectionnez PowerShell dans la liste déroulante. Si cette option est manquante, choisissez Sélectionner le profil par défaut.

    2. Dans le champ d’entrée, faites défiler la liste et sélectionnez PowerShell.

      Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

    3. Sélectionnez Terminal > Nouveau terminal pour ouvrir une fenêtre de terminal PowerShell.

Connectez-vous à Azure en utilisant Azure PowerShell

  1. À partir du terminal dans Visual Studio Code, exécutez la commande suivante pour vous connecter à Azure. Un navigateur s’ouvre pour vous permettre de vous connecter à votre compte.

    Connect-AzAccount
    

    Conseil

    Le module Az PowerShell remplace AzureRM et est la version recommandée à utiliser pour interagir avec Azure.

  2. Connectez-vous avec le compte que vous avez utilisé pour activer le bac à sable. Une fois que vous êtes connecté, Visual Studio Code liste les abonnements associés à votre compte dans la fenêtre de terminal. Si vous avez activé le bac à sable, vous voyez un bloc de code qui contient "name": "Concierge Subscription". Il s’agit de l’abonnement à utiliser pour le reste de l’exercice.

Définir l’abonnement par défaut pour toutes les commandes PowerShell dans cette session

  1. Exécutez la commande suivante pour obtenir votre ou vos abonnements et leurs ID. L’ID d’abonnement est la deuxième colonne. Recherchez Abonnement Concierge et copiez la valeur de la deuxième colonne. Elle se présente sous la forme cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0 :

    Get-AzSubscription
    
  2. Exécutez la commande suivante, en remplaçant {Votre ID d’abonnement} par celui que vous avez copié à l’étape précédente pour définir votre abonnement actif sur l’abonnement Concierge.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  3. Exécutez la commande suivante pour que le groupe de ressources par défaut soit le groupe de ressources créé pour vous dans l’environnement de bac à sable. Cette action vous permet d’omettre ce paramètre du reste des commandes Azure PowerShell dans cet exercice.

    Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Déployer le modèle sur Azure

Déployez le modèle sur Azure en exécutant les commandes suivantes. Le modèle ARM n’a pas encore de ressources : vous ne verrez donc pas de ressources créées.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

La section supérieure du code précédent définit des variables Azure PowerShell, qui comprennent le chemin du fichier de déploiement et le nom du déploiement. Ensuite, la commande New-AzResourceGroupDeployment déploie le modèle sur Azure. Notez que le nom du déploiement est blanktemplate avec la date comme suffixe.

Une fois que vous avez déployé votre modèle ARM sur Azure, accédez au portail Azure et vérifiez que vous êtes dans l’abonnement du bac à sable. Pour cela, sélectionnez votre avatar dans le coin supérieur droit de la page. Sélectionnez Changer de répertoire. Dans la liste, choisissez le répertoire Bac à sable Microsoft Learn.

  1. Dans le menu de ressources, sélectionnez Groupes de ressources.

  2. Sélectionnez le groupe de ressources [nom du groupe de ressources de bac à sable].

  3. Dans le volet Vue d’ensemble, vous voyez qu’un déploiement a réussi.

    Azure portal interface for the resource group overview with the deployments section showing that one succeeded.

  4. Sélectionnez 1 réussi pour afficher les détails du déploiement.

    Azure portal interface for the deployments with the one deployment listed and a succeeded status.

  5. Sélectionnez blanktemplate pour voir les ressources qui ont été déployées. Dans ce cas, il est vide, car vous n’avez pas encore spécifié de ressources dans le modèle.

    Azure portal interface for the specific deployment with no resources listed.

  6. Laissez la page ouverte dans votre navigateur. Vous allez à nouveau vérifier les déploiements.

Ajouter une ressource au modèle ARM

Dans la tâche précédente, vous avez appris à créer un modèle vide et à le déployer. Vous êtes maintenant prêt à déployer une ressource réelle. Dans cette tâche, vous allez ajouter une ressource de compte de stockage Azure au modèle ARM en utilisant un extrait de code provenant de l’extension Outils Azure Resource Manager pour Visual Studio Code.

  1. Dans le fichier azuredeploy.json dans Visual Studio Code, placez votre curseur entre les crochets dans le bloc des ressources "resources":[],.

  2. Entrez storage à l’intérieur des crochets. Une liste d’extraits de code associés apparaît. Sélectionnez arm-storage.

    Visual Studio Code arm-storage snippet shown under the typed word storage.

    Votre fichier se présentera comme ceci :

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [
        {
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2023-05-01",
          "name": "storageaccount1",
          "tags": {
            "displayName": "storageaccount1"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "Premium_LRS"
          }
        }
      ],
      "outputs": {}
    }
    

    Les valeurs que vous devez modifier sont mises en surbrillance dans la nouvelle section de votre fichier. Vous pouvez parcourir ces valeurs en appuyant sur la touche Tab.

    Notez que les attributs tags et location sont renseignés. L’attribut location utilise une fonction pour définir l’emplacement de la ressource sur l’emplacement du groupe de ressources. Vous découvrirez plus d’informations sur les balises et les fonctions dans le module suivant.

  3. Remplacez les valeurs name et displayName de la ressource par une valeur unique (par exemple, learnexercise12321). Ce nom doit être unique sur l’ensemble d’Azure. par conséquent, choisissez un nom qui vous est propre.

  4. Remplacez la valeur du nom de la référence SKU Premium_LRS par Standard_LRS. Modifiez la valeur du niveau par Standard. Notez que Visual Studio Code vous propose les choix appropriés pour les valeurs de vos attributs dans IntelliSense. Supprimez la valeur par défaut, y compris les guillemets, et entrez des guillemets pour tester la valeur.

    Screenshot of Visual Studio Code showing the IntelliSense choices for the name attribute of the storage SKU.

  5. L’emplacement de la ressource est défini sur l’emplacement du groupe de ressources dans où il sera déployé. Conservez la valeur par défaut ici.

  6. Enregistrez le fichier.

Déployer le modèle ARM mis à jour

Ici, vous allez modifier le nom du déploiement pour mieux refléter ce que fait ce déploiement.

Exécutez les commandes Azure CLI suivantes dans le terminal. Cet extrait de code contient le même code que celui utilisé précédemment, mais le nom du déploiement est changé.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today

az deployment group create \
  --name $DeploymentName \
  --template-file $templateFile

Exécutez les commandes Azure PowerShell suivantes dans le terminal. Cet extrait de code contient le même code que celui utilisé précédemment, mais le nom du déploiement est changé.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

Vérifier votre déploiement

  1. Une fois le déploiement terminé, revenez au portail Azure dans votre navigateur. Accédez à votre groupe de ressources : vous voyez qu’il y a maintenant 2 déploiements réussis. Sélectionnez ce lien.

    Notez que les deux déploiements se trouvent dans la liste.

    Screenshot of the Azure portal interface for the deployments with the two deployments listed and succeeded statuses.

  2. Sélectionnez addstorage.

    Screenshot of the Azure portal interface for the specific deployment with one resource listed.

Notez que le compte de stockage a été déployé.