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.
Note
Molti dei passaggi elencati in questo documento si applicano ai set di scalabilità di macchine virtuali usando la modalità orchestrazione uniforme. È consigliabile usare l'orchestrazione flessibile per i nuovi carichi di lavoro. Per altre informazioni, vedere Modalità di orchestrazione per i set di scalabilità di macchine virtuali in Azure.
L'inserimento di macchine virtuali in una singola area riduce la distanza fisica tra le istanze. Posizionarli all'interno di una singola zona di disponibilità li porterà anche fisicamente più vicini. Tuttavia, man mano che aumenta il footprint Azure, una singola zona di disponibilità potrebbe estendersi su più data center fisici, con conseguente latenza di rete che influisce sull'applicazione.
Per posizionare le macchine virtuali il più vicine possibile tra loro, ottenendo la latenza più bassa possibile, è possibile distribuirle in un gruppo di posizionamento di prossimità.
Un gruppo di posizionamento di prossimità è un raggruppamento logico usato per assicurarsi che le risorse di calcolo di Azure si trovino una vicino all'altra. I gruppo di posizionamento di prossimità sono utili per i carichi di lavoro che richiedono una latenza ridotta.
- Bassa latenza tra macchine virtuali autonome.
- Bassa latenza tra macchine virtuali in un singolo set di disponibilità o in un set di scalabilità di macchine virtuali.
- Bassa latenza tra macchine virtuali autonome, macchine virtuali in più set di disponibilità o più set di scalabilità. È possibile avere più risorse di calcolo in un singolo gruppo di posizionamento per riunire un'applicazione a più livelli.
- Bassa latenza tra più livelli di applicazione usando diversi tipi di hardware. Ad esempio, eseguire il back-end utilizzando la serie M in un set di disponibilità e il front-end su un'istanza della serie D, all'interno di un set di scalabilità, in un unico gruppo di posizionamento di prossimità.
Utilizzo di gruppi di posizionamento vicini
Un gruppo di posizionamento di prossimità è una risorsa in Azure. È necessario crearne uno prima di usarlo con altre risorse. Una volta creato, può essere utilizzato con macchine virtuali, set di disponibilità o set di scalabilità di macchine virtuali. Si specifica un gruppo di posizionamento di prossimità fornendo l'ID del gruppo di posizionamento di prossimità durante la creazione delle risorse di calcolo.
È anche possibile spostare una risorsa esistente in un gruppo di posizionamento di prossimità. Quando si sposta una risorsa in un gruppo di posizionamento di prossimità, è necessario arrestare (deallocare) la risorsa prima, perché verrà ridistribuita potenzialmente in un diverso data center nella regione per soddisfare il vincolo di colocazione.
Nel caso di set di disponibilità e di set di scalabilità di macchine virtuali, è necessario impostare il gruppo di posizionamento di prossimità a livello di risorsa anziché a livello delle singole macchine virtuali.
Un gruppo di posizionamento di prossimità è un vincolo di condivisione anziché un meccanismo di blocco. È associato a un data center specifico con la distribuzione della prima risorsa che lo utilizza. Una volta che tutte le risorse che utilizzano il gruppo di posizionamento di prossimità sono state arrestate (deallocate) o eliminate, il gruppo non è più vincolato. Pertanto, quando si usa un gruppo di posizionamento di prossimità con più serie di macchine virtuali, è importante specificare tutti i tipi necessari in anticipo in un modello quando possibile o seguire una sequenza di distribuzione che migliorerà le probabilità di una distribuzione corretta. Se la distribuzione non va a buon fine, riavvia la distribuzione con la dimensione della macchina virtuale che non è riuscita come prima dimensione da distribuire.
Cosa aspettarsi quando si usano i gruppi di posizionamento di prossimità
I gruppi di posizionamento di prossimità offrono la coubicazione nello stesso data center. Tuttavia, poiché i gruppi di posizionamento di prossimità rappresentano un vincolo di distribuzione aggiuntivo, gli errori di allocazione possono verificarsi. Esistono alcuni casi d'uso in cui possono verificarsi errori di allocazione quando si usano gruppi di posizionamento di prossimità:
- Quando si richiede la prima macchina virtuale nel gruppo di posizionamento di prossimità, il data center viene selezionato automaticamente. In alcuni casi, una seconda richiesta per uno SKU di macchina virtuale diverso potrebbe non riuscire se non esiste nel data center. In questo caso, viene restituito un errore OverconstrainedAllocationRequest. Per evitare questo, prova a modificare l'ordine di distribuzione degli SKU o a fare in modo che entrambe le risorse vengano distribuite tramite un unico modello ARM.
- Nel caso di carichi di lavoro elastici, in cui si aggiungono e rimuovono istanze di macchine virtuali, la presenza di un vincolo di gruppo di posizionamento di prossimità nella distribuzione potrebbe comportare un errore di mancata soddisfazione della richiesta con conseguente errore AllocationFailure .
- L'arresto (deallocazione) e l'avvio delle macchine virtuali in base alle esigenze è un altro modo per ottenere l'elasticità. Poiché la capacità non viene mantenuta dopo l'arresto (deallocazione) di una macchina virtuale, l'avvio potrebbe comportare un errore AllocationFailure .
- Le operazioni di avvio e ridistribuzione della macchina virtuale continueranno a rispettare il gruppo di posizionamento di prossimità dopo la configurazione corretta.
Manutenzione pianificata e gruppi di posizionamento di prossimità
Gli eventi di manutenzione pianificata, come la dismissione dell'hardware in un data center di Azure, potrebbero influire sull'allineamento delle risorse nei gruppi di posizionamento di prossimità. Le risorse potrebbero essere spostate in un data center diverso, interrompendo le aspettative di collocazione e latenza associate al gruppo di posizionamento di prossimità.
Controllare lo stato di allineamento
È possibile eseguire le operazioni seguenti per controllare lo stato di allineamento dei gruppi di posizionamento di prossimità.
Lo stato di collocazione del gruppo di posizionamento di prossimità può essere visualizzato usando il portale, la CLI e PowerShell.
Per PowerShell, è possibile ottenere lo stato della condivisione dei dati usando Get-AzProximityPlacementGroup cmdlet includendo il parametro facoltativo '-ColocationStatus'.
Per l'interfaccia della riga di comando, è possibile ottenere lo stato di condivisione usando
az ppg showincludendo il parametro facoltativo '--include-colocation-status'.
Per ogni gruppo di posizionamento di prossimità, una proprietà di stato di condivisione fornisce il riepilogo dello stato di allineamento corrente delle risorse raggruppate.
Allineato: Risorsa si trova all'interno dello stesso intervallo di latenza del gruppo di posizionamento di prossimità.
Sconosciuto: almeno una delle risorse della macchina virtuale viene deallocata. Una volta avviato correttamente, lo stato tornerà a Allineato.
Non allineato: almeno una risorsa macchina virtuale non è allineata al gruppo di posizionamento di prossimità. Anche le risorse specifiche non allineate verranno richiamate separatamente nella sezione di appartenenza
Per i set di disponibilità, è possibile visualizzare informazioni sull'allineamento delle singole macchine virtuali nella pagina Panoramica del set di disponibilità.
Per i set di scalabilità, le informazioni sull'allineamento delle singole istanze sono disponibili nella scheda Istanze della pagina Panoramica per il set di scalabilità.
Riallineare le risorse
Se un gruppo di posizionamento di prossimità è Not Aligned, è possibile arrestare/deallocare e quindi riavviare le risorse interessate. Se la macchina virtuale si trova in un set di disponibilità o in un set di scalabilità, tutte le macchine virtuali nel set di disponibilità o nel set di scalabilità devono essere arrestate\deallocate prima di riavviarle.
Se si verifica un errore di allocazione a causa di vincoli di distribuzione, potrebbe essere necessario arrestare\deallocare tutte le risorse nel gruppo di posizionamento di prossimità interessato (incluse le risorse allineate) e quindi riavviarle per ripristinare l'allineamento.
Procedure consigliate
- Per la latenza più bassa, usare i gruppi di posizionamento di prossimità insieme alla rete accelerata. Per altre informazioni, vedere Creare una macchina virtuale Linux con rete accelerata o Creare una macchina virtuale Windows con rete accelerata.
- Distribuire tutte le dimensioni delle macchine virtuali in un singolo modello. Per evitare di finire su hardware che non supporta tutti gli SKU e le dimensioni delle VM necessari, includere tutti i livelli dell'applicazione in un unico modello, così che vengano distribuiti tutti contemporaneamente.
- Se si esegue lo script della distribuzione usando PowerShell, l'interfaccia della riga di comando o l'SDK, è possibile che venga visualizzato un errore
OverconstrainedAllocationRequestdi allocazione. In questo caso, è necessario arrestare/deallocare tutte le VM esistenti e modificare l’ordine nello script di distribuzione in modo che inizi dagli SKU/dalle dimensioni delle VM per cui la distribuzione non è riuscita. - Quando si riutilizza un gruppo di posizionamento esistente da cui sono state eliminate le macchine virtuali, attendere il completamento completo dell'eliminazione prima di aggiungerle.
- Se la latenza è la prima priorità, inserire le macchine virtuali in un gruppo di posizionamento di prossimità e l'intera soluzione in una zona di disponibilità. Tuttavia, se la resilienza è la priorità principale, distribuire le istanze tra più zone di disponibilità (un singolo gruppo di posizionamento di prossimità non può estendersi su zone).
Creare un gruppo di posizionamento di prossimità
Creare un gruppo di posizionamento di prossimità usando il cmdlet New-AzProximityPlacementGroup .
$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
-Location $location `
-Name $ppgName `
-ResourceGroupName $resourceGroup `
-ProximityPlacementGroupType Standard
Elencare i gruppi di posizionamento di prossimità
È possibile elencare tutti i gruppi di posizionamento di prossimità usando il cmdlet Get-AzProximityPlacementGroup .
Get-AzProximityPlacementGroup
Creare un set di scalabilità all'interno di un gruppo di posizionamento di prossimità
Importante
A partire da novembre 2023, i set di scalabilità delle macchine virtuali creati con PowerShell e interfaccia della riga di comando di Azure utilizzeranno per impostazione predefinita la modalità di orchestrazione flessibile se non è specificata alcuna modalità di orchestrazione. Per ulteriori informazioni su questa modifica e sulle azioni da intraprendere, consultare Modifica significativa per gli utenti di PowerShell/CLI di VMSS - Microsoft Community Hub
Creare una scala nel gruppo di posizionamento di prossimità usando -ProximityPlacementGroup $ppg.Id per fare riferimento all'ID del gruppo di posizionamento di prossimità quando si usa New-AzVMSS per creare il set di scalabilità.
$scalesetName = "myVM"
New-AzVmss `
-ResourceGroupName $resourceGroup `
-Location $location `
-OrchestrationMode "Uniform" `
-VMScaleSetName $scalesetName `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-ProximityPlacementGroup $ppg.Id
È possibile visualizzare l'istanza nel gruppo di posizionamento usando Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup `
-ResourceId $ppg.Id | Format-Table `
-Wrap `
-Property VirtualMachineScaleSets
Passaggi successivi
È anche possibile usare il interfaccia della riga di comando di Azure per creare gruppi di posizionamento di prossimità.