Självstudie: Skapa ARM-mallar med beroende resurser
Lär dig hur du skapar en Azure Resource Manager-mall (ARM-mall) för att distribuera flera resurser och konfigurera distributionsordningen. När du har skapat mallen distribuerar du mallen med Hjälp av Azure Cloud Shell från Azure Portal.
I den här självstudien skapar du ett lagringskonto, en virtuell dator, ett virtuellt nätverk och några andra beroende resurser. Vissa resurser kan inte distribueras förrän en annan resurs finns. Till exempel kan du inte skapa den virtuella datorn förrän dess lagringskonto och nätverksgränssnitt finns. Du kan definiera den här relationen genom att göra en resurs beroende av de andra resurserna. Resource Manager utvärderar beroenden mellan resurser och distribuerar dem i beroendeordning. När resurserna inte är beroende av varandra distribuerar Resource Manager dem parallellt. Mer information finns på sidan om att definiera ordningen för distribution av resurser i ARM-mallar.
Den här självstudien omfattar följande uppgifter:
- Öppna en snabbstartsmall
- Utforska mallen
- Distribuera mallen
Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
En Learn-modul som omfattar resursberoenden finns i Hantera komplexa molndistributioner med hjälp av avancerade ARM-mallfunktioner.
Förutsättningar
För att kunna följa stegen i den här artikeln behöver du:
Visual Studio Code med tillägget Resource Manager Tools. Se Snabbstart: Skapa ARM-mallar med Visual Studio Code.
För att förbättra säkerheten bör du använda ett genererat lösenord för den virtuella datorns administratörskonto. Du kan använda Azure Cloud Shell för att köra följande kommando i PowerShell eller Bash:
openssl rand -base64 32
Om du vill veta mer kör
man openssl rand
du för att öppna den manuella sidan.Azure Key Vault är utformat för att skydda kryptografiska nycklar och andra hemligheter. Mer information finns i Självstudie: Integrera Azure Key Vault i distribution av ARM-mallar. Vi rekommenderar även att du uppdaterar ditt lösenord var tredje månad.
Öppna en snabbstartsmall
Azure Snabbstartsmallar är en lagringsplats för ARM-mallar. I stället för att skapa en mall från början får du en exempelmall som du anpassar. Den mall som används i den här självstudien heter Deploy a simple Windows VM (Distribuera en enkel virtuell Windows-dator).
I Visual Studio Code väljer du Arkiv>Öppna fil.
I Filnamn klistrar du in följande URL:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
Välj Öppna för att öppna filen.
Välj Spara>som för att spara en kopia av filen på den lokala datorn med namnet azuredeploy.json.
Utforska mallen
När du utforskar mallen i det här avsnittet kan du försöka besvara följande frågor:
- Hur många Azure-resurser är definierade i den här mallen?
- En av resurserna är ett Azure-lagringskonto. Ser definitionen ut som den som används i den senaste självstudien?
- Kan du hitta mallreferenserna för de resurser som är definierade i mallen?
- Kan du hitta resursernas beroenden?
Komprimera elementen från Visual Studio Code tills du bara ser elementen på första nivån och elementen på den andra nivån i
resources
:Det finns sex resurser som definieras av mallen:
Microsoft.Compute/virtualMachines.
Det är bra att granska mallreferensen innan du anpassar en mall.
Expandera den första resursen. Det är ett lagringskonto. Jämför resursdefinitionen med mallreferensen.
Expandera den andra resursen. Resurstypen är
Microsoft.Network/publicIPAddresses
. Jämför resursdefinitionen med mallreferensen.Expandera den tredje resursen. Resurstypen är
Microsoft.Network/networkSecurityGroups
. Jämför resursdefinitionen med mallreferensen.Expandera den fjärde resursen. Resurstypen är
Microsoft.Network/virtualNetworks
:Med
dependsOn
elementet kan du definiera en resurs som beroende av en eller flera resurser. Den här resursen är beroende av en annan resurs:Microsoft.Network/networkSecurityGroups
Expandera den femte resursen. Resurstypen är
Microsoft.Network/networkInterfaces
. Resursen beror på två resurser:Microsoft.Network/publicIPAddresses
Microsoft.Network/virtualNetworks
Expandera den sjätte resursen. Den här resursen är en virtuell dator. Den beror på två resurser:
Microsoft.Storage/storageAccounts
Microsoft.Network/networkInterfaces
Följande diagram illustrerar resurserna och beroendeinformation för den här mallen:
Genom att ange beroendena distribuerar Resource Manager effektivt lösningen. Den distribuerar lagringskontot, en offentlig IP-adress och ett virtuellt nätverk parallellt eftersom de inte har några beroenden. När den offentliga IP-adressen och det virtuella nätverket har distribuerats skapas ett nätverksgränssnitt. När alla andra resurser har distribuerats så distribuerar Resource Manager den virtuella datorn.
Distribuera mallen
Logga in på Cloud Shell.
Välj önskad miljö genom att välja Antingen PowerShell eller Bash (för CLI) i det övre vänstra hörnet. Du måste starta om gränssnittet när du byter.
Välj Ladda upp/ned filer och välj sedan Ladda upp. Se föregående skärmbild. Välj den fil som du sparade tidigare. När du har laddat upp filen kan du använda
ls
kommandot ochcat
kommandot för att kontrollera att filen har laddats upp.Kör följande PowerShell-skript för att distribuera mallen.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && echo "Enter the virtual machine admin username:" && read adminUsername && echo "Enter the DNS label prefix:" && read dnsLabelPrefix && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location $location && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters adminUsername=$adminUsername dnsLabelPrefix=$dnsLabelPrefix
RDP till den virtuella datorn för att verifiera att den virtuella datorn har skapats.
Rensa resurser
När Azure-resurserna inte längre behövs rensar du de resurser som du har distribuerat genom att ta bort resursgruppen.
- I Azure Portal väljer du Resursgrupp på den vänstra menyn.
- Ange resursgruppens namn i fältet Filtrera efter namn.
- Välj resursgruppens namn. Du ser totalt sex resurser i resursgruppen.
- Välj Ta bort resursgrupp på den översta menyn.
Nästa steg
I den här självstudien har du utvecklat och distribuerat en mall för att skapa en virtuell dator, ett virtuellt nätverk och de beroende resurserna. Information om hur du använder distributionsskript för att utföra åtgärder före/efter distribution finns i: