Kurz: Vytváření imagí virtuálních počítačů s Windows pomocí Azure PowerShell

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s ✔️ Windows

Image je možné použít ke spuštění nasazení a zajištění konzistence napříč několika virtuálními počítači. V tomto kurzu vytvoříte vlastní specializovanou image virtuálního počítače Azure pomocí PowerShellu a uložíte ji v Galerii výpočetních prostředků Azure (dříve označované jako Shared Image Gallery). Získáte informace o těchto tématech:

  • Vytvoření Azure Compute Gallery
  • Vytvoření definice image
  • Vytvoření verze image
  • Vytvoření virtuálního počítače z image
  • Sdílení galerie

Než začnete

Následující postup podrobně popisuje, jak vytvořit existující virtuální počítač a převést ho na opakovaně použitelnou vlastní image, kterou můžete použít k vytvoření nových virtuálních počítačů.

K dokončení příkladu v tomto kurzu potřebujete existující virtuální počítač. V případě potřeby si můžete prohlédnout rychlý start PowerShellu k vytvoření virtuálního počítače pro účely tohoto kurzu. Při procházení kurzu nahraďte názvy prostředků tam, kde je to potřeba.

Přehled

Azure Compute Gallery zjednodušuje sdílení vlastních imagí v organizaci. Vlastní image jsou podobné imagím z marketplace, ale vytváříte je sami. Vlastní image se dají použít ke spouštění konfigurací, jako jsou předběžné načítání aplikací, konfigurace aplikací a další konfigurace operačního systému.

Azure Compute Gallery umožňuje sdílet vlastní image virtuálních počítačů s ostatními. Vyberte, které obrázky chcete sdílet, ve kterých oblastech je chcete zpřístupnit a s kým je chcete sdílet.

Funkce Azure Compute Gallery má několik typů prostředků:

Prostředek Popis
Zdroj obrázku Toto je prostředek, který lze použít k vytvoření verze image v galerii. Zdrojem image může být existující virtuální počítač Azure, který je buď zobecněný, nebo specializovaný, spravovaná image, snímek nebo verze image v jiné galerii.
Galerie Podobně jako Azure Marketplace je galerie úložištěm pro správu a sdílení imagí a aplikací virtuálních počítačů, ale vy řídíte, kdo má přístup.
Definice obrázku Definice obrázků se vytvářejí v galerii a obsahují informace o obrázku a požadavcích na jeho interní použití. To zahrnuje, jestli se jedná o image Windows nebo Linux, poznámky k verzi a minimální a maximální požadavky na paměť. Jedná se o definici typu obrázku.
Verze image Verze image je to, co použijete k vytvoření virtuálního počítače při použití galerie. Podle potřeby pro vaše prostředí můžete mít několik verzí image. Když k vytvoření virtuálního počítače použijete verzi image , podobně jako u spravované image, použije se tato verze image k vytvoření nových disků pro virtuální počítač. Verze imagí je možné použít vícekrát.

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com/powershell. Zkopírujte bloky kódu výběrem možnosti Kopírovat, vložte je do služby Cloud Shell a potom je spusťte stisknutím klávesy Enter.

Získání virtuálního počítače

Seznam virtuálních počítačů dostupných ve skupině prostředků můžete zobrazit pomocí rutiny Get-AzVM. Jakmile znáte název virtuálního počítače a jakou skupinu prostředků, můžete Get-AzVM objekt virtuálního počítače získat znovu a uložit ho do proměnné pro pozdější použití. Tento příklad získá virtuální počítač sourceVM ze skupiny prostředků myResourceGroup a přiřadí ho k proměnné $sourceVM.

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

Vytvoření skupiny prostředků

Vytvořte skupinu prostředků pomocí příkazu New-AzResourceGroup .

Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. V následujícím příkladu se v oblasti EastUS vytvoří skupina prostředků myGalleryRG:

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

Galerie je primárním prostředkem, který slouží k povolení sdílení imagí. Povolené znaky pro název galerie jsou velká nebo malá písmena, číslice, tečky a tečky. Název galerie nesmí obsahovat pomlčky. Názvy galerií musí být v rámci vašeho předplatného jedinečné.

Vytvořte galerii pomocí rutiny New-AzGallery. Následující příklad vytvoří galerii myGallery ve skupině prostředků myGalleryRG .

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

Vytvoření definice image

Definice obrázků vytvářejí logické seskupení obrázků. Slouží ke správě informací o verzích imagí, které jsou v nich vytvořeny. Názvy definic obrázků můžou být tvořené velkými nebo malými písmeny, číslicemi, tečkami, pomlčkami a tečkami. Další informace o hodnotách, které můžete zadat pro definici obrázku, najdete v tématu Definice obrázků.

Vytvořte definici image pomocí rutiny New-AzGalleryImageDefinition. V tomto příkladu má image galerie název myGalleryImage a vytvoří se pro specializovanou image.

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

Vytvoření verze image

Vytvořte verzi image z virtuálního počítače pomocí rutiny New-AzGalleryImageVersion.

Povolené znaky pro verzi obrázku jsou čísla a tečky. Čísla musí být v rozsahu 32bitového celého čísla. Formát: Hlavníverze. MinorVersion. Oprava.

V tomto příkladu je verze image 1.0.0 a replikuje se do datových center USA – východ i USA – středo jih . Při výběru cílových oblastí pro replikaci musíte jako cíl replikace zahrnout zdrojovou oblast.

Pokud chcete vytvořit verzi image z virtuálního počítače, použijte $vm.Id.ToString() pro -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'

Replikace image do všech cílových oblastí může chvíli trvat.

Vytvoření virtuálního počítače

Jakmile budete mít specializovanou image, můžete vytvořit jeden nebo více nových virtuálních počítačů. Pomocí rutiny New-AzVM Pokud chcete image použít, použijte Set-AzVMSourceImage a nastavte -Id na ID definice image (v tomto případě $galleryImage.Id), aby se vždy používala nejnovější verze image.

Názvy prostředků nahraďte podle potřeby v tomto příkladu.

# 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

Doporučujeme sdílet přístup na úrovni galerie. K získání ID objektu pro uživatele použijte e-mailovou adresu a rutinu Get-AzADUser a pak mu pomocí rutiny New-AzRoleAssignment udělte přístup ke galerii. Nahraďte ukázkový e-mail alinne_montes@contoso.com v tomto příkladu vlastními informacemi.

# 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

Vyčištění prostředků

Pokud už je nepotřebujete, můžete k odebrání skupiny prostředků a všech souvisejících prostředků použít rutinu Remove-AzResourceGroup :

# Delete the gallery 
Remove-AzResourceGroup -Name myGalleryRG

# Delete the VM
Remove-AzResourceGroup -Name myResoureceGroup

Azure Image Builder

Azure také nabízí službu postavenou na Packeru a Azure VM Image Builderu. Jednoduše popište vlastní nastavení v šabloně a ta zajistí vytvoření image.

Další kroky

V tomto kurzu jste vytvořili specializovanou image virtuálního počítače. Naučili jste se:

  • Vytvoření Azure Compute Gallery
  • Vytvoření definice image
  • Vytvoření verze image
  • Vytvoření virtuálního počítače z image
  • Sdílení galerie

Přejděte k dalšímu kurzu, kde se dozvíte o Virtual Machine Scale Sets.