Gruppi di selezione host di prossimità

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows ✔️ set di scalabilità flessibili ✔️ set di scalabilità uniformi

L'inserimento di macchine virtuali in una singola area riduce la distanza fisica tra le istanze. Posizionarle all'interno di una singola zona di disponibilità le porterà anche fisicamente più vicine. Tuttavia, man mano che aumenta il footprint di Azure, una singola zona di disponibilità può estendersi su più data center fisici, con conseguente latenza di rete che influisce sull'applicazione.

Se le macchine virtuali sono molto vicine, è possibile mantenere molto bassa la latenza. Per farlo, distribuire il set di scalabilità 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.
  • 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, l'esecuzione del back-end usando la serie M in un set di disponibilità e il front-end in un'istanza della serie D, in un set di scalabilità, in un singolo gruppo di posizionamento di prossimità.

Grafico per i gruppi di posizionamento di prossimità

Usare i gruppi di posizionamento di prossimità

Un gruppo di posizionamento di prossimità è una risorsa in Azure. È necessario crearne uno prima di usarlo con altre risorse. Una volta creato, può essere usato con macchine virtuali, set di disponibilità o set di scalabilità di macchine virtuali. Si specifica un gruppo di posizionamento di prossimità durante la creazione di risorse di calcolo che forniscono l'ID gruppo di posizionamento di prossimità.

È 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) l'asset perché verrà ridistribuito potenzialmente in un data center diverso nell'area per soddisfare il vincolo di coubicazione.

Nel caso di set di disponibilità e set di scalabilità di macchine virtuali, è necessario impostare il gruppo di posizionamento di prossimità a livello di risorsa anziché le singole macchine virtuali.

Un gruppo di posizionamento di prossimità è un vincolo di coubicazione anziché un meccanismo di blocco. Viene aggiunto a un data center specifico con la distribuzione della prima risorsa da usare. Quando tutte le risorse che usano il gruppo di posizionamento di prossimità vengono arrestate (deallocate) o eliminate, non sono più bloccate. Pertanto, ogni volta che 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, se possibile o seguire una sequenza di distribuzione, che migliorerà le probabilità di una distribuzione corretta. Se la distribuzione non riesce, riavviare la distribuzione con le dimensioni della macchina virtuale, che non è riuscita come prima dimensione da distribuire.

Usare la finalità per specificare le dimensioni delle macchine virtuali

È possibile usare il parametro facoltativo intent per fornire le dimensioni della macchina virtuale desiderate come parte del gruppo di posizionamento di prossimità. Questo parametro può essere specificato al momento della creazione di un gruppo di posizionamento di prossimità oppure può essere aggiunto/modificato durante l'aggiornamento di un gruppo di posizionamento di prossimità dopo la deallocazione di tutte le macchine virtuali.

Quando si specifica intent, è anche possibile aggiungere il parametro facoltativo zone per specificare una zona di disponibilità, a indicare che il gruppo di posizionamento di prossimità deve essere creato all'interno di una zona di disponibilità specifica. Quando si specifica il parametro zone, tenere presente quanto segue:

  • Il parametro della zona di disponibilità può essere fornito solo durante la creazione del gruppo di posizionamento di prossimità e non può essere modificato in un secondo momento.
  • Il parametro zone può essere usato solo con intent, non può essere usato da solo.
  • È possibile specificare una sola zona di disponibilità.

La creazione o l'aggiornamento del gruppo di posizionamento di prossimità avrà esito positivo solo quando almeno un data center supporta tutte le dimensioni della macchina virtuale specificate nella finalità. In caso contrario, la creazione o l'aggiornamento avrà esito negativo con "OverconstrainedAllocationRequest", a indicare che la combinazione di dimensioni della macchina virtuale non può essere supportata all'interno di un gruppo di posizionamento di prossimità. La finalità non fornisce alcuna garanzia o prenotazione della capacità. Le dimensioni della macchina virtuale e la zona specificate in intent vengono usate per selezionare un data center appropriato, riducendo le probabilità di errore se le dimensioni della macchina virtuale desiderate non sono disponibili in un data center. Gli errori di allocazione possono comunque verificarsi se non è disponibile più capacità per le dimensioni di una macchina virtuale al momento della distribuzione.

Nota

Per usare la finalità per i gruppi di posizionamento di prossimità, assicurarsi che la versione dell'API sia 2021-11-01 o successiva

Procedure consigliate durante l'uso della finalità

  • Fornire una zona di disponibilità per il gruppo di posizionamento di prossimità solo quando si specifica una finalità. Se si specifica una zona di disponibilità senza una finalità, si verifica un errore durante la creazione del gruppo di posizionamento di prossimità.
  • Se si specifica una zona di disponibilità nella finalità, assicurarsi che la zona di disponibilità delle macchine virtuali distribuite corrisponda a quella specificata nella finalità, per evitare errori durante la distribuzione delle macchine virtuali.
  • La creazione o l'aggiunta di macchine virtuali con dimensioni non incluse nella finalità è consentita, ma non consigliata. Le dimensioni potrebbero non esistere nel data center selezionato e possono causare errori al momento della distribuzione della macchina virtuale.
  • Per i gruppi di posizionamento esistenti, è consigliabile includere le dimensioni delle macchine virtuali esistenti durante l'aggiornamento della finalità, per evitare errori durante la ridistribuzione delle macchine virtuali.

La finalità può essere interessata dalla rimozione delle autorizzazioni

  • È possibile che, dopo aver creato un gruppo di posizionamento di prossimità con finalità e prima di distribuire le macchine virtuali, potrebbero verificarsi eventi di manutenzione pianificata, ad esempio la rimozione delle autorizzazioni hardware in un data center di Azure, con conseguente combinazione di dimensioni della macchina virtuale specificate nella finalità non disponibile nel data center. In questi casi, si verificherà un errore "OverconstrainedAllocationRequest", anche durante la distribuzione di macchine virtuali di dimensioni specificate nella finalità. È possibile provare a deallocare tutte le risorse nel gruppo di posizionamento di prossimità e ricrearle per ottenere un data center in grado di soddisfare la finalità. Se non è presente alcun data center con le dimensioni della macchina virtuale specificate dopo la rimozione delle autorizzazioni, potrebbe essere necessario modificare la finalità di usare una combinazione diversa di dimensioni della macchina virtuale, poiché la combinazione di dimensioni della macchina virtuale non è più supportata.
  • Azure può ritirare un'intera famiglia di macchine virtuali o un set specifico di dimensioni delle macchine virtuali. Se si dispone di una dimensione di tale macchina virtuale nella finalità, potrebbe essere necessario rimuoverla o sostituirla con una dimensione diversa prima della data di ritiro per le dimensioni originali della macchina virtuale. In caso contrario, la finalità non sarà più valida.

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 una dimensione di macchina virtuale diversa potrebbe non riuscire se non esiste nel data center. In questo caso, viene restituito un errore OverconstrainedAllocationRequest. Per evitare questo errore, provare a modificare l'ordine in cui distribuire le dimensioni della macchina virtuale o distribuire entrambe le risorse usando un singolo modello di Resource Manager.
  • Se il gruppo di posizionamento di prossimità viene creato con finalità, le macchine virtuali non devono essere distribuite in un ordine specifico e non devono essere raggruppate in batch usando un singolo modello di Resource Manager, poiché la finalità viene usata per selezionare un data center che supporta tutte le dimensioni delle macchine virtuali indicate nella finalità.
  • In caso di carichi di lavoro elastici, in cui si aggiungono e si rimuovono istanze della macchina virtuale, la presenza di un vincolo del gruppo di posizionamento di prossimità sulla distribuzione potrebbe causare un 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 una volta arrestata (deallocata) una macchina virtuale, l'avvio potrebbe causare 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, ad esempio la rimozione delle autorizzazioni hardware in un data center di Azure, potrebbero influire sull'allineamento delle risorse nei gruppi di posizionamento di prossimità. Le risorse possono 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 coubicazione del gruppo di posizionamento di prossimità può essere visualizzato usando il portale, l'interfaccia della riga di comando e PowerShell.

    • PowerShell: lo stato di coubicazione può essere ottenuto tramite il cmdlet Get-AzProximityPlacementGroup includendo il parametro facoltativo '-ColocationStatus'.

    • Interfaccia della riga di comando: è possibile ottenere lo stato di coubicazione tramite az ppg show includendo il parametro facoltativo '--include-colocation-status'.

  • Per ogni gruppo di posizionamento di prossimità, una proprietà stato di condivisione fornisce il riepilogo dello stato di allineamento corrente delle risorse raggruppate.

    • Allineato: la risorsa si trova all'interno della stessa latenza del gruppo di posizionamento di prossimità.

    • Sconosciuto: almeno una delle risorse della macchina virtuale viene deallocata. Dopo rieseguirli correttamente, lo stato dovrebbe tornare ad 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 di panoramica per il set di scalabilità.

Risorse di riallineamento

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

  • Usare i gruppi di posizionamento di prossimità insieme alla rete accelerata per ottenere la latenza più bassa. Per ulteriori informazioni vedere l'articolo Creare una macchina virtuale Windows con rete accelerata oppure l'articolo Creare una macchina virtuale Linux con rete accelerata.
  • Per evitare l'atterraggio sull'hardware che non supporta tutti gli SKU e le dimensioni della macchina virtuale necessari, usare la finalità per i gruppi di posizionamento di prossimità. Se si tratta di un gruppo di posizionamento di prossimità già esistente senza finalità, è possibile usare un singolo modello di Resource Manager con tutte le dimensioni della macchina virtuale specificate per evitare questo problema.
  • 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).

Passaggi successivi