Övning – Definiera resurser i en Bicep-mall

Slutförd

Kommentar

Första gången du aktiverar en sandbox-miljö och godkänner villkoren associeras ditt Microsoft-konto med en ny Azure-katalog med namnet Microsoft Learn Sandbox. Du läggs också till i en särskild prenumeration med namnet Concierge-prenumeration.

För din leksakslanseringswebbplats bestämmer du dig för att först skapa ett konceptbevis genom att skapa en grundläggande Bicep-mall. I den här övningen skapar du ett lagringskonto, en Azure App Service-plan och en app. Senare ändrar du mallen så att den blir mer återanvändbar.

Under processen gör du följande:

  • Skapa en mall som definierar en enskild lagringskontoresurs som innehåller hårdkodade värden.
  • Etablera infrastrukturen och verifiera resultatet.
  • Lägg till en App Service-plan och app i mallen.
  • Etablera infrastrukturen igen för att se de nya resurserna.

Den här övningen använder Bicep-tillägget för Visual Studio Code. Installera tillägget i Visual Studio Code.

Skapa en Bicep-mall som innehåller ett lagringskonto

  1. Öppna Visual Studio Code.

  2. Skapa en ny fil med namnet main.bicep.

  3. Spara den tomma filen så att Visual Studio Code läser in Bicep-verktyget.

    Du kan antingen välja Spara som-fil> eller välja Ctrl+S i Windows (⌘+S på macOS). Kom ihåg var du har sparat filen. Du kanske till exempel vill skapa en mallmapp där filen ska sparas.

  4. Lägg till följande Bicep-kod i filen. Du kommer snart att distribuera mallen. Det är en bra idé att skriva koden själv i stället för att kopiera och klistra in, så att du kan se hur verktygen hjälper dig att skriva dina Bicep-filer.

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

    Dricks

    Bicep är strikt om var du lägger radbrytningar, så se till att du inte sätter radbrytningar på andra platser än vad som anges här.

    Observera att Visual Studio Code automatiskt föreslår egenskapsnamn när du skriver. Bicep-tillägget för Visual Studio Code förstår de resurser som du definierar i mallen och visar de tillgängliga egenskaper och värden som du kan använda.

  5. Uppdatera namnet på lagringskontot från toylaunchstorage till något som sannolikt kommer att vara unikt, eftersom varje lagringskonto behöver ett globalt unikt namn. Kontrollera att namnet är mellan 3 och 24 tecken och endast innehåller gemener och siffror.

    Viktigt!

    Hoppa inte över det här steget. Om du gör det distribueras inte Bicep-filen.

  6. Spara ändringarna i filen.

Distribuera Bicep-mallen till Azure

För att distribuera mallen till Azure behöver du logga in på ditt Azure-konto från Visual Studio Code-terminalen. Se till att du har installerat Azure CLI och kom ihåg att logga in med samma konto som du använde för att aktivera sandbox-miljön.

  1. I menyn Terminal väljer du Ny terminal. Terminalfönstret öppnas vanligtvis på den nedre halvan av skärmen.

  2. Om gränssnittet som visas till höger i terminalfönstret är bash är rätt gränssnitt öppet och du kan gå vidare till nästa avsnitt.

    Skärmbild av terminalfönstret i Visual Studio Code, där bash-alternativet visas.

  3. Om ett annat gränssnitt än bash visas väljer du listrutepilen för gränssnittet och väljer sedan Azure Cloud Shell (Bash).

    Skärmbild av terminalfönstret i Visual Studio Code, där listrutan terminalgränssnitt visas och Git Bash Default har valts.

  4. I listan över terminalgränssnitt väljer du bash.

    Skärmbild av terminalfönstret i Visual Studio Code med bash-terminalen markerad.

  5. I terminalen går du till katalogen där du sparade mallen. Om du till exempel har sparat mallen i mallmappen kan du använda det här kommandot:

    cd templates
    

Installera Bicep

Kör följande kommando för att se till att du har den senaste versionen av Bicep:

az bicep install && az bicep upgrade

Logga in på Azure

  1. Logga in på Azure i Visual Studio Code-terminalen genom att köra följande kommando:

    az login
    
  2. Logga in på ditt Azure-konto i webbläsaren som öppnas.

    Visual Studio Code-terminalen visar en lista över de prenumerationer som är associerade med det här kontot.

  3. Ange standardprenumerationen för alla Azure CLI-kommandon som du kör i den här sessionen.

    az account set --subscription "Concierge Subscription"
    

    Kommentar

    Om du har använt mer än en sandbox-miljö nyligen kan terminalen visa mer än en instans av Concierge-prenumerationen. I det här fallet använder du följande två steg för att ange ett som standardprenumeration. Om föregående kommando lyckades och endast en Concierge-prenumeration visas hoppar du över de kommande två stegen.

  4. Hämta Concierge-prenumerationernas ID:n.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Använd prenumerations-ID:t för att ange standardprenumerationen. Ersätt {your subscription ID} med ID:t för den senaste Concierge-prenumerationen.

    az account set --subscription {your subscription ID}
    

Ange standardresursgruppen

När du använder Azure CLI kan du ange standardresursgruppen och utelämna parametern från resten av Azure CLI-kommandona i den här övningen. Ange standardvärdet för den resursgrupp som skapas åt dig i sandbox-miljön.

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

Distribuera mallen till Azure

Kör följande kommando från terminalen i Visual Studio Code för att distribuera Bicep-mallen till Azure. Kommandot kan ta en minut eller två att slutföra och sedan visas en lyckad distribution. Om du ser en varning om att platsen är hårdkodad kan du ignorera den. Du åtgärdar platsen senare i modulen. Det är säkert att fortsätta och distributionen kommer att lyckas.

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

Du ser Running... i terminalen.

Om du vill distribuera den här mallen till Azure loggar du in på ditt Azure-konto från Visual Studio Code-terminalen. Se till att du har installerat Azure PowerShell och logga in på samma konto som aktiverade sandbox-miljön.

  1. I menyn Terminal väljer du Ny terminal. Terminalfönstret öppnas vanligtvis på den nedre halvan av skärmen.

  2. Om gränssnittet som visas till höger i terminalfönstret är powershell eller pwsh är rätt gränssnitt öppet och du kan gå vidare till nästa avsnitt.

    Skärmbild av terminalfönstret i Visual Studio Code med pwsh-alternativet som visas i listrutan shell.

  3. Om ett annat gränssnitt än powershell eller pwsh visas väljer du listrutepilen för gränssnittet och väljer sedan PowerShell.

    Skärmbild av Terminalfönstret i Visual Studio Code, med listrutan terminalgränssnitt som visas och PowerShell valt.

  4. I listan över terminalgränssnitt väljer du powershell eller pwsh.

    Skärmbild av terminalfönstret i Visual Studio Code med PowerShell-terminalen markerad.

  5. I terminalen går du till katalogen där du sparade mallen. Om du till exempel har sparat mallen i mallmappen kan du använda det här kommandot:

    Set-Location -Path templates
    

Installera Bicep CLI

Om du vill använda Bicep från Azure PowerShell installerar du Bicep CLI.

Logga in i Azure med Azure PowerShell

  1. Kör följande kommando i Visual Studio Code-terminalen:

    Connect-AzAccount
    

    En webbläsare öppnas så att du kan logga in på ditt Azure-konto.

  2. När du har loggat in på Azure visar terminalen en lista över de prenumerationer som är associerade med det här kontot.

    Om du har aktiverat sandbox-miljön visas en prenumeration med namnet Concierge-prenumeration . Använd den för resten av övningen.

  3. Ange standardprenumerationen för alla Azure PowerShell-kommandon som du kör i den här sessionen.

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

    Kommentar

    Om du har använt mer än en sandbox-miljö nyligen kan terminalen visa mer än en instans av Concierge-prenumerationen. I det här fallet använder du följande två steg för att ange ett som standardprenumeration. Om föregående kommando lyckades och endast en Concierge-prenumeration visas hoppar du över de kommande två stegen.

  4. Skaffa prenumerations-ID:t. När du kör följande kommando visas dina prenumerationer och deras ID:n. Concierge SubscriptionLeta efter och kopiera sedan ID:t från den andra kolumnen. Det ser ut ungefär som cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

    Get-AzSubscription
    
  5. Ändra din aktiva prenumeration till Concierge-prenumeration. Ersätt {Ditt prenumerations-ID } med det som du kopierade.

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

Ange standardresursgruppen

Du kan ange standardresursgruppen och utelämna parametern från resten av Azure PowerShell-kommandona i den här övningen. Ange den här standardinställningen till den resursgrupp som skapats åt dig i sandbox-miljön.

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

Distribuera mallen till Azure

Distribuera mallen till Azure med hjälp av följande Azure PowerShell-kommando i terminalen. Kommandot kan ta en minut eller två att slutföra och du ser en lyckad distribution. Om du ser en varning om att platsen är hårdkodad kan du ignorera den. Du åtgärdar platsen senare i modulen. Det är säkert att fortsätta och distributionen kommer att lyckas.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Verifiera distributionen

Första gången du distribuerar en Bicep-mall kanske du vill använda Azure-portalen för att kontrollera att distributionen har slutförts och för att kontrollera resultatet.

  1. Gå till Azure-portalen och kontrollera att du är i sandbox-prenumerationen:

    1. Välj din avatar i det övre högra hörnet på sidan.
    2. Välj Växla katalog. Välj katalogen Sandbox-miljö för Microsoft Learn i listan.
  2. På den vänstra panelen väljer du Resursgrupper.

  3. Välj [resursgruppsnamn för sandbox-miljö].

  4. I Översikt kan du se att en distribution lyckades. Du kan behöva expandera området Essentials för att se distributionen.

    Skärmbild av Azure Portal-gränssnittet för resursgruppens översikt, där avsnittet distributioner visar att en lyckades.

  5. Välj 1 lyckades för att visa information om distributionen.

    Skärmbild av Azure Portal-gränssnittet för distributionerna, med den enda distributionen listad och statusen lyckades.

  6. Välj den distribution som kallas main för att se vilka resurser som har distribuerats och välj sedan Distributionsinformation för att expandera den. I det här fallet finns det ett lagringskonto med det namn som du har angett.

    Skärmbild av Azure Portal-gränssnittet för den specifika distributionen, med en lagringskontoresurs listad.

  7. Lämna sidan öppen i webbläsaren. Du går tillbaka till distributionerna senare.

Du kan också verifiera distributionen från kommandoraden. Det gör du genom att köra följande Azure CLI-kommando:

az deployment group list --output table

Du kan också verifiera distributionen från kommandoraden. Det gör du genom att köra följande Azure PowerShell-kommando:

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

Lägga till en App Service-plan och app i din Bicep-mall

I föregående uppgift lärde du dig hur du skapar en mall som innehåller en enda resurs och distribuerar den. Nu är du redo att distribuera fler resurser, inklusive ett beroende. I den här uppgiften lägger du till en App Service-plan och app i Bicep-mallen.

  1. I filen main.bicep i Visual Studio Code lägger du till följande kod längst ned i filen:

    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. Uppdatera namnet på App Service-appen från toy-product-launch-1 till något som sannolikt kommer att vara unikt. Kontrollera att namnet är mellan 2 och 60 tecken med versaler och gemener, siffror och bindestreck och inte startar eller slutar med bindestreck.

  3. Spara ändringarna i filen.

Distribuera den uppdaterade Bicep-mallen

Kör följande Azure CLI-kommando i terminalen. Du kan ignorera varningarna om den hårdkodade platsen. Du kommer snart att åtgärda platsen.

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

Kör följande Azure PowerShell-kommando i terminalen. Du kan ignorera varningsmeddelandena om den hårdkodade platsen. Du kommer snart att åtgärda platsen.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Kontrollera distributionen

  1. Gå tillbaka till Azure-portalen och gå till din resursgrupp. Du ser fortfarande en lyckad distribution eftersom distributionen använde samma namn som den första distributionen.

  2. Välj länken 1 Lyckades .

  3. Välj den distribution som kallas main och välj sedan Distributionsinformation för att expandera listan över distribuerade resurser.

    Skärmbild som visar Azure Portal-gränssnittet för den specifika distributionen, med lagringskonto och App Service-resurser listade.

  4. Observera att App Service-planen och appen har distribuerats.