Samouczek: Tworzenie maszyn wirtualnych z systemem Windows i zarządzanie nimi za pomocą programu Azure PowerShellTutorial: Create and Manage Windows VMs with Azure PowerShell

Maszyny wirtualne platformy Azure oferują w pełni konfigurowalne i elastyczne środowiska obliczeniowe.Azure virtual machines provide a fully configurable and flexible computing environment. W tym samouczku opisano podstawowe zadania wdrożenia maszyny wirtualnej platformy Azure, takie jak wybieranie rozmiaru i obrazu maszyny wirtualnej oraz wdrażanie maszyny wirtualnej.This tutorial covers basic Azure virtual machine (VM) deployment tasks like selecting a VM size, selecting a VM image, and deploying a VM. Omawiane kwestie:You learn how to:

  • Tworzenie maszyny wirtualnej i łączenie z niąCreate and connect to a VM
  • Wybieranie i używanie obrazów maszyn wirtualnychSelect and use VM images
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnychView and use specific VM sizes
  • Zmienianie rozmiaru maszyny wirtualnejResize a VM
  • Wyświetlanie stanu maszyny wirtualnej i jego omówienieView and understand VM state

Uruchamianie usługi Azure Cloud ShellLaunch Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Udostępnia ona wstępnie zainstalowane i najczęściej używane narzędzia platformy Azure, które są skonfigurowane do użycia na koncie.It has common Azure tools preinstalled and configured to use with your account.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.To open the Cloud Shell, just select Try it from the upper right corner of a code block. Cloud Shell można również uruchomić na osobnej karcie przeglądarki, przechodząc do https://shell.azure.com/powershell .You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Wybierz przycisk Kopiuj, aby skopiować bloki kodu, wklej je do usługi Cloud Shell, a następnie naciśnij klawisz Enter, aby je uruchomić.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Tworzenie grupy zasobówCreate resource group

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup.Create a resource group with the New-AzResourceGroup command.

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.An Azure resource group is a logical container into which Azure resources are deployed and managed. Grupę zasobów należy utworzyć przed maszyną wirtualną.A resource group must be created before a virtual machine. W poniższym przykładzie grupa zasobów o nazwie myResourceGroupVM zostanie utworzona w regionie EastUS:In the following example, a resource group named myResourceGroupVM is created in the EastUS region:

New-AzResourceGroup `
   -ResourceGroupName "myResourceGroupVM" `
   -Location "EastUS"

Grupa zasobów jest określana podczas tworzenia lub modyfikowania maszyn wirtualnych, co zostało przedstawione w tym samouczku.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Tworzenie maszyny wirtualnejCreate a VM

Podczas tworzenia maszyny wirtualnej masz dostęp do kilku opcji, takich jak obraz systemu operacyjnego, konfiguracja sieci i poświadczenia administracyjne.When creating a VM, several options are available like operating system image, network configuration, and administrative credentials. W tym przykładzie jest tworzona maszyna wirtualna o nazwie myVM z uruchomioną domyślną wersją systemu Windows Server 2016 Datacenter.This example creates a VM named myVM, running the default version of Windows Server 2016 Datacenter.

Ustaw nazwę użytkownika i hasło potrzebne dla konta administratora na maszynie wirtualnej przy użyciu polecenia Get-Credential:Set the username and password needed for the administrator account on the VM with Get-Credential:

$cred = Get-Credential

Utwórz maszynę wirtualną za pomocą polecenia New-AzVM.Create the VM with New-AzVM.

New-AzVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -Credential $cred

Łączenie z maszyną wirtualnąConnect to VM

Po zakończeniu wdrożenia utwórz połączenie pulpitu zdalnego z maszyną wirtualną.After the deployment has completed, create a remote desktop connection with the VM.

Uruchom następujące polecenia, aby zwrócić publiczny adres IP maszyny wirtualnej.Run the following commands to return the public IP address of the VM. Zapisz ten adres IP, aby połączyć się z nim w przeglądarce w celu przetestowania połączenia z siecią Web w przyszłym kroku.Take note of this IP Address so you can connect to it with your browser to test web connectivity in a future step.

Get-AzPublicIpAddress `
   -ResourceGroupName "myResourceGroupVM"  | Select IpAddress

Użyj następującego polecenia na maszynie lokalnej, aby utworzyć sesję usług pulpitu zdalnego z maszyną wirtualną.Use the following command, on your local machine, to create a remote desktop session with the VM. Zastąp adres IP adresem publicIPAddress maszyny wirtualnej.Replace the IP address with the publicIPAddress of your VM. Po wyświetleniu monitu wprowadź poświadczenia używane podczas tworzenia maszyny wirtualnej.When prompted, enter the credentials used when creating the VM.

mstsc /v:<publicIpAddress>

W oknie Zabezpieczenia systemu Windows wybierz pozycję Więcej opcji, a następnie pozycję Użyj innego konta.In the Windows Security window, select More choices and then Use a different account. Wpisz nazwę użytkownika i hasło utworzone dla maszyny wirtualnej, a następnie kliknij przycisk OK.Type the username and password you created for the VM and then click OK.

Informacje o obrazach w portalu MarketplaceUnderstand marketplace images

Witryna Azure Marketplace zawiera wiele obrazów, za pomocą których można utworzyć nową maszynę wirtualną.The Azure marketplace includes many images that can be used to create a new VM. W poprzednich krokach utworzono maszynę wirtualną przy użyciu obrazu systemu Windows Server 2016 Datacenter.In the previous steps, a VM was created using the Windows Server 2016 Datacenter image. W tym kroku moduł PowerShell jest używany do wyszukiwania w witrynie Marketplace innych obrazów systemu Windows, które mogą być również używane jako podstawa nowych maszyn wirtualnych.In this step, the PowerShell module is used to search the marketplace for other Windows images, which can also be used as a base for new VMs. Proces ten składa się z wyszukiwania wydawcy, oferty, jednostki SKU i opcjonalnie numeru wersji w celu zidentyfikowania obrazu.This process consists of finding the publisher, offer, SKU, and optionally a version number to identify the image.

Użyj polecenia Get-AzVMImagePublisher, aby uzyskać listę wydawców obrazów:Use the Get-AzVMImagePublisher command to return a list of image publishers:

Get-AzVMImagePublisher -Location "EastUS"

Użyj polecenia Get-AzVMImageOffer, aby uzyskać listę ofert obrazów.Use the Get-AzVMImageOffer to return a list of image offers. To polecenie umożliwia filtrowanie zwracanej listy według określonego wydawcy o nazwie MicrosoftWindowsServer:With this command, the returned list is filtered on the specified publisher named MicrosoftWindowsServer:

Get-AzVMImageOffer `
   -Location "EastUS" `
   -PublisherName "MicrosoftWindowsServer"

Wyniki będą wyglądać podobnie do następującego przykładu:The results will look something like this example:

Offer             PublisherName          Location
-----             -------------          --------
Windows-HUB       MicrosoftWindowsServer EastUS
WindowsServer     MicrosoftWindowsServer EastUS
WindowsServer-HUB MicrosoftWindowsServer EastUS

Polecenie Get-AzVMImageSku spowoduje następnie odfiltrowanie według nazwy wydawcy i oferty w celu uzyskania listy nazw obrazów.The Get-AzVMImageSku command will then filter on the publisher and offer name to return a list of image names.

Get-AzVMImageSku `
   -Location "EastUS" `
   -PublisherName "MicrosoftWindowsServer" `
   -Offer "WindowsServer"

Wyniki będą wyglądać podobnie do następującego przykładu:The results will look something like this example:

Skus                                      Offer         PublisherName          Location
----                                      -----         -------------          --------
2008-R2-SP1                               WindowsServer MicrosoftWindowsServer EastUS  
2008-R2-SP1-smalldisk                     WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter                        WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter-smalldisk              WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core               WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core-smalldisk     WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers           WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-RDSH                 WindowsServer MicrosoftWindowsServer EastUS
2016-Nano-Server                          WindowsServer MicrosoftWindowsServer EastUS

Te informacje mogą być używane na potrzeby wdrażania maszyny wirtualnej za pomocą określonego obrazu.This information can be used to deploy a VM with a specific image. W tym przykładzie wdrażasz maszynę wirtualną przy użyciu obrazu systemu Windows Server 2016 z kontenerami.This example deploys a VM using the latest version of a Windows Server 2016 with Containers image.

New-AzVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM2" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress2" `
    -ImageName "MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest" `
    -Credential $cred `
    -AsJob

Parametr -AsJob umożliwia tworzenie maszyny wirtualnej w tle, co powoduje powrót do wiersza polecenia programu PowerShell.The -AsJob parameter creates the VM as a background task, so the PowerShell prompts return to you. Możesz wyświetlić szczegóły zadań w tle, używając polecenia cmdlet Get-Job.You can view details of background jobs with the Get-Job cmdlet.

Omówienie rozmiarów maszyn wirtualnychUnderstand VM sizes

Rozmiar maszyny wirtualnej określa ilość zasobów obliczeniowych, takich jak procesor CPU, procesor GPU i pamięć, które są dostępne dla maszyny wirtualnej.The VM size determines the amount of compute resources like CPU, GPU, and memory that are made available to the VM. Tworzone maszyny wirtualne powinny mieć rozmiar odpowiadający obciążeniu.Virtual machines should be created using a VM size appropriate for the workload. Jeśli obciążenie zwiększy się, można również zmienić rozmiar istniejącej maszyny wirtualnej.If a workload increases, an existing virtual machine can also be resized.

Rozmiary maszyn wirtualnychVM Sizes

W poniższej tabeli przedstawiono kategorie rozmiarów podzielone według przypadków użycia.The following table categorizes sizes into use cases.

TypType Typowe rozmiaryCommon sizes OpisDescription
Ogólnego przeznaczeniaGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Zrównoważona moc procesora CPU w stosunku do pamięci.Balanced CPU-to-memory. Opcja idealna w przypadku tworzenia i testowania, małych i średnich aplikacji oraz rozwiązań dotyczących danych.Ideal for dev / test and small to medium applications and data solutions.
Optymalizacja pod kątem obliczeńCompute optimized Fsv2Fsv2 Duża moc procesora CPU w stosunku do pamięci.High CPU-to-memory. Opcja dobra w przypadku aplikacji o średnim ruchu, urządzeń sieciowych i procesów wsadowych.Good for medium traffic applications, network appliances, and batch processes.
Optymalizacja pod kątem pamięciMemory optimized Esv3, EV3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Duża ilość pamięci na rdzeń.High memory-to-core. Opcja bardzo dobra w przypadku relacyjnych baz danych, średnich i dużych pamięci podręcznych oraz analizowania w pamięci.Great for relational databases, medium to large caches, and in-memory analytics.
Optymalizacja pod kątem magazynuStorage optimized Lsv2, LSLsv2, Ls Wysoka przepływność dysku i duża liczba operacji we/wy.High disk throughput and IO. Opcja idealna w przypadku danych big data oraz baz danych SQL i NoSQL.Ideal for Big Data, SQL, and NoSQL databases.
Procesor GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Maszyny wirtualne wyspecjalizowane pod kątem intensywnego renderowania grafiki i edytowania materiałów wideo.Specialized VMs targeted for heavy graphic rendering and video editing.
Wysoka wydajnośćHigh performance HH Maszyny wirtualne z najbardziej wydajnymi procesorami CPU oraz, opcjonalnie, interfejsami sieciowymi zapewniającymi wysoką przepływność (RDMA).Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

Wyszukiwanie dostępnych rozmiarów maszyn wirtualnychFind available VM sizes

Aby wyświetlić listę dostępnych rozmiarów maszyn wirtualnych w danym regionie, użyj polecenia Get-AzVMSize.To see a list of VM sizes available in a particular region, use the Get-AzVMSize command.

Get-AzVMSize -Location "EastUS"

Zmienianie rozmiaru maszyny wirtualnejResize a VM

Po wdrożeniu maszyny wirtualnej można zmienić jej rozmiar w celu zwiększenia lub zmniejszenia alokacji zasobów.After a VM has been deployed, it can be resized to increase or decrease resource allocation.

Przed zmianą rozmiaru maszyny wirtualnej sprawdź, czy wybrany rozmiar jest dostępny w bieżącym klastrze maszyny wirtualnej.Before resizing a VM, check if the size you want is available on the current VM cluster. Polecenie Get-AzVMSize zwraca listę rozmiarów.The Get-AzVMSize command returns a list of sizes.

Get-AzVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"

Jeśli rozmiar jest dostępny, można go zmienić dla włączonej maszyny wirtualnej, ale zostanie ona ponownie uruchomiona w trakcie tej operacji.If the size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation.

$vm = Get-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_DS3_v2"
Update-AzVM `
   -VM $vm `
   -ResourceGroupName "myResourceGroupVM"

Jeśli wybrany rozmiar jest niedostępny w bieżącym klastrze, przed rozpoczęciem operacji zmiany rozmiaru należy cofnąć przydział maszyny wirtualnej.If the size you want isn't available on the current cluster, the VM needs to be deallocated before the resize operation can occur. Cofnięcie przydziału maszyny wirtualnej spowoduje usunięcie wszystkich danych na dysku tymczasowym, a publiczny adres IP zmieni się, chyba że jest używany statyczny adres IP.Deallocating a VM will remove any data on the temp disk, and the public IP address will change unless a static IP address is being used.

Stop-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM" -Force
$vm = Get-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_E2s_v3"
Update-AzVM -VM $vm `
   -ResourceGroupName "myResourceGroupVM"
Start-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -Name $vm.name

Stany zasilania maszyny wirtualnejVM power states

Maszyna wirtualna platformy Azure może znajdować się w jednym z wielu stanów zasilania.An Azure VM can have one of many power states.

Stan zasilaniaPower State OpisDescription
UruchamianieStarting Maszyna wirtualna jest uruchamiana.The virtual machine is being started.
UruchomienieRunning Maszyna wirtualna została uruchomiona.The virtual machine is running.
ZatrzymywanieStopping Maszyna wirtualna jest zatrzymywana.The virtual machine is being stopped.
ZatrzymanoStopped Maszyna wirtualna została zatrzymana.The VM is stopped. Opłaty za operacje obliczeniowe są także naliczane w przypadku maszyn wirtualnych w stanie Zatrzymano.Virtual machines in the stopped state still incur compute charges.
Cofanie przydziałuDeallocating Przydział maszyny wirtualnej jest cofany.The VM is being deallocated.
Cofnięto przydziałDeallocated Wskazuje, że maszyna wirtualna została usunięta z funkcji hypervisor, ale jest nadal dostępna na płaszczyźnie kontroli.Indicates that the VM is removed from the hypervisor but is still available in the control plane. Opłaty za operacje obliczeniowe nie są naliczane w przypadku maszyn wirtualnych w stanie Deallocated.Virtual machines in the Deallocated state do not incur compute charges.
- Stan zasilania maszyny wirtualnej jest nieznany.The power state of the VM is unknown.

Aby pobrać stan określonej maszyny wirtualnej, użyj polecenia Get-AzVM.To get the state of a particular VM, use the Get-AzVM command. Pamiętaj, aby określić prawidłową nazwę maszyny wirtualnej i grupy zasobów.Be sure to specify a valid name for a VM and resource group.

Get-AzVM `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Status | Select @{n="Status"; e={$_.Statuses[1].Code}}

Dane wyjściowe będą wyglądać podobnie do następującego przykładu:The output will look something like this example:

Status
------
PowerState/running

Aby pobrać stan mocy wszystkich maszyn wirtualnych w ramach subskrypcji, użyj opcji Virtual Machines wszystkie interfejsy API z parametrem statusOnly na wartość true.To retrieve the power state of all the VMs in your subscription, use the Virtual Machines - List All API with parameter statusOnly set to true.

Zadania zarządzaniaManagement tasks

W trakcie cyklu życia maszyny wirtualnej można uruchamiać zadania zarządzania, takie jak uruchamianie, zatrzymywanie lub usuwanie maszyny wirtualnej.During the lifecycle of a VM, you may want to run management tasks like starting, stopping, or deleting a VM. Ponadto można tworzyć skrypty służące do automatyzowania zadań powtarzających się lub złożonych.Additionally, you may want to create scripts to automate repetitive or complex tasks. Dzięki użyciu programu Azure PowerShell wiele typowych zadań zarządzania można uruchamiać z poziomu wiersza polecenia lub w skryptach.Using Azure PowerShell, many common management tasks can be run from the command line or in scripts.

Zatrzymywanie maszyny wirtualnejStop a VM

Do zatrzymywania maszyny wirtualnej i cofania jej przydziału służy polecenie Stop-AzVM:Stop and deallocate a VM with Stop-AzVM:

Stop-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM" -Force

Jeśli maszyna wirtualna ma zachować stan Aprowizowano, użyj parametru -StayProvisioned.If you want to keep the VM in a provisioned state, use the -StayProvisioned parameter.

Uruchamianie maszyny wirtualnejStart a VM

Start-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM"

Usuwanie grupy zasobówDelete resource group

Wszystkie elementy znajdujące się wewnątrz grupy zasobów zostaną usunięte podczas usuwania tej grupy.Everything inside of a resource group is deleted when you delete the resource group.

Remove-AzResourceGroup `
   -Name "myResourceGroupVM" `
   -Force

Następne krokiNext steps

W niniejszym samouczku zawarto informacje dotyczące podstawowych zadań tworzenia maszyny wirtualnej i zarządzania nią, takie jak:In this tutorial, you learned about basic VM creation and management such as how to:

  • Tworzenie maszyny wirtualnej i łączenie z niąCreate and connect to a VM
  • Wybieranie i używanie obrazów maszyn wirtualnychSelect and use VM images
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnychView and use specific VM sizes
  • Zmienianie rozmiaru maszyny wirtualnejResize a VM
  • Wyświetlanie stanu maszyny wirtualnej i jego omówienieView and understand VM state

Przejdź do następnego samouczka, aby dowiedzieć się więcej na temat dysków maszyn wirtualnych.Advance to the next tutorial to learn about VM disks.