Exercice – Définir des ressources dans un modèle Bicep

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 nouveau répertoire Azure appelé Microsoft Learn Sandbox (bac à sable Microsoft Learn). Vous êtes également ajouté à un abonnement spécial nommé Abonnement Concierge.

Pour votre site web de lancement de jouet, vous décidez de créer d’abord une preuve de concept en créant un modèle Bicep de base. Dans cet exercice, vous allez créer un compte de stockage, un plan Azure App Service et une application. Plus tard, vous allez modifier le modèle pour le rendre mieux réutilisable.

Pendant ce processus, vous allez :

  • Créer un modèle qui définit une ressource de compte de stockage unique qui comprend des valeurs codées en dur.
  • Provisionner votre infrastructure et vérifier le résultat.
  • Ajouter un plan App Service et une application au modèle.
  • Provisionner à nouveau l’infrastructure pour voir les nouvelles ressources.

Cet exercice utilise l’extension Bicep pour Visual Studio Code. Assurez-vous d’installer cette extension dans Visual Studio Code.

Créer un modèle Bicep contenant un compte de stockage

  1. Ouvrez Visual Studio Code.

  2. Créez un fichier nommé main.bicep.

  3. Enregistrez le fichier vide afin que Visual Studio Code charge les outils Bicep.

    Vous pouvez soit sélectionner Fichier>Enregistrer sous, soit Ctrl+S dans Windows (⌘+S sur macOS). Veillez à mémoriser l’emplacement où vous avez enregistré le fichier. Par exemple, vous pouvez créer un dossier templates où enregistrer le fichier.

  4. Ajoutez le code Bicep suivant dans le fichier. Vous allez bientôt déployer le modèle. Il est judicieux de taper le code vous-même au lieu d’effectuer un copier-coller afin de voir comment les outils vous aident à écrire vos fichiers Bicep.

    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'toylaunchstorage'
      location: 'eastus'
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

    Conseil

    Bicep est strict quant à l’emplacement des sauts de ligne : veillez donc à placer impérativement les sauts de ligne comme indiqué ici.

    Notez que Visual Studio Code suggère automatiquement des noms de propriété pendant la saisie. L’extension Bicep pour Visual Studio Code comprend les ressources que vous définissez dans votre modèle et elle répertorie les propriétés et valeurs disponibles que vous pouvez utiliser.

  5. Mettez à jour le nom du compte de stockage en remplaçant toylaunchstorage par un nom susceptible d’être unique. En effet, chaque compte de stockage a besoin d’un nom globalement unique. Veillez à ce que le nom comprenne entre 3 et 24 caractères (lettres minuscules et chiffres uniquement).

    Important

    N’ignorez pas cette étape. Cela entraînerait l’échec du déploiement de votre fichier Bicep.

  6. Enregistrez les modifications du fichier.

Déployer le modèle Bicep sur Azure

Pour déployer ce modèle sur Azure, vous devez vous connecter à votre compte Azure à partir du terminal Visual Studio Code. Veillez à installer Azure CLI sans oublier de vous connecter avec le même compte que celui utilisé pour activer le bac à sable.

  1. Dans le menu Terminal, sélectionnez Nouveau terminal. La fenêtre de terminal s’ouvre généralement dans la moitié inférieure de votre écran.

  2. Si l’interpréteur de commandes affiché sur le côté droit de la fenêtre de terminal est bash, il s’agit du bon interpréteur de commandes qui est ouvert et vous pouvez passer à la section suivante.

    Capture d’écran de la fenêtre de terminal Visual Studio Code avec l’option bash affichée.

  3. Si un interpréteur de commandes autre que bash apparaît, sélectionnez la flèche déroulante des interpréteurs de commandes, puis Azure Cloud Shell (Bash).

    Capture d’écran de la fenêtre de terminal Visual Studio Code avec la liste déroulante de l’interpréteur de commande affichée et l’option Git Bash par défaut sélectionnée.

  4. Dans la liste des interpréteurs de commandes de terminal, sélectionnez bash.

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

  5. Dans le terminal, accédez au répertoire où vous avez enregistré votre modèle. Par exemple, si vous avez enregistré votre modèle dans le dossier templates, vous pouvez utiliser la commande suivante :

    cd templates
    

Installer Bicep

Exécutez la commande suivante pour vous assurer de disposer de la dernière version de Bicep :

az bicep install && az bicep upgrade

Connexion à Azure

  1. Dans le terminal Visual Studio Code, connectez-vous à Azure en exécutant la commande suivante :

    az login
    
  2. Dans le navigateur qui s’ouvre, connectez-vous à votre compte Azure.

    Le terminal Visual Studio Code affiche la liste des abonnements associés à ce compte.

  3. Définissez l’abonnement par défaut pour toutes les commandes Azure CLI que vous exécutez dans cette session.

    az account set --subscription "Concierge Subscription"
    

    Notes

    Si vous avez utilisé plusieurs bacs à sable récemment, le terminal risque d’afficher plusieurs instances de l’abonnement Concierge. Dans ce cas, utilisez les deux étapes suivantes pour en définir un comme l’abonnement par défaut. Si la commande précédente a réussi et qu’un seul abonnement Concierge est listé, ignorez les deux étapes suivantes.

  4. Obtenez les ID des abonnements Concierge.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Définissez l’abonnement par défaut en utilisant l’ID d’abonnement. Remplacez {your subscription ID} par l’ID du dernier abonnement Concierge.

    az account set --subscription {your subscription ID}
    

Définir le groupe de ressources par défaut

Quand vous utilisez Azure CLI, vous pouvez définir le groupe de ressources par défaut et omettre le paramètre du reste des commandes Azure CLI dans cet exercice. Définissez le paramètre par défaut sur le groupe de ressources qui est créé pour vous dans l’environnement de bac à sable.

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

Déployer le modèle sur Azure

Exécutez la commande suivante à partir du terminal dans Visual Studio Code pour déployer le modèle Bicep sur Azure. Cette commande peut prendre une minute ou deux, puis vous verrez un déploiement réussi. Si vous voyez un avertissement indiquant que l’emplacement est codé en dur, vous pouvez l’ignorer. Vous corrigerez l’emplacement plus loin dans le module. Vous pouvez continuer sans problème, le déploiement réussira.

az deployment group create --template-file main.bicep

Vous voyez Running... dans le terminal.

Pour déployer ce modèle sur Azure, connectez-vous à votre compte Azure à partir du terminal Visual Studio Code. Vérifiez que vous avez installé Azure PowerShell et connectez-vous au même compte que celui qui a activé le bac à sable.

  1. Dans le menu Terminal, sélectionnez Nouveau terminal. La fenêtre de terminal s’ouvre généralement dans la moitié inférieure de votre écran.

  2. Si l’interpréteur de commandes affiché sur le côté droit de la fenêtre de terminal est powershell ou pwsh, il s’agit du bon interpréteur de commandes qui est ouvert et vous pouvez passer à la section suivante.

    Capture d’écran de la fenêtre de terminal Visual Studio Code, avec l’option pwsh indiquée dans la liste déroulante de l’interpréteur de commande.

  3. Si un shell autre que powershell ou pwsh apparaît, sélectionnez la flèche déroulante des interpréteurs de commandes, puis PowerShell.

    Capture d’écran de la fenêtre de terminal Visual Studio Code avec la liste déroulante de l’interpréteur de commande affichée avec PowerShell sélectionné.

  4. Dans la liste d’interpréteurs de commandes de terminal, sélectionnez powershell ou pwsh.

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

  5. Dans le terminal, accédez au répertoire où vous avez enregistré votre modèle. Par exemple, si vous avez enregistré votre modèle dans le dossier templates, vous pouvez utiliser la commande suivante :

    Set-Location -Path templates
    

Installer l’interface CLI Bicep

Pour utiliser Bicep à partir d’Azure PowerShell, installez l’interface CLI de Bicep.

Connectez-vous à Azure en utilisant Azure PowerShell

  1. Dans le terminal Visual Studio Code, exécutez la commande suivante :

    Connect-AzAccount
    

    Un navigateur s’ouvre pour vous permettre de vous connecter à votre compte Azure.

  2. Une fois que vous êtes connecté à Azure, le terminal affiche une liste des abonnements associés à ce compte.

    Si vous avez activé le bac à sable, un abonnement appelé Abonnement Concierge s’affiche. Utilisez-le pour le reste de l’exercice.

  3. Définissez l’abonnement par défaut pour toutes les commandes Azure PowerShell que vous exécutez dans cette session.

    $context = Get-AzSubscription -SubscriptionName 'Concierge Subscription'
    Set-AzContext $context
    

    Notes

    Si vous avez utilisé plusieurs bacs à sable récemment, le terminal risque d’afficher plusieurs instances de l’abonnement Concierge. Dans ce cas, utilisez les deux étapes suivantes pour en définir un comme l’abonnement par défaut. Si la commande précédente a réussi et qu’un seul abonnement Concierge est listé, ignorez les deux étapes suivantes.

  4. Obtenir l’ID d’abonnement. L’exécution de la commande suivante liste vos abonnements et leurs ID. Recherchez Concierge Subscription, puis copiez l’ID de la deuxième colonne. Il doit ressembler à ceci : cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

    Get-AzSubscription
    
  5. Remplacez votre abonnement actif par l’abonnement Concierge. Veillez à remplacer {Votre ID d’abonnement} par celui que vous avez copié.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    

Définir votre groupe de ressources par défaut

Vous pouvez définir le groupe de ressources par défaut et omettre le paramètre du reste des commandes Azure PowerShell dans cet exercice. Définissez ce paramètre par défaut sur le groupe de ressources créé pour vous dans l’environnement de bac à sable.

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

Déployer le modèle sur Azure

Déployez le modèle sur Azure en utilisant la commande Azure PowerShell dans le terminal. Cette opération peut prendre une minute ou deux, puis vous verrez un déploiement réussi. Si vous voyez un avertissement indiquant que l’emplacement est codé en dur, vous pouvez l’ignorer. Vous corrigerez l’emplacement plus loin dans le module. Vous pouvez continuer sans problème, le déploiement réussira.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Vérifier le déploiement

La première fois que vous déployez un modèle Bicep, vous pouvez utiliser le portail Azure pour vérifier que le déploiement s’est terminé correctement et pour examiner les résultats.

  1. Accédez au portail Azure et vérifiez que vous êtes bien dans l’abonnement de bac à sable :

    1. Sélectionnez votre avatar dans le coin supérieur droit de la page.
    2. Sélectionnez Changer de répertoire. Dans la liste, choisissez le répertoire Bac à sable Microsoft Learn.
  2. Dans le volet de gauche, sélectionnez Groupes de ressources.

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

  4. Dans la Vue d’ensemble, vous voyez qu’un déploiement a réussi. Vous devrez peut-être développer la zone Essentials pour voir le déploiement.

    Capture d’écran de l’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.

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

    Capture d’écran de l’interface du portail Azure pour les déploiements montrant un déploiement répertorié avec un état réussi.

  6. Sélectionnez le déploiement appelé main pour afficher les ressources qui ont été déployées, puis sélectionnez Détails du déploiement pour développer les informations. Dans ce cas, il existe un compte de stockage avec le nom que vous avez spécifié.

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

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

Vous pouvez également vérifier le déploiement à partir de la ligne de commande. Pour cela, exécutez la commande Azure CLI suivante :

az deployment group list --output table

Vous pouvez également vérifier le déploiement à partir de la ligne de commande. Pour cela, exécutez la commande Azure PowerShell suivante :

Get-AzResourceGroupDeployment -ResourceGroupName <rgn>[sandbox resource group name]</rgn> | Format-Table

Ajouter une application et un plan App Service à votre modèle Bicep

Dans la tâche précédente, vous avez appris à créer un modèle contenant une ressource unique et à le déployer. Vous êtes maintenant prêt à déployer davantage de ressources, notamment une dépendance. Au cours de cette tâche, vous ajouterez une application et un plan App Service au modèle Bicep.

  1. Dans le fichier main.bicep dans Visual Studio Code, ajoutez le code suivant en bas du fichier :

    resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
      name: 'toy-product-launch-plan-starter'
      location: 'eastus'
      sku: {
        name: 'F1'
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
      name: 'toy-product-launch-1'
      location: 'eastus'
      properties: {
        serverFarmId: appServicePlan.id
        httpsOnly: true
      }
    }
    
  2. Mettez à jour le nom de l’application App Service toy-product-launch-1 en un nom qui sera vraisemblablement unique. Veillez à ce que le nom comprenne entre 2 et 60 caractères (lettres majuscules et minuscules, chiffres et traits d’union) et ne commence pas ni ne se termine par un trait d’union.

  3. Enregistrez les modifications du fichier.

Déployer le modèle Bicep mis à jour

Exécutez la commande Azure CLI suivante dans le terminal. Vous pouvez ignorer les avertissements concernant l’emplacement codé en dur. Vous corrigerez bientôt l’emplacement.

az deployment group create --template-file main.bicep

Exécutez la commande Azure PowerShell suivante dans le terminal. Vous pouvez ignorer les messages d’avertissement concernant l’emplacement codé en dur. Vous corrigerez bientôt l’emplacement.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Vérifier votre déploiement

  1. Revenez au portail Azure et accédez à votre groupe de ressources. Vous verrez toujours un déploiement réussi parce que le déploiement a utilisé le même nom que le premier déploiement.

  2. Sélectionnez le lien 1 Réussi.

  3. Sélectionnez le déploiement appelé main, puis sélectionnez Détails du déploiement pour développer la liste des ressources déployées.

    Capture d’écran montrant l’interface du portail Azure pour le déploiement spécifique, avec le compte de stockage et les ressources App Service listés.

  4. Notez que l’application et le plan App Service ont été déployés.