Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ Flexibele schaalsets voor Windows-VM's ✔️
Afbeeldingen kunnen worden gebruikt om implementaties op te starten en consistentie tussen meerdere VM's te garanderen. In deze zelfstudie maakt u uw eigen gespecialiseerde image van een Azure virtuele machine met behulp van PowerShell en slaat u deze op in een Azure Compute Gallery (voorheen bekend als Shared Image Gallery). U leert het volgende:
- Een Azure Compute-galerie maken
- Een afbeeldingsdefinitie maken
- Een afbeeldingsversie maken
- Een VM vanuit de installatiekopie maken
- Een galerie delen
Voordat u begint
In de onderstaande stappen wordt beschreven hoe u een bestaande virtuele machine kunt omzetten in een herbruikbare aangepaste image die u kunt gebruiken om nieuwe VM's te maken.
Om het voorbeeld in deze zelfstudie uit te voeren, moet u een bestaande virtuele machine hebben. Indien nodig ziet u de PowerShell-quickstart voor het maken van een virtuele machine die u voor deze zelfstudie kunt gebruiken. Vervang tijdens het volgen van de handleiding de resourcenamen waar nodig.
Overzicht
Een Azure Compute Gallery vereenvoudigt het delen van aangepaste installatiekopieën in uw organisatie. Aangepaste afbeeldingen zijn net als marketplace-afbeeldingen, maar je maakt ze zelf. Aangepaste afbeeldingen kunnen worden gebruikt voor het opstarten van configuraties, zoals het vooraf laden van toepassingen, toepassingsconfiguraties en andere besturingssysteemconfiguraties.
Met de Azure Compute Gallery kunt u uw aangepaste VM-installatiekopieën delen met anderen. U kunt kiezen welke afbeeldingen u wilt delen, in welke regio’s u ze beschikbaar wilt maken en met wie u ze wilt delen.
De functie Azure Compute Gallery heeft meerdere resourcetypen:
| Hulpbron | Beschrijving |
|---|---|
| Afbeeldingsbron | Dit is een resource die kan worden gebruikt voor het maken van een afbeeldingsversie in een galerij. Een bron van een installatiekopie kan een bestaande Virtuele Azure-machine zijn die gegeneraliseerd of gespecialiseerd is, een beheerde installatiekopie, een momentopname of een versie van een installatiekopie in een andere galerie. |
| Galerij | Net als bij Azure Marketplace is een galerie een opslagplaats voor het beheren en delen van installatiekopieën en VM-toepassingen, maar u bepaalt wie er toegang heeft. |
| Definitie van afbeelding | Definities van afbeeldingen worden gemaakt in een galerij en bevatten informatie over de afbeelding en vereisten voor intern gebruik. Dit houdt ook in of het om een Windows- of Linux-installatiekopie gaat. Daarnaast bevat de definitie releaseopmerkingen en de minimale en maximale geheugenvereisten. Het is een definitie van een type afbeelding. |
| Imageversie | U gebruikt een installatiekopieversie om een VM te maken wanneer u een afbeeldingengalerij gebruikt. U kunt meerdere versies van een afbeelding hebben, indien dat nodig is voor uw omgeving. Net als bij een beheerde installatiekopie, wanneer u een versie van een installatiekopie gebruikt om een VM te maken, wordt de versie van de installatiekopie gebruikt voor het maken van nieuwe schijven voor de VM. Afbeeldingsversies kunnen meerdere keren worden gebruikt. |
Azure Cloud Shell starten
Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. Veelgebruikte Azure-hulpprogramma's zijn vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.
Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com/powershell te gaan. Klik op Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en druk vervolgens op Enter om de code uit te voeren.
Haal de virtuele machine op
U ziet een lijst met virtuele machines die beschikbaar zijn in een resourcegroep met behulp van Get-AzVM. Zodra u de naam van de virtuele machine en de resourcegroep kent, kunt u het VM-object opnieuw ophalen Get-AzVM en opslaan in een variabele die u later kunt gebruiken. In dit voorbeeld wordt een vm met de naam sourceVM opgehaald uit de resourcegroep myResourceGroup en wordt deze toegewezen aan de variabele $sourceVM.
$sourceVM = Get-AzVM `
-Name sourceVM `
-ResourceGroupName myResourceGroup
Een brongroep maken
Maak een resourcegroep met de opdracht New-AzResourceGroup.
Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. In het volgende voorbeeld wordt een resourcegroep met de naam myGalleryRG gemaakt in de regio EastUS :
$resourceGroup = New-AzResourceGroup `
-Name 'myGalleryRG' `
-Location 'EastUS'
Een galerie maken
Een galerie is de primaire resource die wordt gebruikt voor het inschakelen van het delen van afbeeldingen. Toegestane tekens voor galerienaam zijn hoofdletters of kleine letters, cijfers en punten. De naam van de galerie kan geen koppeltekens bevatten. Galerienamen moeten uniek zijn binnen uw abonnement.
Maak een galerie met New-AzGallery. In het volgende voorbeeld wordt een galerie gemaakt met de naam myGalleryRG in de resourcegroep myGalleryRG .
$gallery = New-AzGallery `
-GalleryName 'myGallery' `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-Description 'Azure Compute Gallery for my organization'
Een afbeeldingsdefinitie maken
Definities van afbeeldingen maken een logische groepering voor afbeeldingen. Die worden gebruikt voor het beheren van informatie over de beeldversies die daarbinnen worden gemaakt. Namen van installatiekopiedefinities kunnen bestaan uit hoofdletters, kleine letters, cijfers, stippen, streepjes en punten. Zie Installatiekopiedefinities voor meer informatie over de waarden die u kunt specificeren voor een installatiekopiedefinitie.
Maak de definitie van de afbeelding met behulp van New-AzGalleryImageDefinition. In dit voorbeeld heet de galerieafbeelding myGalleryImage en is deze gemaakt voor een gespecialiseerde afbeelding.
$galleryImage = New-AzGalleryImageDefinition `
-GalleryName $gallery.Name `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $gallery.Location `
-Name 'myImageDefinition' `
-OsState specialized `
-OsType Windows `
-Publisher 'myPublisher' `
-Offer 'myOffer' `
-Sku 'mySKU'
Een afbeeldingsversie maken
Maak een afbeeldingversie van een virtuele machine met New-AzGalleryImageVersion.
Toegestane tekens voor een afbeeldingsversie zijn cijfers en punten. Cijfers moeten binnen het bereik van een 32-bits geheel getal zijn. Formaat: MajorVersion.MinorVersion.Patch.
In dit voorbeeld is de afbeeldingsversie 1.0.0 en wordt deze gerepliceerd naar zowel de datacenters in Oost-VS als Zuid-Centraal VS. Wanneer u doelregio's voor replicatie kiest, moet u de bronregio opnemen als doel voor replicatie.
Om een imageversie van de virtuele machine te maken, gebruikt u de resource-id van de bron-VM voor -sourceImageVMId.
$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)
$sourceImageVMId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGalleryRG/providers/Microsoft.Compute/virtualMachines/sourceVM"
New-AzGalleryImageVersion `
-GalleryImageDefinitionName $galleryImage.Name`
-GalleryImageVersionName '1.0.0' `
-GalleryName $gallery.Name `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-TargetRegion $targetRegions `
-SourceImageVMId $sourceImageVMId `
-PublishingProfileEndOfLifeDate '2030-12-01'
Het kan even duren om de afbeelding naar alle doelregio's te repliceren.
Een VM maken:
Zodra u een gespecialiseerde afbeelding hebt, kunt u een of meer nieuwe VM's maken. Gebruik de cmdlet New-AzVM . Als u de afbeelding wilt gebruiken, gebruikt u Set-AzVMSourceImage en stelt u de -Id in op de afbeeldingsdefinitie-ID ($galleryImage.Id in dit geval) om altijd de meest recente versie van de afbeelding te gebruiken.
Vervang zo nodig resourcenamen in dit voorbeeld.
# 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
De galerie delen
U wordt aangeraden toegang te delen op galerieniveau. Gebruik een e-mailadres en de cmdlet Get-AzADUser om de object-id voor gebruikers op te halen en gebruik vervolgens New-AzRoleAssignment om hen toegang te geven tot de galerie. Vervang het e-mailadres, alinne_montes@contoso.com in dit voorbeeld, door uw eigen gegevens.
# 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
Hulpmiddelen opruimen
Wanneer u deze niet meer nodig hebt, kunt u de cmdlet Remove-AzResourceGroup gebruiken om de resourcegroep en alle gerelateerde resources te verwijderen:
# Delete the gallery
Remove-AzResourceGroup -Name myGalleryRG
# Delete the VM
Remove-AzResourceGroup -Name myResoureceGroup
Azure Image Builder
Azure biedt ook de service Azure VM Image Builder, die is gebouwd op Packer. Beschrijf gewoon uw aanpassingen in een sjabloon, en het zal de beeldcreatie afhandelen.
Volgende stappen
In deze handleiding hebt u een gespecialiseerd VM-image gemaakt. U hebt geleerd hoe u het volgende kunt doen:
- Een Azure Compute-galerie maken
- Een afbeeldingsdefinitie maken
- Een afbeeldingsversie maken
- Een VM vanuit de installatiekopie maken
- Een galerie delen
Ga verder naar de volgende handleiding om meer te leren over virtuele machineschaalsets.