Esercitazione: Creare e gestire macchine virtuali Windows con Azure PowerShell
Si applica a: ✔️ macchine virtuali di Windows
Le macchine virtuali di Azure offrono un ambiente di elaborazione completamente configurabile e flessibile. Questa esercitazione illustra le attività di base della distribuzione di una macchina virtuale di Azure, ad esempio la selezione delle dimensioni di una macchina virtuale, la selezione dell'immagine di una macchina virtuale e la distribuzione di una macchina virtuale. Scopri come:
- Creare e connettersi a una macchina virtuale
- Selezionare e usare le immagini di una macchina virtuale
- Visualizzare e usare macchine virtuali di dimensioni specifiche
- Ridimensionare una VM
- Visualizzare e comprendere lo stato di una macchina virtuale
Avviare Azure Cloud Shell
Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.
Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com/powershell. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.
Crea gruppo di risorse
Creare un gruppo di risorse con il comando New-AzResourceGroup.
Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite. Il gruppo di risorse deve essere creato prima della macchina virtuale. Nell'esempio seguente viene creato un gruppo di risorse denominato myResourceGroupVM nell'area EastUS:
New-AzResourceGroup `
-ResourceGroupName "myResourceGroupVM" `
-Location "EastUS"
Il gruppo di risorse viene specificato quando si crea o si modifica una VM, come viene illustrato in questa esercitazione.
Creazione di una macchina virtuale
Per la creazione di una VM sono disponibili diverse opzioni, come l'immagine del sistema operativo, la configurazione di rete e le credenziali amministrative. In questo esempio viene creata una macchina virtuale denominata myVM, che esegue la versione predefinita di Windows Server 2016 Datacenter.
Impostare il nome utente e la password necessari per l'account amministratore della VM con Get-Credential:
$cred = Get-Credential
Creare la VM con New-AzVM.
New-AzVm `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" `
-Location "EastUS" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress" `
-Credential $cred
Connettersi a una macchina virtuale
Dopo aver completato la distribuzione, creare una connessione desktop remoto con la macchina virtuale.
Eseguire i comandi seguenti per restituire l'indirizzo IP pubblico della macchina virtuale. Annotare questo indirizzo IP, in modo da potersi connettere ad esso con il browser per testare la connettività Web in un passaggio futuro.
Get-AzPublicIpAddress `
-ResourceGroupName "myResourceGroupVM" | Select IpAddress
Usare il comando seguente nel computer locale per creare una sessione desktop remoto con la macchina virtuale. Sostituire l'indirizzo IP con l'indirizzo publicIPAddress della macchina virtuale. Quando richiesto, immettere le credenziali usate durante la creazione della macchina virtuale.
mstsc /v:<publicIpAddress>
Nella finestra di dialogo Sicurezza di Windows selezionare Altre opzioni e quindi Usa un account diverso. Digitare il nome utente e la password creati per la macchina virtuale e quindi fare clic su OK.
Informazioni sulle immagini del marketplace
Azure Marketplace include diverse immagini che possono essere usate per creare una nuova macchina virtuale. Nei passaggi precedenti è stata creata una macchina virtuale usando l'immagine Windows Server 2016 Datacenter. In questo passaggio viene usato il modulo PowerShell per cercare nel marketplace altre immagini di Windows che possono essere usate come base per nuove macchine virtuali. Questo processo consiste nell'individuazione del server di pubblicazione, dell'offerta, dello SKU e, facoltativamente, di un numero di versione per identificare l'immagine.
Usare il comando Get-AzVMImagePublisher per ottenere un elenco degli editori di immagini:
Get-AzVMImagePublisher -Location "EastUS"
Usare Get-AzVMImageOffer per ottenere un elenco delle offerte di immagini. Con questo comando, l'elenco restituito viene filtrato nel server di pubblicazione specificato denominato MicrosoftWindowsServer
:
Get-AzVMImageOffer `
-Location "EastUS" `
-PublisherName "MicrosoftWindowsServer"
Il risultato dovrebbe essere analogo all'esempio seguente:
Offer PublisherName Location
----- ------------- --------
Windows-HUB MicrosoftWindowsServer EastUS
WindowsServer MicrosoftWindowsServer EastUS
WindowsServer-HUB MicrosoftWindowsServer EastUS
Il comando Get-AzVMImageSku verrà quindi filtrato in base al nome dell'editore e dell'offerta per ottenere un elenco di nomi di immagini.
Get-AzVMImageSku `
-Location "EastUS" `
-PublisherName "MicrosoftWindowsServer" `
-Offer "WindowsServer"
Il risultato dovrebbe essere analogo all'esempio seguente:
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
È possibile usare queste informazioni per distribuire una macchina virtuale con un'immagine specifica. Questo esempio distribuisce una macchina virtuale tramite la versione più recente di Windows Server 2016 con un'immagine dei contenitori.
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
Il parametro -AsJob
crea la VM come attività in background, in modo che i prompt di PowerShell vengano restituiti all'utente. È possibile visualizzare i dettagli dei processi in background con il cmdlet Get-Job .
Informazioni sulle dimensioni delle VM
La dimensione di VM determina la quantità di risorse di calcolo, come CPU, GPU e memoria, che viene resa disponibile per la VM. Le macchine virtuali dovrebbero essere create usando una dimensione di VM adeguata per il carico di lavoro. Se un carico di lavoro aumenta, è possibile ridimensionare anche una macchina virtuale esistente.
Dimensioni delle VM
La tabella seguente classifica le dimensioni a seconda dei casi d'uso.
Type | Dimensioni comuni | Descrizione |
---|---|---|
Utilizzo generico | B, Dsv3, Dv3, DSv2, Dv2, Av2, DC | Rapporto equilibrato tra CPU e memoria. Soluzione ideale per sviluppo/test e soluzioni di dati e applicazioni medio-piccole. |
Con ottimizzazione per il calcolo | Fsv2 | Rapporto elevato tra CPU e memoria. Soluzione idonea per applicazioni con livelli medi di traffico, dispositivi di rete e processi batch. |
Ottimizzato per la memoria | Esv3, Ev3, M, DSv2, Dv2 | Rapporto elevato tra memoria e core. Soluzione ideale per database relazionali, cache medio-grandi e analisi in memoria. |
Con ottimizzazione per l'archiviazione | Lsv2, Ls | I/O e velocità effettiva del disco elevati. Ideale per Big Data, database SQL e NoSQL. |
GPU | NV, NVv2, NC, NCv2, NCv3, ND | VM specializzate ottimizzate per livelli intensivi di rendering della grafica ed editing di video. |
Prestazioni elevate | H | Le macchine virtuali con CPU più potenti, con interfacce di rete ad alta velocità effettiva opzionali (RDMA). |
Trovare le dimensioni delle macchine virtuali disponibili
Per visualizzare un elenco delle dimensioni di VM disponibili in una determinata area, usare il comando Get-AzVMSize.
Get-AzVMSize -Location "EastUS"
Ridimensionare una VM
Dopo la distribuzione di una VM, è possibile ridimensionarla per aumentare o ridurre l'allocazione delle risorse.
Prima di ridimensionare una VM, verificare che la dimensione desiderata sia disponibile nel cluster di VM corrente. Il comando Get-AzVMSize restituisce un elenco delle dimensioni.
Get-AzVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"
Se la dimensione è disponibile, la VM può essere ridimensionata mentre è accesa, ma durante l'operazione viene riavviata.
$vm = Get-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_DS3_v2"
Update-AzVM `
-VM $vm `
-ResourceGroupName "myResourceGroupVM"
Se la dimensione desiderata non è disponibile nel cluster corrente, per poter eseguire l'operazione di ridimensionamento è prima necessario deallocare la VM. La deallocazione di una macchina virtuale rimuoverà tutti i dati sul disco temporaneo e l'indirizzo IP pubblico verrà modificato, a meno che non venga usato un indirizzo IP statico.
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
Stati di alimentazione di una macchina virtuale
Una macchina virtuale di Azure può avere uno dei diversi stati di alimentazione.
Stato di alimentazione | Descrizione |
---|---|
Starting | È in corso l'avvio della macchina virtuale. |
In esecuzione | La macchina virtuale è in esecuzione. |
Arresto in corso | È in corso l'arresto della macchina virtuale. |
Arrestato | la macchina virtuale viene arrestata. Alle macchine virtuali con stato arrestato continuano a essere addebitati i costi di calcolo. |
Deallocazione | È in corso la deallocazione della VM. |
Deallocato | La VM è stata rimossa dall'hypervisor, ma è ancora disponibile nel piano di controllo. Alle macchine virtuali con stato Deallocated non vengono addebitati i costi di calcolo. |
- | Lo stato di alimentazione della VM è sconosciuto. |
Per recuperare lo stato di una determinata VM, usare il comando Get-AzVM. Assicurarsi di specificare un nome valido per una macchina virtuale e un gruppo di risorse.
Get-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" `
-Status | Select @{n="Status"; e={$_.Statuses[1].Code}}
Verrà visualizzato un risultato simile all'esempio seguente:
Status
------
PowerState/running
Per recuperare lo stato di alimentazione di tutte le macchine virtuali nella sottoscrizione, usare l'API Macchine virtuali - Elenca tutte con il parametro statusOnly impostato su true.
Attività di gestione
Durante il ciclo di vita di una VM potrebbe essere necessario eseguire attività di gestione come l'avvio, l'arresto o l'eliminazione della VM. È consigliabile creare script per automatizzare le attività ripetitive o complesse. Tramite Azure PowerShell è possibile eseguire molte attività di gestione comuni dalla riga di comando o con script.
Arrestare una macchina virtuale
Arrestare e deallocare una VM con Stop-AzVM:
Stop-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" -Force
Se si vuole mantenere la macchina virtuale in uno stato di provisioning, usare il parametro -StayProvisioned.
Avviare una VM
Start-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM"
Eliminazione di risorse VM
È possibile eliminare una macchina virtuale, ma per impostazione predefinita questa elimina solo la risorsa vm, non i dischi e le risorse di rete usate dalla macchina virtuale. È possibile modificare il comportamento predefinito per eliminare altre risorse quando si elimina la macchina virtuale. Per altre informazioni, vedere Eliminare una macchina virtuale e le risorse collegate.
Passaggi successivi
In questa esercitazione sono illustrate la creazione e la gestione di VM di base, ad esempio:
- Creare e connettersi a una macchina virtuale
- Selezionare e usare le immagini di una macchina virtuale
- Visualizzare e usare macchine virtuali di dimensioni specifiche
- Ridimensionare una VM
- Visualizzare e comprendere lo stato di una macchina virtuale
Passare all'esercitazione successiva per informazioni sui dischi di macchine virtuali.