Tillgängliga alternativ för att skapa och hantera en virtuell Azure-dator

Slutförd

Azure-portalen är det enklaste sättet att skapa resurser som virtuella datorer när du kommer igång. Det är dock inte nödvändigtvis det effektivaste eller snabbaste sättet att arbeta med Azure, särskilt om du vill skapa flera resurser tillsammans. I vårt fall skapar vi så småningom dussintals virtuella datorer för att hantera olika uppgifter. Det vore inte särskilt roligt att skapa dem manuellt i Azure-portalen!

Vi tittar på några andra metoder för att skapa och administrera resurser i Azure:

  • Azure Resource Manager-mallar
  • Azure PowerShell
  • Azure CLI
  • REST-API för Azure
  • Azure Client SDK
  • Azure VM-tillägg
  • Azure Automation Services

Resource Manager-mallar

Anta att du vill skapa en kopia av en virtuell dator med samma inställningar. Du kan skapa en avbildning av en virtuell dator, överföra den till Azure och referera till den som underlag för den nya virtuella datorn. Den här processen är ineffektiv och tidskrävande. Med Azure kan du skapa en mall och använda den för att skapa en exakt kopia av en virtuell dator.

Resource Manager-mallar är JSON-filer som definierar de resurser du behöver för att distribuera lösningen.

Du kan skapa en resursmall för den virtuella datorn. Välj Exportera mall under Automation vm-menyn.

Screenshot showing Export template option for a VM.

Kommentar

Principerna för de resurser som ingår i sandbox-miljön för den här Learn-modulen hindrar dig från att kunna exportera den virtuella dator som du nyss skapade. Som sagt, en exporterad mall är en lättredigerad JSON-fil. Du kan välja att ladda ned eller spara en mall för senare användning eller omedelbart distribuera en ny virtuell dator baserat på mallen. Du kan till exempel skapa en virtuell dator från en mall i en testmiljö och upptäcka att den inte riktigt fungerar för att ersätta den lokala datorn. Du kan ta bort resursgruppen, vilket tar bort alla resurser, justera mallen och försöka igen. Om du bara vill göra ändringar i befintliga distribuerade resurser kan du ändra mallen som används för att skapa den och distribuera om den. Resource Manager ändrar resurserna för att matcha den nya mallen.

När du har arbetat som du vill kan du använda mallen för att enkelt replikera flera versioner av infrastrukturen, till exempel mellanlagring och produktion. Du kan parametrisera fält som vm-namn, nätverksnamn, lagringskontonamn och så vidare och läsa in mallen upprepade gånger med hjälp av olika parametrar för att anpassa varje miljö.

Mer information om hur du använder mallar finns i Snabbstart: Skapa en virtuell Ubuntu Linux-dator med hjälp av en ARM-mall.

Azure CLI

Ett alternativ för skript och azure-interaktion på kommandoraden är Azure CLI.

Azure CLI är Microsofts plattformsoberoende kommandoradsverktyg för att hantera Azure-resurser såsom virtuella datorer och diskar från kommandoraden. Den är tillgänglig för Linux, macOS, Windows eller i en webbläsare med hjälp av Cloud Shell.

Från CLI kan du till exempel skapa en virtuell Azure-dator med az vm create kommandot .

az vm create \
    --resource-group TestResourceGroup \
    --name test-wp1-eus-vm \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

Azure CLI kan användas med andra skriptspråk, till exempel Ruby och Python.

Läs mer om att skapa och hantera virtuella datorer i modulen Hantera virtuella datorer med Azure CLI-verktyget.

Mer information om hur du använder Azure CLI för att skapa virtuella datorer finns i Snabbstart: Skapa en virtuell Linux-dator med HJÄLP av CLI.

Azure PowerShell

Azure PowerShell är perfekt för interaktiva engångsuppgifter och/eller automatisering av återkommande uppgifter.

Kommentar

PowerShell är ett plattformsoberoende gränssnitt som tillhandahåller tjänster som gränssnittsfönster och kommandotolk. Azure PowerShell är ett valfritt tilläggspaket som lägger till Azure-specifika kommandon (kallas för cmdletar). Du kan lära dig mer om att installera och använda Azure PowerShell i en separat utbildningsmodul.

Du kan till exempel använda cmdleten New-AzVM för att skapa en ny Debian-baserad virtuell Azure-dator.

New-AzVm `
    -ResourceGroupName "TestResourceGroup" `
    -Name "test-wp1-eus-vm" `
    -Location "East US" `
    -Image Debian11 `
    -VirtualNetworkName "test-wp1-eus-network" `
    -SubnetName "default" `
    -SecurityGroupName "test-wp1-eus-nsg" `
    -PublicIpAddressName "test-wp1-eus-pubip" `
    -GenerateSshKey `
    -SshKeyName myPSKey
    -OpenPorts 22

Enligt vad som visas här kan du ange olika parametrar för att hantera det stora antalet tillgängliga konfigurationsinställningar för virtuella datorer. De flesta av parametrarna har rimliga värden, så du behöver bara ange de parametrar som krävs. Läs mer om att skapa och hantera virtuella datorer med Azure PowerShell i modulen Automatisera Azure-åtgärder med hjälp av PowerShell-skript.

Mer information om hur du använder PowerShell för att skapa virtuella datorer finns i Snabbstart: Skapa en virtuell Linux-dator med PowerShell.

Terraform

Azure har också en Terraform-provider, så du kan enkelt använda Terraform för att skapa och hantera dina virtuella datorer. Terraform möjliggör definition, förhandsversion och distribution av molninfrastruktur. Med Terraform skapar du konfigurationsfiler med hjälp av HCL-syntax. Med HCL-syntaxen kan du ange molnleverantören – till exempel Azure – och de element som utgör din molninfrastruktur. När du har skapat konfigurationsfilerna skapar du en körningsplan som gör att du kan förhandsgranska ändringarna i infrastrukturen innan de distribueras. När du har verifierat ändringarna tillämpar du körningsplanen för att distribuera infrastrukturen.

Mer information finns i Azure Terraform-providern och snabbstarten: Använd Terraform för att skapa en virtuell dator.

Programmatiskt (API:er)

Både Azure PowerShell och Azure CLI är generellt sett bra alternativ om du har enkla skript som ska köras och om du vill hålla dig till kommandoradsverktygen. När det gäller mer komplicerade scenarier där skapandet och hanteringen av virtuella datorer utgör en del av ett större program med komplex logik krävs en annan metod.

Du kan interagera med alla typer av resurser i Azure programmatiskt.

REST-API för Azure

Azure REST API ger utvecklare åtgärder kategoriserade efter resurs och möjlighet att skapa och hantera virtuella datorer. Åtgärder görs tillgängliga som URI:er med motsvarande HTTP-metoder (GET, PUT, POST, DELETE och PATCH) och ett motsvarande svar.

Med Azure Compute-API:erna får du programmatisk åtkomst till virtuella datorer och deras stödresurser.

Mer information finns i REST API-referensen för virtuella datorer.

Azure Client SDK

Även om REST-API:et är plattforms- och språkberoende ser utvecklarna oftast mot en högre abstraktionsnivå. Azure Client SDK kapslar in Azure REST API, vilket gör det enklare för utvecklarna att interagera med Azure.

Azure Client SDK:er är tillgängliga för olika språk och ramverk, inklusive . NET-baserade språk som C#, Java, Node.js, PHP, Python, Ruby och Go.

Här är ett exempelfragment av C#-kod för att skapa en virtuell Azure-dator med hjälp av Microsoft.Azure.Management.Fluent NuGet-paketet.

var azure = Azure
    .Configure()
    .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
    .Authenticate(credentials)
    .WithDefaultSubscription();
// ...
var vmName = "test-wp1-eus-vm";

azure.VirtualMachines.Define(vmName)
    .WithRegion(Region.USEast)
    .WithExistingResourceGroup("TestResourceGroup")
    .WithExistingPrimaryNetworkInterface(networkInterface)
    .WithLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
    .WithAdminUsername("jonc")
    .WithAdminPassword("aReallyGoodPasswordHere")
    .WithComputerName(vmName)
    .WithSize(VirtualMachineSizeTypes.StandardDS1)
    .Create();

Här är samma kodfragment i Java med hjälp av Azure Java SDK.

String vmName = "test-wp1-eus-vm";
// ...
VirtualMachine virtualMachine = azure.virtualMachines()
    .define(vmName)
    .withRegion(Region.US_EAST)
    .withExistingResourceGroup("TestResourceGroup")
    .withExistingPrimaryNetworkInterface(networkInterface)
    .withLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
    .withAdminUsername("jonc")
    .withAdminPassword("aReallyGoodPasswordHere")
    .withComputerName(vmName)
    .withSize("Standard_DS1")
    .create();

Azure VM-tillägg

Anta att du vill konfigurera och installera mer programvara på den virtuella datorn efter den första distributionen. Du vill att den här uppgiften ska använda en specifik konfiguration, övervakas och köras automatiskt.

Azure VM-tillägg är små program som gör att du kan konfigurera och automatisera uppgifter på virtuella Azure-datorer efter den första distributionen.

Mer information finns i Tillägg och funktioner för virtuella Azure-datorer.

Azure Automation-tjänster

Att spara tid, minska fel och öka effektiviteten är några av de viktigaste driftsutmaningarna vid hantering av infrastruktur för fjärråtkomst. Om du har många infrastrukturtjänster kanske du vill överväga att använda tjänster på högre nivå i Azure för att hjälpa dig att arbeta från en högre nivå.

Med Azure Automation kan du integrera tjänster som gör att du enkelt kan automatisera frekventa, tidskrävande och felbenägna hanteringsuppgifter. Tjänsterna omfattar bland annat processautomatisering, konfigurationshantering och uppdateringshantering.

  • Processautomatisering. Anta att du har en virtuell dator som övervakas för en specifik felhändelse. Du vill vidta åtgärder och åtgärda problemet så snart det rapporteras. Med processautomatisering kan du konfigurera bevakaruppgifter som kan svara på händelser som kan inträffa i ditt datacenter.

  • Konfigurationshantering. Du vill kanske spåra programuppdateringar som blir tillgängliga för det operativsystem som körs på den virtuella datorn. Det finns specifika uppdateringar som du kan vilja inkludera eller exkludera. Med konfigurationshantering kan du spåra dessa uppdateringar och vidta åtgärder efter behov. Du använder Microsoft Endpoint Configuration Manager för att hantera företagets PC-datorer, servrar och mobila enheter. Du kan utöka det här stödet till dina virtuella Azure-datorer med Configuration Manager.

  • Uppdateringshantering. Använd den här tjänsten för att hantera uppdateringar och korrigeringar för dina virtuella datorer. Med den här tjänsten kan du utvärdera statusen för tillgängliga uppdateringar, schemalägga installation och granska distributionsresultat för att verifiera att uppdateringarna tillämpas korrekt. Uppdateringshantering omfattar tjänster som ger process- och konfigurationshantering. Du aktiverar uppdateringshantering för en virtuell dator direkt via ditt Azure Automation-konto. Du kan också aktivera uppdateringshantering för en enskild virtuell dator från fönstret för den virtuella datorn i portalen.

Automatisk avstängning

Automatisk avstängning är en funktion i Azure som gör att du automatiskt kan stänga av dina virtuella datorer enligt ett schema. Använd Automatisk avstängning för att spara kostnader genom att se till att dina virtuella datorer inte körs när de inte behövs. Du kan ange att schemat för automatisk avstängning ska ske dagligen eller varje vecka, och du kan också ange tidszonen för schemat.

Om du vill navigera till funktionen Automatisk avstängning på en virtuell dator i Azure-portalen går du till bladet för den virtuella datorn i portalen, klickar på "Automatisk avstängning" under avsnittet "Åtgärder" och konfigurerar sedan inställningarna för automatisk avstängning enligt dina inställningar.

Screenshot showing Auto-shutdown option for a VM.

Mer information finns i Automatisk avstängning.

Som du ser tillhandahåller Azure olika verktyg för att skapa och administrera resurser så att du kan integrera hanteringsåtgärder i en process som fungerar för dig. Nu ska vi undersöka några av de andra Azure-tjänsterna för att se till att dina infrastrukturresurser körs problemfritt.