Informazioni sui MIG a livello di regione


Un gruppo di istanze gestite (MIG) con VM distribuite in più zone di una regione è anche detto MIG a livello di regione. Un MIG limitato a una singola zona è noto anche come MIG a livello di zona.

Puoi utilizzare un MIG a livello di regione per aumentare la resilienza del workload basato su MIG. La distribuzione del workload su più zone di una regione ti mette al riparo da casi estremi in cui tutte le istanze all'interno di una singola zona non funzionano.

Questo documento contiene informazioni concettuali sui MIG a livello di regione:

Per scoprire come creare un MIG a livello di regione, vedi Crea un MIG in più zone.

Perché scegliere i gruppi di istanze gestite a livello di regione

Google consiglia di utilizzare i MIG a livello di regione anziché i MIG a livello di zona per i seguenti motivi:

  • Puoi utilizzare i MIG a livello di regione per gestire fino a 2000 istanze, il doppio rispetto ai MIG a livello di zona. Se non è sufficiente, puoi aumentare ulteriormente il limite di dimensioni di un MIG a livello di regione fino a 4000 istanze.
  • Puoi utilizzare i MIG a livello di regione per distribuire il carico dell'applicazione su più zone, anziché limitare l'applicazione a una singola zona o gestire più MIG a livello di zona in zone diverse.

L'utilizzo di più zone protegge da errori a livello di zona e da scenari imprevisti in caso di malfunzionamenti di un intero gruppo di istanze in una singola zona. In tal caso, l'applicazione può continuare a gestire il traffico proveniente dalle istanze in esecuzione in un'altra zona della stessa regione.

In caso di errore a livello di zona o se un gruppo di istanze in una zona smette di rispondere, un MIG a livello di regione continua a supportare le istanze nel seguente modo:

  • Il numero di istanze che fanno parte del MIG a livello di regione nelle restanti zone continua a gestire il traffico. Non vengono aggiunte nuove istanze e nessuna istanza viene ridistribuita (a meno che non sia configurata la scalabilità automatica).

  • Dopo il recupero della zona interessata dall'errore, il MIG riprende a gestire il traffico da quella zona.

Quando progetti applicazioni solide e scalabili, utilizza i MIG a livello di regione.

Opzioni di configurazione aggiuntive per i MIG a livello di regione

La creazione di un MIG a livello di regione è simile alla creazione di un MIG a livello di zona, con la differenza che hai a disposizione opzioni aggiuntive:

Queste opzioni sono descritte nelle sezioni seguenti.

Selezione delle zone

Per impostazione predefinita, un MIG a livello di regione distribuisce le proprie istanze gestite in modo uniforme tra tre zone. Ci sono vari motivi per cui potresti voler selezionare zone specifiche per la tua applicazione, ad esempio perché le tue istanze richiedono GPU e vuoi selezionare solo le zone che supportano le GPU oppure perché hai dischi permanenti o prenotazioni esistenti che sono disponibili solo in determinate zone.

Se vuoi scegliere il numero di zone o le zone specifiche in cui viene eseguito il gruppo, devi farlo nel momento in cui lo crei. Una volta scelte le zone specifiche durante la creazione del gruppo, non potrai più cambiarle né aggiornarle in un secondo momento.

Se vuoi che il MIG utilizzi automaticamente zone che supportano l'hardware che indichi nella sua configurazione, puoi impostare la forma di distribuzione target del MIG su BALANCED, ANY o ANY_SINGLE_ZONE e selezionare tutte le zone di una regione. Il MIG controlla automaticamente la disponibilità delle risorse e pianifica le istanze solo nelle zone in cui le risorse sono presenti. Per ulteriori informazioni, vedi Forma di distribuzione target.

  • Per selezionare più di tre zone all'interno di una regione, è necessario specificare in modo esplicito le singole zone. Ad esempio, per selezionare tutte le quattro zone che si trovano all'interno di una regione, devi indicarle tutte in maniera esplicita nella richiesta. In caso contrario, Compute Engine seleziona tre zone per impostazione predefinita.

  • Per selezionare fino a un massimo di due zone in una regione, devi specificare in modo esplicito le singole zone. Anche se la regione contiene solo due zone, devi comunque specificarle in modo esplicito nella richiesta.

Google espande regolarmente la propria infrastruttura rendendo disponibile hardware specializzato in più zone. Un MIG a livello di regione controlla regolarmente la disponibilità dell'hardware e avvia automaticamente la pianificazione delle istanze nelle zone in cui sono supportate le macchine richieste. Se per qualsiasi motivo non vuoi che le istanze vengano eseguite in alcune zone, non selezionarle quando crei il gruppo.

Per sapere come creare un MIG a livello di regione e come selezionare le zone, vedi Crea un MIG a livello di regione.

Forma di distribuzione target

Per impostazione predefinita, un MIG a livello di regione distribuisce le proprie istanze gestite in maniera uniforme tra le zone selezionate. Tuttavia, se hai bisogno di hardware che è non disponibile in tutte le zone o devi dare la priorità all'utilizzo delle prenotazioni a livello di zona, potresti optare per una distribuzione diversa.

Per configurare la modalità di distribuzione delle istanze del MIG a livello di regione tra le zone selezionate all'interno di una regione, imposta la forma di distribuzione target del MIG. Sono disponibili le seguenti opzioni:

  • UNIFORME (valore predefinito): il gruppo crea ed elimina VM per raggiungere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzione EVEN, la differenza massima tra il numero di VM presenti in due zone qualsiasi non può essere superiore a 1. Questa opzione è consigliata per i workload di distribuzione ad alta affidabilità.
  • BILANCIATA: il gruppo dà la priorità alla creazione di VM nelle zone in cui sono disponibili risorse, distribuendole al contempo nel modo più uniforme possibile tra le zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Questa opzione è consigliata per i workload di distribuzione ad alta affidabilità o batch.
  • QUALSIASI: il gruppo sceglie le zone in cui creare istanze VM per fornire il numero di VM richiesto nei limiti delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni a livello di zona inutilizzate. Questa opzione è consigliata per i workload batch che non richiedono un'alta affidabilità.
  • QUALSIASI ZONA SINGOLA: il gruppo crea tutte le istanze VM all'interno di una singola zona. La zona viene scelta in base al supporto hardware, alla disponibilità corrente delle risorse e delle quote e alle prenotazioni corrispondenti. Si consiglia di associare a questa opzione una policy di posizionamento compatto delle istanze per i workload che richiedono frequenti comunicazioni tra le VM.

Se durante la creazione del MIG imposti la forma su BALANCED, ANY o ANY_SINGLE_ZONE, non devi verificare manualmente quali zone supportano l'hardware che specifichi nella configurazione del MIG. Puoi selezionare tutte le zone in una regione e, se la forma è impostata su BALANCED, ANY o ANY_SINGLE_ZONE, il MIG a livello di regione controlla la disponibilità delle risorse e pianifica le istanze solo nelle zone in cui le risorse sono presenti.

Scegli un'opzione in base ai requisiti dei workload e alle funzionalità dei MIG di cui hai bisogno. Per ulteriori informazioni, consulta la tabella di confronto e i casi d'uso.

Per scoprire come configurare la forma target per un MIG nuovo o esistente, vedi Imposta una policy per la distribuzione delle istanze tra più zone.

Ridistribuzione proattiva delle istanze

Per impostazione predefinita, un MIG a livello di regione tenta di mantenere una distribuzione uniforme delle istanze tra le zone della regione per massimizzare la disponibilità dell'applicazione in caso di errore a livello di zona.

Se elimini o abbandoni le istanze del gruppo, causando una distribuzione non uniforme tra le zone, il gruppo ridistribuisce in modo proattivo le istanze per ristabilire l'uniformità della distribuzione.

Per ristabilire una distribuzione uniforme tra le zone, il gruppo elimina istanze dalle zone che ne contengono di più e aggiunge istanze alle zone che ne contengono meno. Il gruppo sceglie automaticamente le istanze da eliminare.

La ridistribuzione proattiva ristabilisce una distribuzione uniforme tra le zone.
Esempio di ridistribuzione proattiva

Ad esempio, supponiamo di avere un MIG a livello di regione con 12 istanze distribuite su 3 zone: a, b e c. Se elimini tre istanze gestite in c, il gruppo tenta di ribilanciare la distribuzione delle istanze in modo che risulti di nuovo applicata in maniera uniforme tra le zone. In questo caso, il gruppo elimina due istanze (una da a e una da b) e ne crea due nella zona c, in modo che ogni zona abbia tre istanze e venga mantenuta l'uniformità della distribuzione. Non è possibile in alcun modo specificare selettivamente le istanze da eliminare. Il gruppo perde temporaneamente capacità durante l'avvio delle nuove istanze.

Per impedire la ridistribuzione automatica delle istanze, puoi disattivare la ridistribuzione proattiva.

Disattivare la ridistribuzione proattiva delle istanze è utile quando devi:

  • Eliminare o abbandonare istanze del gruppo senza conseguenze per le altre istanze in esecuzione. Ad esempio, puoi eliminare un'istanza worker batch al termine di un job senza causare conseguenze per altri worker.
  • Proteggere le istanze con workload stateful dal rischio di eliminazione automatica non gradita causata dalla ridistribuzione proattiva.
  • Impostare la forma di distribuzione target del MIG su BALANCED o ANY_SINGLE_ZONE
La disattivazione della ridistribuzione proattiva può influire sulla capacità durante un errore a livello di zona.
Distribuzione non uniforme in seguito alla disattivazione della ridistribuzione proattiva

Se disattivi la ridistribuzione proattiva delle istanze, il MIG non tenta di raggiungere un equilibrio aggiungendo o rimuovendo istanze in modo proattivo, ma lo conquista in modo opportunistico durante le operazioni di ridimensionamento, trattando ognuna di queste operazioni come un'opportunità per bilanciare il gruppo. Ad esempio, durante le operazioni di scale in, il gruppo approfitta automaticamente del ridimensionamento per rimuovere istanze dalle zone più vaste, mentre in fase di scale out coglie l'opportunità per aggiungere istanze alle zone più piccole.

Differenze di comportamento rispetto ai MIG a livello di zona

La differenza principale tra un MIG a livello di zona e un MIG a livello di regione è che il MIG a livello di regione può utilizzare più di una zona.

Dato che le istanze gestite di un MIG a livello di regione sono distribuite nelle zone presenti all'interno di una regione, le seguenti funzionalità del MIG si comportano in modo leggermente diverso.

Scalabilità automatica di un MIG a livello di regione

Compute Engine offre funzionalità di scalabilità automatica per i MIG che consentono ai gruppi di aggiungere (scale out) o rimuovere (scale in) automaticamente le VM in base agli incrementi o alle riduzioni del carico.

Se abiliti la scalabilità automatica per un MIG a livello di regione, la funzionalità si comporta nel seguente modo:

  • Il gestore della scalabilità automatica distribuisce le VM tra le zone nel modo più uniforme possibile.

  • Con la forma di distribuzione target impostata su BALANCED, il gestore della scalabilità automatica è informato sulla disponibilità delle risorse nelle varie zone. Il gestore della scalabilità automatica crea in modo proattivo le VM solo nelle zone dotate di quota e capacità sufficienti per le VM, come specificato nella configurazione del MIG.

Aggiorna un MIG a livello di regione

Non è possibile modificare o aggiornare le zone per un MIG a livello di regione dopo che il gruppo è stato creato. Tuttavia, puoi impostare la forma di distribuzione target del gruppo in modo da dare la priorità all'utilizzo di zone diverse, ad esempio se hai prenotato risorse o hai bisogno di hardware che non è disponibile in tutte le zone.

Se vuoi implementare un nuovo template in un MIG a livello di regione, vedi Aggiorna un MIG a livello di regione.

Se vuoi aggiungere o rimuovere istanze in un MIG, il processo è simile per i MIG a livello di regione e a livello di zona. Vedi Aggiungi e rimuovi VM in un MIG.

Se vuoi configurare dischi o metadati stateful in un MIG, consulta Configurazione dei MIG stateful.

Come aumentare la disponibilità tramite l'overprovisioning

Una o più istanze possono diventare non disponibili a causa di vari eventi. Puoi contribuire a limitare l'impatto di questo problema utilizzando più servizi Google Cloud:

  • Utilizza un MIG a livello di regione con una forma di distribuzione target EVEN o BALANCED per distribuire l'applicazione su più zone.
  • Utilizza la riparazione automatica basata sulle applicazioni per ricreare istanze con applicazioni in errore.
  • Utilizza il bilanciamento del carico per indirizzare automaticamente il traffico degli utenti lontano dalle istanze non disponibili.

Tuttavia, anche se utilizzi questi servizi, gli utenti potrebbero comunque riscontrare problemi se troppe istanze risultassero non disponibili contemporaneamente.

Per essere pronti ad affrontare il caso limite per cui una zona non funziona o un intero gruppo di istanze smette di rispondere, Google consiglia vivamente di effettuare l'overprovisioning del MIG. A seconda delle esigenze dell'applicazione, l'overprovisioning del gruppo impedisce che si verifichi un errore dell'intero sistema se una zona o un gruppo di istanze non rispondono.

Google fornisce consigli per l'overprovisioning con la priorità di assicurare la disponibilità dell'applicazione per gli utenti. Tra questi consigli rientrano il provisioning e il pagamento di più istanze di quante l'applicazione potrebbe richiederne quotidianamente. Basa le tue decisioni riguardo all'overprovisioning sulle esigenze dell'applicazione e sui vincoli di costo.

Puoi impostare le dimensioni del MIG nel corso della sua creazione e puoi aggiungere o rimuovere istanze dopo averlo creato.

Puoi configurare un gestore della scalabilità automatica in modo che aggiunga e rimuova automaticamente istanze nel gruppo in base al carico.

Determina una stima della dimensione consigliata del gruppo

Consigliamo di eseguire il provisioning di un numero sufficiente di istanze per far sì che, se tutte le istanze di una zona qualsiasi diventano non disponibili, quelle rimanenti soddisfino comunque il numero minimo di istanze richiesto.

Utilizza la tabella seguente per determinare le dimensioni minime consigliate per il gruppo:

Numero di zone Istanze VM aggiuntive Istanze VM totali consigliate
2 +100% 200%
3 +50% 150%
4 +33% 133%

Esegui il provisioning di un MIG a livello di regione in tre o più zone

Quando crei un MIG a livello di regione in una regione con almeno tre zone, Google consiglia un overprovisioning del gruppo pari ad almeno il 50%. Per impostazione predefinita, un MIG a livello di regione crea istanze in tre zone. Avere istanze in tre zone ti aiuta già a preservare almeno 2/3 della capacità di distribuzione; inoltre, in caso di errore in una singola zona, le altre due zone nella regione possono continuare a gestire il traffico senza interruzioni. Con l'overprovisioning al 150%, hai la certezza che, anche a fronte di una perdita di 1/3 della capacità, il traffico è supportato al 100% dalle zone rimanenti.

Ad esempio, se hai bisogno di 20 istanze nel MIG su tre zone, consigliamo di aggiungere almeno il 50% di istanze in più. In questo caso, il 50% di 20 è pari a 10 istanze aggiuntive, per un totale di 30 istanze nel gruppo. Se crei un MIG a livello di regione con una dimensione di 30, il gruppo distribuisce le VM nelle tre zone come descritto di seguito:

Zona Numero di istanze VM
example-zone-1 10
example-zone-2 10
example-zone-3 10

In caso di errore in qualsiasi singola zona, restano comunque 20 istanze che gestiscono il traffico.

Esegui il provisioning di un MIG a livello di regione in due zone

Per eseguire il provisioning delle istanze in due zone invece di tre, Google consiglia di raddoppiare il numero di istanze. Ad esempio, se sono necessarie 20 istanze per il servizio, distribuite su due zone, consigliamo di configurare un MIG a livello di regione con 40 istanze, in modo che in ogni zona vi siano 20 istanze. In caso di errore in una singola zona, restano comunque 20 istanze che gestiscono il traffico.

Zona Numero di istanze VM
example-zone-1 20
example-zone-2 20

Se il numero di istanze del gruppo non è divisibile equamente in due zone, Compute Engine suddivide uniformemente il gruppo di VM e inserisce in modo casuale le istanze rimanenti in una delle zone.

Esegui il provisioning di un MIG a livello di regione in una zona

Puoi creare un MIG a livello di regione con una sola zona. Questa operazione è analoga alla creazione di un MIG a livello di zona.

La creazione di un MIG a livello di regione con una sola zona non è consigliata perché offre la garanzia minima per le applicazioni ad alta affidabilità. In caso di errore della zona, l'intero MIG diventa non disponibile, con potenziali interruzioni per gli utenti.

Passaggi successivi