Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un set di scalabilità di macchine virtuali consente di distribuire e gestire un set di macchine virtuali. Durante tutto il ciclo di vita di un set di scalabilità di macchine virtuali, potrebbe essere necessario eseguire una o più attività di gestione. In questa esercitazione si apprenderà come:
- Creare un gruppo di risorse
- Creare un set di macchine virtuali scalabili
- Aumentare e ridurre il numero di istanze
- Arrestare, avviare e riavviare le istanze di macchina virtuale
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Azure Cloud Shell
Azure ospita Azure Cloud Shell, un ambiente shell interattivo che è possibile usare tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
| Opzione | Esempio/collegamento |
|---|---|
| Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. |
|
| Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. |
|
| Selezionare il pulsante Cloud Shell nella barra dei menu in alto a destra nel portale di Azure. |
|
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando Ctrl+Shift+V in Windows e Linux oppure selezionando Cmd+Shift+V in macOS.
Selezionare INVIO per eseguire il codice o il comando.
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite. È necessario creare un gruppo di risorse prima di creare un gruppo di macchine virtuali scalabile. Creare un gruppo di risorse con il comando New-AzResourceGroup. In questo esempio viene creato un gruppo di risorse denominato myResourceGroup nell'area EastUS .
New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"
In questa esercitazione, il nome del gruppo di risorse viene specificato quando si crea o si modifica un set di scalabilità.
Creare un set di macchine virtuali scalabili
Prima di tutto, impostare un nome utente e una password di amministratore per le istanze della macchina virtuale con Get-Credential:
$cred = Get-Credential
Creare ora un set di scalabilità di macchine virtuali con il comando New-AzVmss. Per distribuire il traffico alle singole istanze di macchine virtuali, viene creato anche un servizio di bilanciamento del carico. Il servizio di bilanciamento del carico include regole per distribuire il traffico sulla porta TCP 80 e consentire il traffico desktop remoto sulla porta TCP 3389 e la comunicazione remota di PowerShell sulla porta TCP 5985:
Importante
A partire da novembre 2023, i set di scalabilità di macchine virtuali creati con PowerShell e l'interfaccia della riga di comando di Azure avranno per impostazione predefinita la modalità di orchestrazione flessibile se non è specificata alcuna modalità di orchestrazione. Per altre informazioni su questa modifica e sulle azioni da eseguire, vedere Modifica che causa un'interruzione per i clienti di PowerShell/CLI di VMSS - Hub della community Microsoft
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-Location "EastUS" `
-Credential $cred
La creazione e la configurazione di tutte le risorse e le istanze di VM del set di scalabilità richiedono alcuni minuti. Per distribuire il traffico alle singole istanze di macchine virtuali, viene creato anche un servizio di bilanciamento del carico.
Visualizzare le istanze di VM in un set di scalabilità
Per visualizzare un elenco di istanze di macchine virtuali in un set di scalabilità, usare Get-AzVM come indicato di seguito:
Get-AzVM -ResourceGroupName "myResourceGroup"
L'output di esempio seguente mostra due istanze di VM nel set di scalabilità:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
Per visualizzare informazioni aggiuntive su un'istanza di macchina virtuale specifica, usare Get-AzVM e specificare il nome della macchina virtuale.
Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
ResourceGroupName : myresourcegroup
Id : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId : d27b5fde-d469-4087-b08f-87d0bd8df786
Name : myScaleSet_instance1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated : 11/16/2022 11:02:02 PM
Creare un set di scalabilità con dimensioni specifiche dell'istanza di macchina virtuale
Quando hai creato un set di scalabilità all'inizio dell'esercitazione, è stato fornito uno SKU di macchina virtuale predefinito di Standard_D1_v2 per le istanze di macchina virtuale. È possibile specificare una dimensione dell'istanza di macchina virtuale diversa con il -VMSize parametro per specificare le dimensioni di un'istanza di macchina virtuale di Standard_F1.
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-VMSize "Standard_F1" `
-Location "EastUS" `
-Credential $cred
Modificare la capacità di un set di scalabilità
Quando è stato creato un set di scalabilità, per impostazione predefinita sono state distribuite due istanze di macchine virtuali. Per aumentare o ridurre il numero di istanze di macchine virtuali nel set di scalabilità, è possibile modificare manualmente la capacità. Il set di scalabilità crea o rimuove il numero necessario di istanze di vm, quindi configura il servizio di bilanciamento del carico per distribuire il traffico.
Innanzitutto, creare un oggetto di set di scalabilità con Get-AzVmss, quindi specificare un nuovo valore per sku.capacity. Per applicare la modifica della capacità, usare Update-AzVmss. L'esempio seguente imposta il numero di istanze di macchina virtuale nel set di scalabilità su 3:
# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss
Sono necessari alcuni minuti per aggiornare la capacità del set di scalabilità. Per visualizzare il numero di istanze attualmente presente nel set di scalabilità, usare Get-Az:
Get-AzVm -ResourceGroupName "myResourceGroup"
L'output di esempio seguente mostra che la capacità del set di scalabilità è ora 3:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance3 eastus Standard_DS1_v2 Windows Succeeded
Arrestare e deallocare istanze di macchine virtuali in un set di scalabilità
Per arrestare singole istanze di macchina virtuale, usare Stop-AzVm e specificare i nomi delle istanze.
Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Per impostazione predefinita, le macchine virtuali arrestate vengono deallocate e non comportano addebiti per il calcolo. Se si vuole che la macchina virtuale rimanga in uno stato di provisioning quando viene arrestata, aggiungere il -StayProvisioned parametro al comando precedente. Le macchine virtuali spente che rimangono provisionate comportano costi di calcolo regolari.
Avviare le istanze di VM di un set di scalabilità
Per avviare tutte le istanze di VM in un set di scalabilità, usare Start-AzVmss.
Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Per avviare una singola istanza di macchina virtuale in un set di scalabilità, usare Start-AzVM e specificare il nome dell'istanza.
Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Riavviare le istanze di VM di un set di scalabilità
Per riavviare tutte le macchine virtuali in un set di scalabilità, usare Restart-AzVmss.
Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Per riavviare una singola istanza, usare [Restart-AzVM] e specificare il nome dell'istanza.
Restart-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Pulire le risorse
Quando si elimina un gruppo di risorse, vengono eliminate anche tutte le risorse contenute all'interno, ad esempio le istanze della macchina virtuale, la rete virtuale e i dischi. Il -Force parametro conferma che si desidera eliminare le risorse senza una richiesta aggiuntiva. Il parametro -AsJob restituisce il controllo al prompt senza attendere il completamento dell'operazione.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Passaggi successivi
In questa esercitazione si è appreso come eseguire alcune attività di base di creazione e gestione dei set di scalabilità con Azure PowerShell:
- Creare un gruppo di risorse
- Creare un set di scalabilità
- Visualizzare e usare dimensioni di macchina virtuale specifiche
- Ridimensionare manualmente un set di scalabilità
- Eseguire attività comuni di gestione dei set di scalabilità, ad esempio l'arresto, l'avvio e il riavvio del set di scalabilità
Per informazioni su come connettersi alle istanze del set di scalabilità, procedere con l'esercitazione successiva.