Övning – Skapa och distribuera en Azure Resource Manager-mall
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
Öppna Visual Studio Code och skapa en ny fil med namnet azuredeploy.json.
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.
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.
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.
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.
Välj Terminal > Ny terminal för att öppna ett terminalfönster.
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.
Om inte väljer du listrutan och väljer Välj standardprofil.
Välj Git Bash.
Välj Terminal > Ny terminal för att öppna ett bash shell-terminalfönster.
Logga in på Azure
I terminalfönstret kör du det här kommandot för att logga in på Azure.
az login
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.
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.
- 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
- 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 create
distribueras 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.
I kommandofältet väljer du Terminal > Ny terminal för att öppna ett PowerShell-fönster.
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.
Annars väljer du nedåtpilen och i listrutan väljer du PowerShell. Om det alternativet saknas väljer du Välj standardprofil.
Rulla nedåt i indatafältet och välj PowerShell.
Välj Terminal > Ny terminal för att öppna ett PowerShell-terminalfönster.
Logga in i Azure med Azure PowerShell
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.
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
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
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
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.
I resursmenyn väljer du Resursgrupper.
Välj resursgruppen
[Resursgruppsnamn för sandbox-miljö] .I fönstret Översikt ser du att en distribution lyckades.
Välj 1 lyckades för att visa information om distributionen.
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.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.
I filen azuredeploy.json i Visual Studio Code placerar du markören inom hakparenteserna i resursblocket
"resources":[],
.Ange lagring inom hakparenteserna. En lista över relaterade kodfragment visas. Välj arm-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
ochlocation
fylls i. Attributetlocation
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.Ä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.
Ä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.
Resursplatsen är inställd på samma plats som resursgruppen där resursen distribueras. Behåll standardinställningen här.
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
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.
Välj addstorage.
Observera att lagringskontot har distribuerats.