Självstudie: Distribuera tillägg för virtuella datorer med ARM-mallar
Lär dig hur du använder Azure-tillägg för virtuell dator för att utföra konfigurations- och automatiseringsuppgifter efter distribution på virtuella Azure-datorer. Det finns många olika VM-tillägg för användning med virtuella Azure-datorer. I den här självstudien distribuerar du ett tillägg för anpassat skript från en Azure Resource Manager-mall (ARM-mall) för att köra ett PowerShell-skript på en virtuell Windows-dator. Skriptet installerar webbserver på den virtuella datorn.
Den här självstudien omfattar följande uppgifter:
- Förbereda ett PowerShell-skript
- Öppna en snabbstartsmall
- Redigera mallen
- Distribuera mallen
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
För att slutföra den här artikeln behöver du:
Visual Studio Code med verktygstillägget för Resource Manager. 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 du
man openssl rand
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 arm-malldistributionen. Vi rekommenderar även att du uppdaterar ditt lösenord var tredje månad.
Förbereda ett PowerShell-skript
Du kan använda ett infogat PowerShell-skript eller en skriptfil. Den här självstudien visar hur du använder en skriptfil. Ett PowerShell-skript med följande innehåll delas från GitHub:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Om du väljer att publicera filen på din egen plats uppdaterar du elementet fileUri
i mallen senare i självstudien.
Ö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 rutan 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. Mallen definierar fem resurser:
Microsoft.Compute/virtualMachines.
Det är bra om du har grundläggande förståelse av mallen innan du anpassar den.
Spara en kopia av filen lokalt med namnet azuredeploy.json genom att välja Arkiv>Spara som.
Redigera mallen
Lägg till en resurs för tillägg för virtuell dator i den befintliga mallen med följande innehåll:
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2021-04-01",
"name": "[format('{0}/{1}', variables('vmName'), 'InstallWebServer')]",
"location": "[parameters('location')]",
"dependsOn": [
"[format('Microsoft.Compute/virtualMachines/{0}',variables('vmName'))]"
],
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.7",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/tutorial-vm-extension/installWebServer.ps1"
],
"commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File installWebServer.ps1"
}
}
}
Mer information om den här resursdefinitionen finns i tilläggsreferensen. Här följer några viktiga element:
name
: Eftersom tilläggsresursen är en underordnad resurs för det virtuella datorobjektet måste namnet ha prefixet för den virtuella datorns namn. Se Ange namn och typ för underordnade resurser.dependsOn
: Skapa tilläggsresursen när du har skapat den virtuella datorn.fileUris
: De platser där skriptfilerna lagras. Om du väljer att inte använda den angivna platsen måste du uppdatera värdena.commandToExecute
: Det här kommandot anropar skriptet.
Om du vill använda ett infogat skript tar du bort fileUris
och uppdaterar commandToExecute
till:
powershell.exe Install-WindowsFeature -name Web-Server -IncludeManagementTools && powershell.exe remove-item 'C:\\inetpub\\wwwroot\\iisstart.htm' && powershell.exe Add-Content -Path 'C:\\inetpub\\wwwroot\\iisstart.htm' -Value $('Hello World from ' + $env:computername)
Det här infogade skriptet uppdaterar också iisstart.html innehåll.
Du måste också öppna HTTP-porten så att du kan komma åt webbservern.
Sök
securityRules
i mallen.Lägg till följande regel bredvid default-allow-3389.
{ "name": "AllowHTTPInBound", "properties": { "priority": 1010, "access": "Allow", "direction": "Inbound", "destinationPortRange": "80", "protocol": "Tcp", "sourcePortRange": "*", "sourceAddressPrefix": "*", "destinationAddressPrefix": "*" } }
Distribuera mallen
Distributionsproceduren finns i avsnittet Distribuera mallen i Självstudie: Skapa ARM-mallar med beroende resurser. Du bör använda ett genererat lösenord för den virtuella datorns administratörskonto. Läs mer i avsnittet om förutsättningar i den här artikeln.
Från Cloud Shell kör du följande kommando för att hämta den virtuella datorns offentliga IP-adress:
(Get-AzPublicIpAddress -ResourceGroupName $resourceGroupName).IpAddress
Klistra in IP-adressen i en webbläsare. Välkomstsidan för Internet Information Services (IIS) öppnas:
Rensa resurser
När du inte längre behöver Azure-resurserna du har distribuerat rensar du bort dem genom att ta bort resursgruppen.
- Välj Resursgrupp i den vänstra rutan i Azure Portal.
- Ange resursgruppens namn i fältet Filtrera efter namn.
- Välj resursgruppens namn. Sex resurser visas i resursgruppen.
- Välj Ta bort resursgrupp på menyn längst upp.
Nästa steg
I den här självstudien distribuerade du en virtuell dator och ett tillägg för virtuell dator. Tillägget installerade IIS-webbservern på den virtuella datorn. Du kan läsa om hur du använder Azure SQL Database-tillägget till att importera en BACPAC-fil här: