Utwórz starszy obraz zarządzany uogólnionej maszyny wirtualnej na platformie Azure

Ważne

W tym artykule omówiono starszą technologię obrazów zarządzanych. W przypadku najnowszej technologii zachęcamy klientów do korzystania z galerii obliczeń platformy Azure. Wszystkie nowe funkcje, takie jak ARM64, Zaufane uruchamianie i poufne maszyny wirtualne, są obsługiwane tylko za pośrednictwem galerii obliczeń platformy Azure. Jeśli masz istniejący obraz zarządzany, możesz użyć go jako źródła i utworzyć obraz galerii obliczeniowej platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie definicji obrazu i wersji obrazu.

Po oznaczeniu maszyny wirtualnej jako generalized na platformie Azure nie można ponownie uruchomić maszyny wirtualnej.

Jeden obraz zarządzany obsługuje maksymalnie 20 równoczesnych wdrożeń. Próba jednoczesnego utworzenia ponad 20 maszyn wirtualnych z tego samego obrazu zarządzanego może spowodować przekroczenie limitu czasu aprowizacji z powodu ograniczeń wydajności magazynu pojedynczego dysku VHD. Aby jednocześnie utworzyć ponad 20 maszyn wirtualnych, użyj obrazu usługi Azure Compute Gallery (wcześniej znanej jako galeria obrazów udostępnionych) skonfigurowanego z 1 repliką dla każdego 20 współbieżnych wdrożeń maszyn wirtualnych.

Aby uzyskać informacje na temat sposobu naliczania opłat za obrazy zarządzane, zobacz Dyski zarządzane cennik.

Wymagania wstępne

  • Aby utworzyć obraz, potrzebna jest uogólniona maszyna wirtualna.

Interfejs wiersza polecenia: tworzenie starszego obrazu zarządzanego maszyny wirtualnej

Utwórz zarządzany obraz maszyny wirtualnej za pomocą polecenia az image create. Poniższy przykład tworzy obraz o nazwie myImage w grupie zasobów o nazwie myResourceGroup przy użyciu zasobu maszyny wirtualnej o nazwie myVM.

az image create \
  --resource-group myResourceGroup \
  --name myImage --source myVM

Note

The image is created in the same resource group as your source VM. You can create VMs in any resource group within your subscription from this image. From a management perspective, you may wish to create a specific resource group for your VM resources and images.

If you are capturing an image of a generation 2 VM, also use the --hyper-v-generation V2 parameter. for more information, see Generation 2 VMs.

If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.

This command returns JSON that describes the VM image. Save this output for later reference.

PowerShell: tworzenie starszego obrazu zarządzanego maszyny wirtualnej

Utworzenie obrazu bezpośrednio z maszyny wirtualnej gwarantuje, że obraz zawiera wszystkie dyski skojarzone z maszyną wirtualną, w tym dysk systemu operacyjnego i wszystkie dyski danych. W tym przykładzie pokazano, jak utworzyć obraz zarządzany na podstawie maszyny wirtualnej korzystającej z dysków zarządzanych.

Przed rozpoczęciem upewnij się, że masz najnowszą wersję modułu Azure PowerShell. Aby znaleźć wersję, uruchom polecenie Get-Module -ListAvailable Az w programie PowerShell. Jeśli chcesz przeprowadzić uaktualnienie, zobacz Instalowanie programu Azure PowerShell w systemie Windows przy użyciu modułu PowerShellGet. Jeśli używasz programu PowerShell lokalnie, uruchom polecenie Connect-AzAccount , aby utworzyć połączenie z platformą Azure.

Uwaga

Jeśli chcesz przechowywać obraz w magazynie strefowo nadmiarowym, musisz utworzyć go w regionie obsługującym strefy dostępności i dołączyć -ZoneResilient parametr w konfiguracji obrazu (New-AzImageConfig polecenie).

Aby utworzyć obraz maszyny wirtualnej, wykonaj następujące kroki:

  1. Utwórz pewne zmienne.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Upewnij się, że przydział maszyny wirtualnej został cofnięty.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Ustaw stan maszyny wirtualnej na Uogólnione.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. Pobierz maszynę wirtualną.

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. Utwórz konfigurację obrazu.

    $image = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id 
    
  6. Utwórz obraz.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: tworzenie starszego obrazu zarządzanego na podstawie dysku zarządzanego

Jeśli chcesz utworzyć obraz tylko dysku systemu operacyjnego, określ identyfikator dysku zarządzanego jako dysk systemu operacyjnego:

  1. Utwórz pewne zmienne.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Pobierz maszynę wirtualną.

    $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
    
  3. Pobierz identyfikator dysku zarządzanego.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. Utwórz konfigurację obrazu.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. Utwórz obraz.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: tworzenie starszego obrazu zarządzanego na podstawie migawki

Obraz zarządzany można utworzyć na podstawie migawki uogólnionej maszyny wirtualnej, wykonując następujące kroki:

  1. Utwórz pewne zmienne.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. Pobierz migawkę.

    $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. Utwórz konfigurację obrazu.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. Utwórz obraz.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: tworzenie starszego obrazu zarządzanego na podstawie maszyny wirtualnej korzystającej z konta magazynu

Aby utworzyć obraz zarządzany na podstawie maszyny wirtualnej, która nie używa dysków zarządzanych, potrzebny jest identyfikator URI wirtualnego dysku twardego systemu operacyjnego na koncie magazynu w następującym formacie: https:// mystorageaccount.blob.core.windows.net/ vhdcontainer/vhdfilename.vhd. W tym przykładzie wirtualny dysk twardy znajduje się w obszarze mystorageaccount w kontenerze o nazwie vhdcontainer, a nazwa pliku dysku VHD to vhdfilename.vhd.

  1. Utwórz pewne zmienne.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
    
  2. Zatrzymaj/cofnij przydział maszyny wirtualnej.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Oznacz maszynę wirtualną jako uogólnioną.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized    
    
  4. Utwórz obraz przy użyciu uogólnioowanego dysku VHD systemu operacyjnego.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
    $image = New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

Interfejs wiersza polecenia: tworzenie maszyny wirtualnej na podstawie starszego obrazu zarządzanego

Utwórz maszynę wirtualną przy użyciu obrazu utworzonego za pomocą polecenia az vm create. Poniższy przykład tworzy maszynę wirtualną o nazwie myVMDeployed z obrazu o nazwie myImage.

az vm create \
  --resource-group myResourceGroup \
  --name myVMDeployed \
  --image myImage\
  --admin-username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

Interfejs wiersza polecenia: tworzenie maszyny wirtualnej w innej grupie zasobów na podstawie starszego obrazu zarządzanego

Maszyny wirtualne można tworzyć na podstawie obrazu w dowolnej grupie zasobów w ramach subskrypcji. Aby utworzyć maszynę wirtualną w innej grupie zasobów niż obraz, określ pełny identyfikator zasobu na obrazie. Użyj polecenia az image list , aby wyświetlić listę obrazów. Dane wyjściowe będą podobne do poniższego przykładu.

"id":
"/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
"location": "westus", "name": "myImage",

W poniższym przykładzie użyto polecenia az vm create , aby utworzyć maszynę wirtualną w grupie zasobów innej niż obraz źródłowy, określając identyfikator zasobu obrazu.

az vm create \
  --resource-group myOtherResourceGroup \
  --name myOtherVMDeployed \
  --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
  --admin-username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

Portal: tworzenie maszyny wirtualnej na podstawie starszego obrazu zarządzanego

Utwórz maszynę wirtualną na platformie Azure: znajdź obraz w portalu, wybierz pozycję "Utwórz maszynę wirtualną", wypełnij szczegóły, wybierz rozmiar, dostosuj ustawienia i wdróż.

  1. Przejdź do witryny Azure Portal, aby znaleźć obraz zarządzany. Wyszukaj i wybierz pozycję Obrazy.

  2. Wybierz obraz, którego chcesz użyć z listy. Zostanie otwarta strona Przegląd obrazu.

  3. Wybierz pozycję Utwórz maszynę wirtualną z menu.

  4. Wprowadź informacje o maszynie wirtualnej. Wprowadzona tutaj nazwa użytkownika i hasło będą używane do logowania się do maszyny wirtualnej. Po zakończeniu wybierz przycisk OK. Możesz utworzyć nową maszynę wirtualną w istniejącej grupie zasobów lub wybrać pozycję Utwórz nową , aby utworzyć nową grupę zasobów do przechowywania maszyny wirtualnej.

  5. Wybierz rozmiar maszyny wirtualnej. Aby wyświetlić więcej rozmiarów, wybierz pozycje Wyświetl wszystkie lub zmień filtr Obsługiwany typ dysku.

  6. W obszarze Ustawienia wprowadź zmiany w razie potrzeby i wybierz przycisk OK.

  7. Na stronie podsumowania powinna zostać wyświetlona nazwa obrazu wyświetlana jako obraz prywatny. Wybierz przycisk OK , aby rozpocząć wdrażanie maszyny wirtualnej.

PowerShell: tworzenie maszyny wirtualnej na podstawie starszego obrazu zarządzanego

Za pomocą programu PowerShell można utworzyć maszynę wirtualną na podstawie obrazu przy użyciu uproszczonego zestawu parametrów polecenia cmdlet New-AzVm . Obraz musi znajdować się w tej samej grupie zasobów, w której utworzysz maszynę wirtualną.

Uproszczony zestaw parametrów dla polecenia New-AzVm wymaga tylko podania nazwy, grupy zasobów i nazwy obrazu w celu utworzenia maszyny wirtualnej na podstawie obrazu. New-AzVm użyje wartości parametru -Name jako nazwy wszystkich tworzonych automatycznie zasobów. W tym przykładzie udostępniamy bardziej szczegółowe nazwy dla każdego z zasobów, ale pozwolimy na automatyczne utworzenie ich przez polecenie cmdlet. Możesz również wcześniej utworzyć zasoby, takie jak sieć wirtualna, i przekazać nazwę zasobu do polecenia cmdlet . New-AzVm będzie używać istniejących zasobów, jeśli będą mogły je znaleźć według ich nazwy.

Poniższy przykład tworzy maszynę wirtualną o nazwie myVMFromImage w grupie zasobów myResourceGroup na podstawie obrazu o nazwie myImage.

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" 

Następny krok