Dostarczanie informacji o planie zakupu w witrynie Azure Marketplace podczas tworzenia obrazów

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows — elastyczne zestawy ✔️ ✔️ skalowania

Jeśli tworzysz obraz w galerii udostępnionej, używając źródła, które zostało pierwotnie utworzone na podstawie obrazu witryny Azure Marketplace, może być konieczne śledzenie informacji o planie zakupu. W tym artykule pokazano, jak znaleźć informacje o planie zakupu dla maszyny wirtualnej, a następnie użyć tych informacji podczas tworzenia definicji obrazu. Omówiono również używanie informacji z definicji obrazu w celu uproszczenia dostarczania informacji o planie zakupu podczas tworzenia maszyny wirtualnej dla obrazu.

Aby uzyskać więcej informacji na temat znajdowania obrazów z witryny Marketplace i korzystania z nich, zobacz Znajdowanie obrazów z witryny Azure Marketplace i korzystanie z nich.

Pobieranie informacji o źródłowej maszynie wirtualnej

Jeśli nadal masz oryginalną maszynę wirtualną, możesz uzyskać informacje o planie, wydawcy i produkcie przy użyciu polecenia Get-AzVM. Ten przykład pobiera maszynę wirtualną o nazwie myVM w grupie zasobów myResourceGroup , a następnie wyświetla informacje o planie zakupu maszyny wirtualnej.

$vm = Get-azvm `
   -ResourceGroupName myResourceGroup `
   -Name myVM
$vm.Plan

Tworzenie definicji obrazu

Pobierz galerię, której chcesz użyć do przechowywania obrazu. Możesz najpierw wyświetlić listę wszystkich galerii.

Get-AzResource -ResourceType Microsoft.Compute/galleries | Format-Table

Następnie utwórz zmienne dla galerii, której chcesz użyć. W tym przykładzie tworzymy zmienną o nazwie $gallerymyGallery w grupie zasobów myGalleryRG .

$gallery = Get-AzGallery `
   -Name myGallery `
   -ResourceGroupName myGalleryRG

Utwórz definicję obrazu przy użyciu parametrów -PurchasePlanPublisher, -PurchasePlanProducti -PurchasePlanName .

 $imageDefinition = New-AzGalleryImageDefinition `
   -GalleryName $gallery.Name `
   -ResourceGroupName $gallery.ResourceGroupName `
   -Location $gallery.Location `
   -Name 'myImageDefinition' `
   -OsState specialized `
   -OsType Linux `
   -Publisher 'myPublisher' `
   -Offer 'myOffer' `
   -Sku 'mySKU' `
   -PurchasePlanPublisher $vm.Plan.Publisher `
   -PurchasePlanProduct $vm.Plan.Product `
   -PurchasePlanName  $vm.Plan.Name

Następnie utwórz wersję obrazu przy użyciu polecenia New-AzGalleryImageVersion.

Tworzenie maszyny wirtualnej

Po przejściu do utworzenia maszyny wirtualnej na podstawie obrazu możesz użyć informacji z definicji obrazu, aby przekazać informacje o wydawcy przy użyciu polecenia Set-AzVMPlan.

# Create some variables for the new VM.
$resourceGroup = "mySIGPubVM"
$location = "West Central US"
$vmName = "mySIGPubVM"

# 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 Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version. Set-AZVMPlan is used to pass the plan information in for the VM.

$vmConfig = New-AzVMConfig `
   -VMName $vmName `
   -VMSize Standard_D1_v2   | `
   Set-AzVMSourceImage -Id $imageDefinition.Id | `
   Set-AzVMPlan `
     -Publisher $imageDefinition.PurchasePlan.Publisher `
     -Product $imageDefinition.PurchasePlan.Product `
     -Name $imageDefinition.PurchasePlan.Name | `
   Add-AzVMNetworkInterface -Id $nic.Id

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

Następne kroki

Aby uzyskać więcej informacji na temat znajdowania obrazów z witryny Marketplace i korzystania z nich, zobacz Znajdowanie obrazów z witryny Azure Marketplace i korzystanie z nich.