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 ligne 1 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.

    Fichier azuredeploy.json Visual Studio Code affichant les options d’extrait de code pour les modèles Azure Resource Manager.

    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.

    Capture d’écran de la fenêtre du terminal Visual Studio Code avec bash dans le menu déroulant.

  4. Sélectionnez Git Bash.

    Capture d’écran de la fenêtre du terminal Visual Studio Code montrant le menu déroulant de sélection de l’interpréteur de commandes.

  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. Dans la fenêtre du navigateur qui s’ouvre, connectez-vous à 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’ayant pas encore de ressources, aucune ressource créée n’est indiquée. 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. Veillez à installer Azure PowerShell Tools à partir des extensions Visual Studio Code et connectez-vous 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.

    Capture d’écran de la fenêtre de terminal Visual Studio Code avec le terminal « pwsh » sélectionné.

    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.

      Capture d’écran de la fenêtre du terminal Visual Studio Code montrant le menu déroulant de sélection de l’interpréteur de commandes.

    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". Utilisez cet abonnement 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. Il doit ressembler à aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e :

    Get-AzSubscription
    
  2. Exécutez la commande suivante, en remplaçant {Your subscription ID} par l’ID d’abonnement que vous avez copié à l’étape précédente. Cette commande remplace votre abonnement actif par 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’ayant pas encore de ressources, aucune ressource créée n’est indiquée.

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

Lorsque vous déployez 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.

    Interface du portail Azure pour la vue d’ensemble du groupe de ressources avec la section Déploiements montrant qu’un déploiement a réussi.

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

    Interface du Portail Azure pour les déploiements avec un déploiement répertorié avec un état réussi.

  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.

    Interface du Portail Azure pour le déploiement spécifique sans aucune ressource répertoriée.

  6. Laissez la page ouverte dans votre navigateur pour pouvoir vérifier à nouveau 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 ajoutez une ressource de compte de stockage Azure au modèle ARM en utilisant un extrait de code provenant de l’extension Azure Resource Manager Tools 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.

    Extrait de code arm-storage de Visual Studio Code affiché sous le mot tapé « storage ».

    Votre fichier ressemble à 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.

    Capture d’écran de Visual Studio Code montrant les choix d’IntelliSense pour l’attribut name de la référence SKU de stockage.

  5. L’emplacement de la ressource est défini sur le même emplacement que le groupe de ressources où la ressource est déployée. Conservez la valeur par défaut ici.

  6. Enregistrez le fichier.

Déployer le modèle ARM mis à jour

Ici, vous modifiez 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 existe désormais 2 déploiements réussis. Sélectionnez ce lien.

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

    Capture d’écran de l’interface du portail Azure pour les déploiements avec deux déploiements listés et réussis.

  2. Sélectionnez addstorage.

    Capture d’écran de l’interface du portail Azure pour le déploiement spécifique avec une ressource listée.

Notez que le compte de stockage est déployé.