Affidabilità nei set di scalabilità di macchine virtuali
Questo articolo contiene informazioni sul supporto delle zone di disponibilità per set di scalabilità di macchine virtuali.
Nota
I set di scalabilità di macchine virtuali possono essere distribuiti solo in un'area. Per distribuire macchine virtuali in più aree, vedere Ripristino di emergenza di macchine virtuali: failover tra aree.
Supporto della zona di disponibilità
Le zone di disponibilità sono gruppi di data center separati fisicamente all'interno di ogni area di Azure. In caso di errore di una zona, i servizi possono eseguire il failover in una delle zone rimanenti.
Per altre informazioni sulle zone di disponibilità in Azure, vedere Che cosa sono le zone di disponibilità?.
Con set di scalabilità di macchine virtuali di Azure, è possibile creare e gestire un gruppo di macchine virtuali con carico bilanciato. Il numero di macchine virtuali può aumentare o diminuire automaticamente in risposta alla domanda o a una pianificazione definita. I set di scalabilità offrono disponibilità elevata per le applicazioni e consentono di gestire, configurare e aggiornare in modo centralizzato un numero elevato di macchine virtuali. Non sono previsti costi per il set di scalabilità stesso. Si paga solo per ogni istanza di macchina virtuale creata.
I set di scalabilità di macchine virtuali supportano distribuzioni sia di zona che con ridondanza della zona all'interno di un'area:
Distribuzioni di zona. Quando si crea un set di scalabilità in una singola zona, è possibile controllare in quale zona vengono eseguite tutte le macchine virtuali del set. Il set di scalabilità viene gestito e ridimensiona automaticamente solo all'interno di tale zona.
Distribuzione con ridondanza della zona. Un set di scalabilità con ridondanza della zona consente di creare un solo set di scalabilità che include più zone. Per impostazione predefinita, man mano che vengono create le macchine virtuali, vengono bilanciate uniformemente tra le zone.
Prerequisiti
Per usare le zone di disponibilità, è necessario creare il set di scalabilità in un'area di Azure supportata.
Tutte le macchine virtuali, anche singole istanze, devono essere distribuite in un set di scalabilità usando la modalità di orchestrazione flessibile per rendere disponibile l'applicazione di scalabilità e disponibilità.
Contratto di servizio
Poiché le zone di disponibilità sono fisicamente separate e forniscono fonti di alimentazione, rete e raffreddamento distinte, i contratti di servizio sono aumentati. Per altre informazioni, vedere il contratto di servizio per Microsoft Online Services.
Creare un set di scalabilità di macchine virtuali con zone di disponibilità abilitate
È possibile creare un set di scalabilità che usa le zone di disponibilità in uno dei modi seguenti:
- Azure portal
- Interfaccia della riga di comando di Azure
- Azure PowerShell
- Modelli di Gestione risorse di Azure
La procedura per creare un set di scalabilità che usi una distribuzione di zona è identica a quella descritta in dettaglio nell'articolo introduttivo. Quando si seleziona un'area di Azure supportata, è possibile creare un set di scalabilità in una o più zone tra quelle disponibili, come illustrato nell'esempio seguente:
Il set di scalabilità e le risorse di supporto, ad esempio Azure Load Balancer e l'indirizzo IP pubblico, vengono creati nella sola zona specificata.
Supporto del failover a livello di zona
I set di scalabilità di macchine virtuali vengono creati con cinque domini di errore per impostazione predefinita in aree di Azure senza zone. Per le aree che supportano la distribuzione della zona di disponibilità dei set di scalabilità di macchine virtuali e questa opzione è selezionata, il valore predefinito del numero di domini di errore è 1 per ognuna delle zone. In questo caso, FD = 1 implica che le istanze di macchine virtuali che appartengono al set di scalabilità vengono distribuite tra molti rack nel modo più efficiente possibile. Per altre informazioni, vedere Scelta del numero esatto di domini di errore per i set di scalabilità di macchine virtuali.
Progettazione a bassa latenza
È consigliabile configurare set di scalabilità di macchine virtuali con ridondanza della zona. Tuttavia, se l'applicazione ha requisiti di bassa latenza rigorosi, potrebbe essere necessario implementare un'area per le macchine virtuali dei set di scalabilità. Con una distribuzione di set di scalabilità di zona, è consigliabile creare più macchine virtuali del set di scalabilità in più di una zona. Ad esempio, è possibile creare un'istanza di set di scalabilità aggiunta alla zona 1 e un'istanza aggiunta alla zona 2 o 3. È anche necessario usare un servizio di bilanciamento del carico o un'altra logica dell'applicazione per indirizzare il traffico ai set di scalabilità appropriati durante un'interruzione della zona.
Importante
Se si rifiuta esplicitamente la distribuzione compatibile con la zona, si rinuncia alla protezione dall'isolamento degli errori sottostanti. Rifiutare esplicitamente la configurazione della zona di disponibilità impone la dipendenza dalle risorse che non obbediscono al posizionamento e alla separazione della zona (incluse le dipendenze sottostanti di queste risorse). Queste risorse non dovrebbero essere previste per sopravvivere a scenari di zona inattiva. Le soluzioni che sfruttano tali risorse devono definire una strategia di ripristino di emergenza e configurare un ripristino della soluzione in un'altra area.
Tecniche di distribuzione sicura
Per avere un maggiore controllo sulla posizione in cui si distribuiscono le macchine virtuali, è consigliabile distribuire le macchine virtuali del set di scalabilità, anziché a livello di area. Tuttavia, le macchine virtuali a livello di zona forniscono solo l'isolamento della zona e non la ridondanza della zona. Per ottenere la ridondanza completa della zona con macchine virtuali di zona, devono essere presenti due o più macchine virtuali in zone diverse.
È anche consigliabile usare l'opzione di distribuzione massima per le macchine virtuali con ridondanza della zona. Per altre informazioni, vedere le opzioni di distribuzione.
Opzioni di distribuzione
Quando si distribuisce un set di scalabilità in una o più zone di disponibilità, sono disponibili le opzioni di distribuzione seguenti (a partire dalla versione API 2017-12-01):
Distribuzione massima (platformFaultDomainCount = 1). La distribuzione massima è l'opzione di distribuzione consigliata, perché offre la migliore distribuzione nella maggior parte dei casi. Se si distribuiscono repliche tra unità di isolamento hardware distinte, è consigliabile distribuirla tra le zone di disponibilità e usare la distribuzione massima all'interno di ogni zona.
Con la distribuzione massima, il set di scalabilità distribuisce le macchine virtuali nel maggior numero di domini di errore possibile all'interno di ogni zona. Questa distribuzione potrebbe interessare più o meno di cinque domini di errore per zona.
Nota
Con la distribuzione massima, indipendentemente dal numero di domini di errore distribuiti tra le macchine virtuali, è possibile visualizzare un solo dominio di errore nella visualizzazione dell'istanza del set di scalabilità e nei metadati dell'istanza. La distribuzione all'interno di ogni zona è implicita.
Distribuzione fissa statica (platformFaultDomainCount = 5). Con la distribuzione fissa statica, il set di scalabilità distribuisce le macchine virtuali esattamente in cinque domini di errore per zona. Se il set di scalabilità non trova cinque domini di errore distinti per zona per soddisfare la richiesta di allocazione, la richiesta ha esito negativo.
Distribuzione allineata ai domini di errore dei dischi gestiti (platformFaultDomainCount = 2 o 3) È possibile allineare il numero di domini di errore del set di scalabilità con il numero di domini di errore dei dischi gestiti. Questo allineamento consente di evitare la perdita di quorum se un intero dominio di errore di Managed Disks si arresta. Il numero di domini di errore può essere minore o uguale al numero di domini di errore di Managed Disks disponibili in ognuna delle aree. Per informazioni sul numero di domini di errore di Managed Disks per area, vedere [inserisci documento qui](collegamento qui).
Bilanciamento delle zone
Per i set di scalabilità distribuiti tra più zone (con ridondanza della zona), è possibile scegliere il bilanciamento della zona più adatto o il bilanciamento della zona rigoroso. Un set di scalabilità viene considerato "bilanciato" se ogni zona ha lo stesso numero di macchine virtuali (più o meno una macchina virtuale) di tutte le altre zone del set di scalabilità. Ad esempio:
Set di scalabilità | Macchine virtuali nella zona 1 | Macchine virtuali nella zona 2 | Macchine virtuali nella zona 3 | Bilanciamento delle zone |
---|---|---|---|---|
Set di scalabilità bilanciato | 2 | 3 | 3 | Questo set di scalabilità è considerato bilanciato. C'è solo una zona con un numero di macchine virtuali diverso e la differenza è di 1 sola in meno rispetto alle altre zone. |
Set di scalabilità sbilanciato | 1 | 3 | 3 | Questo set di scalabilità viene considerato sbilanciato. La zona 1 ha 2 macchine virtuali in meno rispetto alle zone 2 e 3. |
È possibile che le macchine virtuali nel set di scalabilità vengano create correttamente, ma che non sia possibile distribuire le estensioni in tali macchine virtuali. Le macchine virtuali con errori di estensione vengono comunque conteggiate per determinare se un set di scalabilità è bilanciato. Ad esempio, un set di scalabilità con 3 macchine virtuali nella zona 1, 3 macchine virtuali nella zona 2 e 3 macchine virtuali nella zona 3 viene considerato bilanciato anche se tutte le estensioni non sono riuscite nella zona 1 e tutte le estensioni sono riuscite nelle zone 2 e 3.
Con il bilanciamento delle zone con massimo sforzo, il set di scalabilità tenta di aumentare e ridurre il numero di macchine virtuali mantenendo il bilanciamento. Tuttavia, se per qualche motivo il bilanciamento non è possibile (ad esempio se una zona diventa inattiva, impedendo al set di scalabilità di creare una nuova macchina virtuale in tale zona), il set di scalabilità consente uno squilibrio temporaneo per poter aumentare o ridurre il numero di macchine virtuali correttamente. Con i successivi tentativi di aumento, il set di scalabilità aggiunge macchine virtuali alle zone che ne richiedono di più per bilanciare il set di scalabilità. Allo stesso modo, con i successivi tentativi di riduzione, il set di scalabilità rimuove macchine virtuali dalle zone che ne richiedono di meno per bilanciare il set di scalabilità. Con il bilanciamento delle zone restrittivo, qualsiasi tentativo di aumento o riduzione da parte del set di scalabilità ha esito negativo, in quanto così facendo si creerebbe uno squilibrio.
Per usare il bilanciamento della zona con il massimo sforzo, impostare zoneBalance
su false. L'impostazione zoneBalance
è quella predefinita nell'API versione 2017-12-01. Per usare il bilanciamento della zona strict, impostare zoneBalance
su true.
Eseguire la migrazione al supporto della zona di disponibilità
Per informazioni su come ridistribuire un set di scalabilità a livello di area per il supporto della zona di disponibilità, vedere Eseguire la migrazione di macchine virtuali e set di scalabilità di macchine virtuali al supporto della zona di disponibilità.
Indicazioni aggiuntive
Gruppi di posizionamento
Importante
I gruppi di posizionamento si applicano solo ai set di scalabilità di macchine virtuali in esecuzione in modalità di orchestrazione uniforme.
Quando si distribuisce un set di scalabilità di macchine virtuali, è possibile eseguire la distribuzione con un singolo o più gruppi di posizionamento per ogni zona di disponibilità. Per i set di scalabilità di area, è possibile scegliere tra un singolo gruppo di posizionamento o più gruppi di posizionamento nell'area. Se la proprietà del set di scalabilità singlePlacementGroup
è impostata su false, il set di scalabilità può essere composto da più gruppi di posizionamento e ha un intervallo di 0-1000 macchine virtuali. Quando la proprietà è impostata sul valore predefinito true, il set di scalabilità è costituito da un singolo gruppo di posizionamento, con un intervallo da 0 a 100 VM. Per la maggior parte dei carichi di lavoro è consigliabile usare più gruppi di posizionamento, che consentono una maggiore scalabilità. Per impostazione predefinita, nell'API versione 2017-12-01 i set di scalabilità a zona singola e tra zone usano più gruppi di posizionamento, mentre i set di scalabilità a livello di area usano un solo gruppo di posizionamento.