Självstudie: Skapa och hantera en VM-skalningsuppsättning med Azure PowerShell

Med en vm-skalningsuppsättning kan du distribuera och hantera en uppsättning virtuella datorer. Under livscykeln för en VM-skalningsuppsättning kan du behöva köra en eller flera hanteringsuppgifter. I den här självstudiekursen får du lära du dig att:

  • Skapa en resursgrupp
  • Skapa en VM-skalningsuppsättning
  • Skala ut och in
  • Stoppa, starta och starta om virtuella datorinstanser

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Skapa en resursgrupp

En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. En resursgrupp måste skapas innan en VM-skalningsuppsättning. Skapa en resursgrupp med kommandot New-AzResourceGroup. I det här exemplet skapas en resursgrupp med namnet myResourceGroup i regionen EastUS.

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"

Resursgruppens namn anges när du skapar eller ändrar en skalningsuppsättning under den här självstudien.

Skapa en VM-skalningsuppsättning

Först anger du ett administratörsanvändarnamn och lösenord för virtuella datorer med Get-Credential:

$cred = Get-Credential

Skapa nu en VM-skalningsuppsättning med New-AzVmss. För att distribuera trafik till flera virtuella datorinstanser så skapas även en lastbalanserare. Lastbalanseraren innehåller regler för att distribuera trafik på TCP-port 80 och tillåta fjärrskrivbordstrafik på TCP-port 3389 och PowerShell-fjärrkommunikation på TCP-port 5985:

Viktigt!

Från och med november 2023 kommer VM-skalningsuppsättningar som skapats med PowerShell och Azure CLI som standard att vara flexibla orkestreringsläge om inget orkestreringsläge har angetts. Mer information om den här ändringen och vilka åtgärder du bör vidta finns i Icke-bakåtkompatibla ändringar för VMSS PowerShell/CLI-kunder – Microsoft Community Hub

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -Location "EastUS" `
  -Credential $cred

Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorinstanser. För att distribuera trafik till flera virtuella datorinstanser så skapas även en lastbalanserare.

Visa de virtuella datorinstanserna i en skalningsuppsättning

Om du vill visa en lista över virtuella datorinstanser i en skalningsuppsättning använder du Get-AzVM på följande sätt:

Get-AzVM -ResourceGroupName "myResourceGroup"

Följande exempelutdata visar två virtuella datorinstanser i skalningsuppsättningen:

ResourceGroupName                Name Location          VmSize  OsType      ProvisioningState 
-----------------                ---- --------          ------  ------       ----------------- 
myResourceGroup   myScaleSet_instance1   eastus Standard_DS1_v2 Windows         Succeeded     
myResourceGroup   myScaleSet_instance2   eastus Standard_DS1_v2 Windows         Succeeded     

Om du vill visa ytterligare information om en specifik VM-instans använder du Get-AzVM och anger namnet på den virtuella datorn.

Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1" 
ResourceGroupName      : myresourcegroup
Id                     : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId                   : d27b5fde-d469-4087-b08f-87d0bd8df786
Name                   : myScaleSet_instance1
Type                   : Microsoft.Compute/virtualMachines
Location               : eastus
Tags                   : {}
HardwareProfile        : {VmSize}
NetworkProfile         : {NetworkInterfaces}
OSProfile              : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState      : Succeeded
StorageProfile         : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated            : 11/16/2022 11:02:02 PM

Skapa en skalningsuppsättning med en virtuell datorinstans av en viss storlek

När du skapade en skalningsuppsättning i början av självstudien, angavs en standard virtuell dator-SKU på Standard_D1_v2 för de virtuella datorinstanserna. Du kan ange en annan vm-instansstorlek med parametern -VMSize för att ange en VM-instansstorlek på Standard_F1.

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -VMSize "Standard_F1" `
  -Location "EastUS" `
  -Credential $cred

Ändra kapaciteten för en skalningsuppsättning

När du skapade en skalningsuppsättning distribuerades två VM-instanser som standard. Om du vill öka eller minska antalet virtuella datorinstanser i din befintliga skalningsuppsättning, kan du manuellt ändra kapaciteten. Skalningsuppsättningen skapar eller tar bort antalet virtuella datorinstanser som krävs och konfigurerar sedan lastbalanseraren att distribuera trafiken.

Skapa först ett skalningsuppsättningsobjekt med Get-AzVmss och ange sedan ett nytt värde för sku.capacity. Om du vill tillämpa kapacitetsändringen, använder du Update-AzVmss. Följande exempel anger antalet virtuella datorinstanser i din skalningsuppsättning till 3:

# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss 

Det tar några minuter att uppdatera kapaciteten för din skalningsuppsättning. Om du vill se antalet instanser som du nu har i skalningsuppsättningen använder du Get-Az:

Get-AzVm -ResourceGroupName "myResourceGroup" 

Följande exempelutdata visar att kapaciteten för skalningsuppsättningen nu är 3:

ResourceGroupName                Name Location          VmSize  OsType    ProvisioningState 
-----------------                ---- --------          ------  ------    ----------------- 
myResourceGroup   myScaleSet_instance1   eastus Standard_DS1_v2 Windows       Succeeded     
myResourceGroup   myScaleSet_instance2   eastus Standard_DS1_v2 Windows       Succeeded     
myResourceGroup   myScaleSet_instance3   eastus Standard_DS1_v2 Windows       Succeeded   

Stoppa och frigöra virtuella datorinstanser i en skalningsuppsättning

Om du vill stoppa enskilda VM-instanser använder du Stop-AzVm och anger instansnamnen.

Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Som standard frigörs stoppade virtuella datorer och debiteras inte beräkningsavgifter. Om du vill att den virtuella datorn är kvar i etablerat tillstånd när den stoppats, lägger du till parametern -StayProvisioned till det föregående kommandot. Stoppade virtuella datorer som fortsätter att vara etablerade, kostar vanliga beräkningsavgifter.

Starta virtuella datorinstanser i en skalningsuppsättning

Om du vill starta alla vm-instanser i en skalningsuppsättning använder du Start-AzVmss.

Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" 

Om du vill starta en enskild VM-instans i en skalningsuppsättning använder du Start-AzVM och anger instansnamnet.

Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Starta om virtuella datorinstanser i en skalningsuppsättning

Om du vill starta om alla virtuella datorer i en skalningsuppsättning använder du Restart-AzVmss.

Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Om du vill starta om en enskild instans använder du [Restart-AzVM] och anger instansnamnet.

Restart-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Rensa resurser

Om en resursgrupp tas bort, tas även alla resurser som ingår i gruppen bort, som de virtuella datorinstanserna, det virtuella nätverket och diskarna tas också bort. Parametern -Force bekräftar att du vill ta bort resurserna utan en extra uppmaning om att göra det. Parametern -AsJob återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Nästa steg

I den här självstudien fick du lära dig hur du utför vissa grundläggande skapande och hanteringsåtgärder för skalningsuppsättningar med Azure PowerShell:

  • Skapa en resursgrupp
  • Skapa en skalningsuppsättning
  • Visa och använda specifika VM-storlekar
  • Skala en skalningsuppsättning automatiskt
  • Utför vanliga skalningsuppsättningshanteringsuppgifter som att stoppa, starta och starta om skalningsuppsättningen

Gå vidare till nästa självstudie för att lära dig hur du ansluter till dina skalningsuppsättningsinstanser.