Självstudie: Skapa avbildningar av virtuella Windows-datorer med Azure PowerShell

Gäller för: ✔️ Virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar

Avbildningar kan användas för att starta distributioner och säkerställa konsekvens över flera virtuella datorer. I den här självstudien skapar du en egen specialiserad avbildning av en virtuell Azure-dator med hjälp av PowerShell och lagrar den i ett Azure Compute-galleri (kallades tidigare Galeria de Imagens Compartilhadas). Lär dig att:

  • Skapa ett Azure Compute-galleri
  • Skapa en avbildningsdefinition
  • Skapa en avbildningsversion
  • Skapa en virtuell dator från en avbildning
  • Dela ett galleri

Innan du börjar

Stegen nedan beskriver hur du tar en befintlig virtuell dator och omvandlar den till en återanvändbar anpassad avbildning som du kan använda för att skapa nya virtuella datorer.

Du måste ha en befintlig virtuell dator för att kunna utföra exemplet i den här självstudiekursen. Om det behövs kan du se PowerShell-snabbstarten för att skapa en virtuell dator som ska användas för den här självstudien. När du går igenom självstudien ersätter du resursnamnen där det behövs.

Översikt

ett Azure Compute-galleri förenklar delning av anpassade avbildningar i hela organisationen. Anpassade avbildningar liknar Marketplace-avbildningar, men du skapar dem själv. Anpassade avbildningar kan användas för startkonfigurationer, till exempel förinläsning av program, programkonfigurationer och andra OS-konfigurationer.

Med Azure Compute Gallery kan du dela dina anpassade VM-avbildningar med andra. Välj vilka bilder du vill dela, vilka regioner du vill göra dem tillgängliga i och vilka du vill dela dem med.

Funktionen Azure Compute Gallery har flera resurstyper:

Resurs Beskrivning
Bildkälla Det här är en resurs som kan användas för att skapa en avbildningsversion i ett galleri. En avbildningskälla kan vara en befintlig virtuell Azure-dator som antingen är generaliserad eller specialiserad, en hanterad avbildning, en ögonblicksbild eller en avbildningsversion i ett annat galleri.
Galleri Precis som Azure Marketplace är ett galleri en lagringsplats för hantering och delning av avbildningar och VM-program, men du styr vem som har åtkomst.
Bilddefinition Bilddefinitioner skapas i ett galleri och innehåller information om avbildningen och krav för att använda den internt. Detta inkluderar om avbildningen är Windows eller Linux, viktig information och krav på lägsta och högsta minne. Det är en definition av en typ av bild.
Avbildningsversion En avbildningsversion är det du använder för att skapa en virtuell dator när du använder ett galleri. Du kan ha flera versioner av en avbildning efter behov för din miljö. Precis som en hanterad avbildning används avbildningsversionen för att skapa nya diskar för den virtuella datorn när du använder en avbildningsversion för att skapa en virtuell dator. Avbildningsversioner kan användas flera gånger.

Starta Azure Cloud Shell

Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell i en separat webbläsarflik genom att gå till https://shell.azure.com/powershell. Kopiera kodblocket genom att välja Kopiera, klistra in det i Cloud Shell och kör det genom att trycka på RETUR.

Hämta den virtuella datorn

Du kan se en lista över virtuella datorer som är tillgängliga i en resursgrupp med hjälp av Get-AzVM. När du känner till namnet på den virtuella datorn och resursgruppen kan du använda Get-AzVM igen för att hämta VM-objektet och lagra det i en variabel som ska användas senare. Det här exemplet hämtar en virtuell dator med namnet sourceVM från resursgruppen "myResourceGroup" och tilldelar den till variabeln $sourceVM.

$sourceVM = Get-AzVM `
   -Name sourceVM `
   -ResourceGroupName myResourceGroup

Skapa en resursgrupp

Skapa en resursgrupp med kommandot New-AzResourceGroup.

En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. I följande exempel skapas en resursgrupp med namnet myGalleryRG i regionen EastUS :

$resourceGroup = New-AzResourceGroup `
   -Name 'myGalleryRG' `
   -Location 'EastUS'

Ett galleri är den primära resurs som används för att aktivera bilddelning. Tillåtna tecken för gallerinamn är versaler eller gemener, siffror, punkter och punkter. Gallerinamnet får inte innehålla bindestreck. Gallerinamn måste vara unika i din prenumeration.

Skapa ett galleri med New-AzGallery. I följande exempel skapas ett galleri med namnet myGallery i resursgruppen myGalleryRG .

$gallery = New-AzGallery `
   -GalleryName 'myGallery' `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -Description 'Azure Compute Gallery for my organization'	

Skapa en avbildningsdefinition

Bilddefinitioner skapar en logisk gruppering för bilder. De används för att hantera information om de avbildningsversioner som skapas i dem. Namn på bilddefinitioner kan bestå av versaler eller gemener, siffror, punkter, bindestreck och punkter. Mer information om de värden som du kan ange för en bilddefinition finns i Bilddefinitioner.

Skapa avbildningsdefinitionen med New-AzGalleryImageDefinition. I det här exemplet heter galleribilden myGalleryImage och skapas för en specialiserad avbildning.

$galleryImage = New-AzGalleryImageDefinition `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $gallery.Location `
   -Name 'myImageDefinition' `
   -OsState specialized `
   -OsType Windows `
   -Publisher 'myPublisher' `
   -Offer 'myOffer' `
   -Sku 'mySKU'

Skapa en avbildningsversion

Skapa en avbildningsversion från en virtuell dator med New-AzGalleryImageVersion.

Tillåtna tecken för bildversionen är siffror och punkter. Tal måste ligga inom intervallet för ett 32-bitars heltal. Format: MajorVersion. MinorVersion. Korrigering.

I det här exemplet är avbildningsversionen 1.0.0 och replikeras till datacenter i både USA, östra och USA, södra centrala . När du väljer målregioner för replikering måste du inkludera källregionen som mål för replikering.

Om du vill skapa en avbildningsversion från den virtuella datorn använder du $vm.Id.ToString() för -Source.

   $region1 = @{Name='South Central US';ReplicaCount=1}
   $region2 = @{Name='East US';ReplicaCount=2}
   $targetRegions = @($region1,$region2)

New-AzGalleryImageVersion `
   -GalleryImageDefinitionName $galleryImage.Name`
   -GalleryImageVersionName '1.0.0' `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -TargetRegion $targetRegions  `
   -Source $sourceVM.Id.ToString() `
   -PublishingProfileEndOfLifeDate '2030-12-01'

Det kan ta en stund att replikera avbildningen till alla målregioner.

Skapa en virtuell dator

När du har en specialiserad avbildning kan du skapa en eller flera nya virtuella datorer. Använda New-AzVM-cmdleten . Om du vill använda avbildningen använder Set-AzVMSourceImage du och anger -Id till bilddefinitions-ID ($galleryImage.Id i det här fallet) för att alltid använda den senaste avbildningsversionen.

Ersätt resursnamn efter behov i det här exemplet.

# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "mySpecializedVM"

# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location

# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $location `
  -Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig
$pip = New-AzPublicIpAddress -ResourceGroupName $resourceGroup -Location $location `
  -Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP  -Protocol Tcp `
  -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
  -DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
  -Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface -Name $vmName -ResourceGroupName $resourceGroup -Location $location `
  -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

# Create a virtual machine configuration using $imageVersion.Id to specify the image version.
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $galleryImage.Id | `
Add-AzVMNetworkInterface -Id $nic.Id

# Create a virtual machine
New-AzVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig

Vi rekommenderar att du delar åtkomst på gallerinivå. Använd en e-postadress och cmdleten Get-AzADUser för att hämta objekt-ID:t för användaren och använd sedan New-AzRoleAssignment för att ge dem åtkomst till galleriet. Ersätt exempel-e-postmeddelandet alinne_montes@contoso.com i det här exemplet med din egen information.

# Get the object ID for the user
$user = Get-AzADUser -StartsWith alinne_montes@contoso.com
# Grant access to the user for our gallery
New-AzRoleAssignment `
   -ObjectId $user.Id `
   -RoleDefinitionName Reader `
   -ResourceName $gallery.Name `
   -ResourceType Microsoft.Compute/galleries `
   -ResourceGroupName $resourceGroup.ResourceGroupName

Rensa resurser

När den inte längre behövs kan du använda cmdleten Remove-AzResourceGroup för att ta bort resursgruppen och alla relaterade resurser:

# Delete the gallery 
Remove-AzResourceGroup -Name myGalleryRG

# Delete the VM
Remove-AzResourceGroup -Name myResoureceGroup

Azure Image Builder

Azure erbjuder också en tjänst som bygger på Packer och Azure VM Image Builder. Beskriv helt enkelt dina anpassningar i en mall så hanterar den skapandet av avbildningen.

Nästa steg

I den här självstudien skapade du en specialiserad VM-avbildning. Du har lärt dig att:

  • Skapa ett Azure Compute-galleri
  • Skapa en avbildningsdefinition
  • Skapa en avbildningsversion
  • Skapa en virtuell dator från en avbildning
  • Dela ett galleri

Gå vidare till nästa självstudie om du vill lära dig hur du skapar virtuella datorer med hög tillgänglighet.