Övning – Skapa och distribuera en Azure Resource Manager-mall

Slutförd

Kommentar

Första gången du aktiverar en sandbox-miljö och accepterar villkoren, associeras ditt Microsoft-konto med en ny Azure-katalog med namnet Microsoft Learn Sandbox. Du har också lagt till en särskild prenumeration med namnet Concierge Subscription.

I den här övningen skapar du en ARM-mall (Azure Resource Manager), distribuerar den till Azure och uppdaterar sedan ARM-mallen för att lägga till parametrar och utdata.

I den här övningen använder vi Azure Resource Manager Tools for Visual Studio Code. Se till att installera det här tillägget i Visual Studio Code innan du påbörjar övningen.

Skapa en ARM-mall

  1. Öppna Visual Studio Code och skapa en ny fil med namnet azuredeploy.json.

  2. ARM-mallstillägget för Visual Studio Code är förkonfigurerat med kodavsnitt som hjälper dig att utveckla mallar. Vi börjar med att lägga till en tom mall. På rad 1 i filen anger du arm.

  3. Visual Studio Code visar automatiskt flera möjliga alternativ som börjar med arm!. Välj mallen Azure Resource Manager (ARM). Visual Studio Code bearbetar automatiskt scheman och språk för mallen.

    Visual Studio Code-filen azuredeploy.json som visar kodfragmentsalternativen för Azure Resource Manager-mallar.

    Filen ser nu ut så här:

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

    Observera att den här filen innehåller alla avsnitt i en ARM-mall som vi beskrev i föregående lektion.

  4. Spara ändringarna i filen genom att trycka på Ctrl+S.

Distribuera ARM-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. Kontrollera att Azure CLI-verktygen är installerade och logga in med det konto du använde för att aktivera sandbox-miljön.

  1. Välj Terminal > Ny terminal för att öppna ett terminalfönster.

  2. Om kommandofältet i terminalfönstret säger bash har du rätt gränssnitt att arbeta från och du kan gå vidare till nästa avsnitt.

  3. Om inte väljer du listrutan och väljer Välj standardprofil.

    Skärmbild av terminalfönstret i Visual Studio Code med bash i listrutan.

  4. Välj Git Bash.

    Skärmbild av terminalfönstret i Visual Studio Code som visar listrutan Välj gränssnitt.

  5. Välj Terminal > Ny terminal för att öppna ett bash shell-terminalfönster.

Logga in på Azure

  1. I terminalfönstret kör du det här kommandot för att logga in på Azure.

    az login
    
  2. Logga in på ditt konto i webbläsarfönstret som öppnas. När du har loggat in visas en lista över de prenumerationer som är associerade med det här kontot i terminalen. Om du har aktiverat sandbox-miljön bör du se en som heter Concierge-prenumeration. Använd den i resten av övningen.

  3. I bash-gränssnittet kör du följande kommando för att ange standardprenumerationen för alla Azure CLI-kommandon som du kör i den här sessionen.

    az account set --subscription "Concierge Subscription"
    

    Om du har använt mer än en sandbox-miljö nyligen kan fler än en Concierge-prenumeration visas. I så fall använder du följande två steg för att identifiera och ange standardprenumerationen.

    1. Kör följande kommando för att hämta Concierge-prenumerations-ID:t.
     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
    1. Ange standardprenumerationen genom att köra följande kommando och ersätta {ditt prenumerations-ID } med det senaste Concierge-prenumerations-ID:t.
    az account set --subscription {your subscription ID}
    

Ange standardresursgruppen

Genom att ange standardresursgruppen till den som skapades när du aktiverade sandbox-miljön kan du utelämna den parametern från Azure CLI-kommandona i den här övningen. Kör följande kommando för att ange resursgruppen.

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

Distribuera mallen till Azure

Kör följande kommandon för att distribuera ARM-mallen till Azure. ARM-mallen har inga resurser än, så inga resurser har skapats. Du bör få en lyckad distribution.

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

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

I avsnittet längst upp i den föregående koden anges Azure CLI-variabler, som sökvägen till den mallfil som ska distribueras och namnet på distributionen. I det nedre avsnittet az deployment group createdistribueras mallen till Azure. Observera att distributionsnamnet är blanktemplate med datumet som suffix.

Du bör se Running... i terminalen.

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 Azure PowerShell Tools har installerats från Visual Studio Code-tilläggen och logga in på samma konto som aktiverade sandbox-miljön.

  1. I kommandofältet väljer du Terminal > Ny terminal för att öppna ett PowerShell-fönster.

  2. Om kommandofältet i terminalfönstret visar PowerShell har du rätt gränssnitt att arbeta från och du kan gå vidare till nästa avsnitt.

    Skärmbild av terminalfönstret i Visual Studio Code med

    1. Annars väljer du nedåtpilen och i listrutan väljer du PowerShell. Om det alternativet saknas väljer du Välj standardprofil.

    2. Rulla nedåt i indatafältet och välj PowerShell.

      Skärmbild av terminalfönstret i Visual Studio Code som visar listrutan Välj gränssnitt.

    3. Välj Terminal > Ny terminal för att öppna ett PowerShell-terminalfönster.

Logga in i Azure med Azure PowerShell

  1. Logga in i Azure genom att köra följande kommando från terminalen i Visual Studio Code. En webbläsare öppnas så att du kan logga in på ditt konto.

    Connect-AzAccount
    

    Dricks

    Az PowerShell-modulen ersätter AzureRM och är den rekommenderade versionen som ska användas för att interagera med Azure.

  2. Logga in med det konto som du använde för att aktivera sandbox-miljön. När du har loggat in visar Visual Studio Code de prenumerationer som är associerade med ditt konto i terminalfönstret. Om du har aktiverat sandbox-miljön visas ett kodblock som innehåller "name": "Concierge Subscription". Du använder den här prenumerationen under resten av övningen.

Ange standardprenumerationen för alla PowerShell-kommandon i den här sessionen

  1. Kör följande kommando för att hämta dina prenumerationer och deras ID:n. Prenumerations-ID är den andra kolumnen. Leta efter Concierge-prenumeration och kopiera värdet i den andra kolumnen. Det ser ut ungefär som aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e:

    Get-AzSubscription
    
  2. Kör följande kommando och ersätt {Ditt prenumerations-ID } med det du kopierade i föregående steg. Det här kommandot ändrar din aktiva prenumeration till Concierge-prenumerationen.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  3. Kör följande kommando för att låta standardresursgruppen vara den resursgrupp som skapats åt dig i sandbox-miljön. Då kan du utelämna den parametern från resten av Azure PowerShell-kommandona i den här övningen.

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

Distribuera mallen till Azure

Distribuera mallen till Azure genom att köra följande kommandon. ARM-mallen har inga resurser än, så inga resurser har skapats.

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

Det översta avsnittet i föregående kod anger Azure PowerShell-variabler, som innehåller sökvägen till distributionsfilen och namnet på distributionen. New-AzResourceGroupDeployment Sedan distribuerar kommandot mallen till Azure. Observera att distributionsnamnet är blanktemplate med datumet som suffix.

När du distribuerar ARM-mallen till Azure går du till Azure Portal och kontrollerar att du är i sandbox-prenumerationen. Det gör du genom att välja din avatar högst upp till höger på sidan. Välj Växla katalog. Välj katalogen Sandbox-miljö för Microsoft Learn i listan.

  1. I resursmenyn väljer du Resursgrupper.

  2. Välj resursgruppen [Resursgruppsnamn för sandbox-miljö].

  3. I fönstret Översikt ser du att en distribution lyckades.

    Distributionsavsnittet i gränssnittet på Azure-portalen med distributionsavsnittet som visar att en distribution lyckades.

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

    Gränssnittet på Azure-portalen för distributionerna, som visar att distributionen lyckades.

  5. Välj blanktemplate för att se vilka resurser som har distribuerats. I det här fallet är den tom eftersom du inte har angett några resurser i mallen ännu.

    Azure-portalnes gränssnitt för den angivna distributionen utan några listade resurser.

  6. Låt sidan vara öppen i webbläsaren så att du kan kontrollera distributionerna igen.

Lägga till en resurs i ARM-mallen

I föregående uppgift lärde du dig hur du skapar en tom mall och distribuerar den. Nu är du redo att distribuera en faktisk resurs. I den här uppgiften lägger du till en Azure Storage-kontoresurs i ARM-mallen med hjälp av ett kodfragment från Azure Resource Manager Tools-tillägget för Visual Studio Code.

  1. I filen azuredeploy.json i Visual Studio Code placerar du markören inom hakparenteserna i resursblocket "resources":[],.

  2. Ange lagring inom hakparenteserna. En lista över relaterade kodfragment visas. Välj arm-storage.

    Visual Studio Code azure Resource Manager-storage-kodfragment som visas under det angivna ordet storage.

    Filen ser ut så här:

    {
      "$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": {}
    }
    

    Värden som du bör redigera är markerade i det nya avsnittet i filen och du kan navigera dem genom att trycka på tabbtangenten.

    Observera att attributen tags och location fylls i. Attributet location använder en funktion för att ange platsen för resursen till resursgruppens plats. Du får lära dig mer om taggar och funktioner i nästa modul.

  3. Ändra värdena för resursnamnet och displayName till något unikt (till exempel learnexercise12321). Det här namnet måste vara unikt i hela Azure, så välj något som är unikt för dig.

  4. Ändra värdet för SKU:ns namn från Premium_LRS till Standard_LRS. Ändra värdet för nivå till standard. Observera att Visual Studio Code ger dig rätt val för attributvärdena i IntelliSense. Ta bort standardvärdet inklusive citattecknen och ange citattecken för att se det här arbetet.

    Skärmbild av Visual Studio Code som visar IntelliSense-alternativen för namnattributet för lagrings-SKU:n.

  5. Resursplatsen är inställd på samma plats som resursgruppen där resursen distribueras. Behåll standardinställningen här.

  6. Spara filen.

Distribuera den uppdaterade ARM-mallen

Här ändrar du distributionens namn så att det bättre återspeglar vad distributionen gör.

Kör följande Azure CLI-kommandon i terminalen. Det här avsnittet är samma kod som du använde tidigare, men namnet på distributionen har ändrats.

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

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

Kör följande Azure PowerShell-kommandon i terminalen. Det här avsnittet är samma kod som du använde tidigare, men namnet på distributionen har ändrats.

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

Kontrollera distributionen

  1. När distributionen är klar går du tillbaka till Azure Portal i webbläsaren. Gå till resursgruppen och du ser att det nu finns 2 lyckade distributioner. Välj den här länken.

    Observera att båda distributionerna finns i listan.

    Skärmbild av Azure Portal-gränssnittet för distributionerna med de två distributionerna listade och lyckade statusar.

  2. Välj addstorage.

    Skärmbild av Azure Portal-gränssnittet för den specifika distributionen med en resurs i listan.

Observera att lagringskontot har distribuerats.