Un gruppo di istanze gestite che distribuisce le VM in più zone all'interno di una regione è noto anche come gruppo di istanze gestite a livello di regione. Un gruppo di istanze gestite confinato a una singola zona è noto anche come gruppo di istanze gestite a livello di zona.
Puoi utilizzare un gruppo di istanze gestite a livello di regione per aumentare la resilienza del carico di lavoro basato su MIG. La distribuzione del carico di lavoro su più zone in una regione ti aiuta a proteggerti da casi estremi in cui tutte le istanze di una singola zona non funzionano.
Questo documento contiene informazioni concettuali sui gruppi di istanze gestite a livello di regione:
- Perché scegliere un gruppo di istanze gestite a livello di regione anziché un gruppo di istanze gestite a livello di zona
- Opzioni di configurazione regionale
- Differenze di comportamento rispetto ai gruppi di istanze gestite a livello di zona
- Come aumentare la disponibilità tramite il provisioning eccessivo
Per scoprire come creare un gruppo di istanze gestite a livello di regione, consulta Creazione di un gruppo di istanze gestite in più zone.
Perché scegliere i gruppi di istanze gestite a livello di regione?
Google consiglia i gruppi di istanze gestite a livello di regione anziché quelli 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 te ne servono di più, puoi aumentare ulteriormente il limite di dimensioni di un gruppo di istanze gestite a livello di regione per 4000 istanze.
- Puoi utilizzare gruppi di istanze gestite a livello di regione per distribuire il carico dell'applicazione su più zone, anziché limitare l'applicazione a una singola zona o gestire più gruppi di istanze gestite a livello di zona in zone diverse.
L'utilizzo di più zone protegge dagli errori a livello di zona e da scenari imprevisti in caso di malfunzionamenti di un intero gruppo di istanze in una singola zona. In questo 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 si arresta mentre risponde, un gruppo di istanze gestite a livello regionale continuerà a supportare le tue istanze nel modo seguente:
Il numero di istanze che fanno parte del gruppo di istanze gestite a livello di regione nelle zone rimanenti continuano a gestire traffico. Non vengono aggiunte nuove istanze e nessuna istanza viene ridistribuita (a meno che non configuri la scalabilità automatica).
Una volta recuperata la zona con errore, il gruppo di istanze gestite inizia a gestire nuovamente il traffico da quella zona.
Quando progetti applicazioni solide e scalabili, utilizza gruppi di istanze gestite a livello di regione.
Opzioni di configurazione aggiuntive per i gruppi di istanze gestite a livello di regione
La creazione di un gruppo di istanze gestite a livello di regione è simile alla creazione di un gruppo di istanze gestite a livello di zona, con la differenza che hai a disposizione opzioni aggiuntive:
- Puoi selezionare le zone di una regione da creare VM in esecuzione.
- Puoi scegliere una forma di distribuzione target per determinano come distribuire le istanze tra le zone selezionate.
- Puoi scegliere di disattivare o riattivare la funzionalità ridistribuzione proattiva delle istanze, che tenta di distribuire uniformemente le VM del gruppo tra le zone selezionate.
Queste opzioni sono descritte nelle sezioni seguenti.
Selezione della zona
Per impostazione predefinita, un gruppo di istanze gestite a livello di regione distribuisce la propria istanze gestite in modo uniforme tra le tre zone. Per vari motivi, potresti voler selezionare specifiche per la tua applicazione. Ad esempio, se hai bisogno di GPU per , puoi selezionare solo zone che supportano GPU o potresti se disponi di dischi permanenti prenotazioni che sono solo disponibili in determinate zone.
Se vuoi scegliere il numero di zone o le zone specifiche dell'esecuzione di un gruppo, devi farlo quando lo crei. Dopo aver scelto zone specifiche durante la creazione, non è possibile modificare o aggiornare le zone in un secondo momento.
Se vuoi che il tuo gruppo di istanze gestite utilizzi automaticamente zone che supportano l'hardware che
specificato nella configurazione del gruppo di istanze gestite, puoi impostare il target del gruppo di istanze gestite
forma di distribuzione per BALANCED
, ANY
o ANY_SINGLE_ZONE
e seleziona tutte
in una regione. Il gruppo di istanze gestite controlla automaticamente la disponibilità delle risorse e pianifica le istanze solo nelle zone in cui sono presenti le risorse.
Per ulteriori informazioni, vedi
Forma di distribuzione target.
Per selezionare più di tre zone all'interno di una regione, devi specificare esplicitamente delle singole zone. Ad esempio, per selezionare tutte e quattro le zone all'interno di una regione, devi fornire tutte e quattro le zone esplicitamente nella richiesta. In caso contrario, Compute Engine seleziona tre zone per impostazione predefinita.
Per selezionare due o meno zone in una regione, devi specificare esplicitamente il le singole zone. Anche se la regione contiene solo due zone, devi comunque specificare in modo esplicito le zone nella richiesta.
Google espande regolarmente la propria infrastruttura realizzando hardware specializzati disponibile in più zone. Un gruppo di istanze gestite a livello di regione controlla periodicamente l'hardware la disponibilità e avvia automaticamente la pianificazione delle istanze nelle zone le macchine richieste. Se per qualsiasi motivo non vuoi eseguire le tue istanze in alcune zone, non selezionarle durante la creazione del gruppo.
Per scoprire come creare un gruppo di istanze gestite a livello di regione e selezionare le zone, consulta la pagina Creare un gruppo di istanze gestite a livello di regione.
Forma di distribuzione di destinazione
Per impostazione predefinita, un gruppo MIG regionale distribuisce le sue istanze gestite uniformemente tra le zone selezionate. Tuttavia, se hai bisogno di hardware non disponibile in tutte le zone o se devi dare la priorità all'utilizzo delle prenotazioni zonali, potresti preferire una distribuzione diversa.
Per configurare la modalità di distribuzione delle istanze del gruppo di istanze gestite a livello di regione tra le zone selezionate all'interno di una regione, imposta la forma di distribuzione di destinazione del gruppo di istanze gestite. Sono disponibili le seguenti opzioni:
- EVEN (predefinito): il gruppo crea ed elimina VM per ottenere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzione
EVEN
, il numero di VM non differisce di più di 1 tra due zone qualsiasi. Consigliato per i carichi di lavoro di pubblicazione ad alta disponibilità. - BILANCATO: il gruppo dà la priorità alla creazione di VM nelle zone in cui sono disponibili risorse, distribuendole al contempo in modo il più uniforme possibile tra le zone selezionate per ridurre al minimo l'impatto dei guasti a livello di zona. Consigliato per carichi di lavoro batch o di distribuzione ad alta disponibilità.
- QUALSIASI: il gruppo sceglie le zone per la creazione di istanze VM per soddisfare il numero richiesto di VM nei limiti delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni zonali inutilizzate. Consigliato per i carichi di lavoro batch che non richiedono un'alta disponibilità.
- QUALSIASI ZONA SINGOLA: il gruppo crea tutte le istanze VM all'interno di una in una singola zona. La zona viene scelta in base al supporto hardware, agli attuali disponibilità di risorse e quote e prenotazioni corrispondenti. Consigliato in combinazione con un criterio di posizionamento delle istanze compatte per i carichi di lavoro che richiedono comunicazioni estese tra le VM.
Quando crei il gruppo di istanze gestite, se ne imposti la forma su BALANCED
, ANY
o
ANY_SINGLE_ZONE
, non è necessario verificare manualmente quali zone supportano
l'hardware specificato nella configurazione del gruppo di istanze gestite. Puoi selezionare tutto
zone di una regione e con la forma impostata su
BALANCED
, ANY
o ANY_SINGLE_ZONE
, la risorsa dei controlli del gruppo di istanze gestite a livello di regione
e pianifica le istanze solo nelle zone in cui
Google Cloud.
Scegli un'opzione in base ai requisiti del carico di lavoro e alle funzionalità di MIG di cui hai bisogno. Per ulteriori informazioni, consulta tabella di confronto e casi d'uso.
Per scoprire come configurare la forma di destinazione per un gruppo di istanze gestite nuovo o esistente, consulta Impostare un criterio per la distribuzione delle istanze nelle zone.
Ridistribuzione proattiva delle istanze
Per impostazione predefinita, un gruppo di istanze gestite a livello di regione tenta di mantenere delle istanze nelle zone della regione per massimizzare la disponibilità della tua applicazione in caso di errore a livello di zona.
Se elimina o abbandonamento di più istanze del tuo gruppo, causando una distribuzione non uniforme tra le zone, ridistribuisce in modo proattivo le istanze per ristabilire una distribuzione uniforme.
Per ristabilire una distribuzione uniforme tra le zone, il gruppo elimina le istanze in zone con più istanze e aggiunge istanze a zone con meno istanze. Il gruppo sceglie automaticamente le istanze da eliminare.
Ad esempio, supponiamo di avere un gruppo di istanze gestite 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 le istanze in modo che siano di nuovo uniformemente
distribuiti in tutte 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 raggiunta una distribuzione uniforme. Non è possibile determinare in modo selettivo quali istanze vengono eliminate. Il gruppo perde temporaneamente
di capacità elevata durante l'avvio delle nuove istanze.
Per impedire la ridistribuzione automatica delle istanze, puoi disattivare la ridistribuzione proattiva delle istanze.
La disattivazione della ridistribuzione proattiva delle istanze è utile quando devi:
- Elimina o abbandona le istanze dal gruppo senza influire su altre istanze in esecuzione. Ad esempio, puoi eliminare istanza worker batch dopo il job senza che ciò influisca sugli altri worker.
- Proteggi le istanze con carichi di lavoro stateful dall'eliminazione automatica indesiderata a causa della ridistribuzione proattiva.
- Imposta la forma di distribuzione target del gruppo di istanze gestite su
BALANCED
oppureANY_SINGLE_ZONE
Se disattivi la ridistribuzione proattiva delle istanze, un gruppo MIG non aggiunge né rimuove proattivamente istanze per raggiungere l'equilibrio, ma converge opportunisticamente verso l'equilibrio durante le operazioni di ridimensionamento, trattando ogni operazione di ridimensionamento come un'opportunità per bilanciare il gruppo. Ad esempio, quando si riduce la scalabilità, il gruppo utilizza automaticamente la ridefinizione della scalabilità come opportunità per rimuovere le istanze dalle zone più grandi; quando si aumenta la scalabilità, il gruppo utilizza l'opportunità per aggiungere istanze alle zone più piccole.
Differenze di comportamento rispetto ai gruppi di istanze gestite a livello di zona
La differenza principale tra un gruppo di istanze gestite a livello di zona e un gruppo di istanze gestite a livello di regione è che un gruppo di istanze gestite a livello di regione può utilizzare più di una zona.
Poiché le istanze gestite di un gruppo di istanze gestite a livello di regione sono distribuite nelle zone all'interno di una regione, le seguenti funzionalità del gruppo di istanze gestite si comportano in modo leggermente diverso.
Scalabilità automatica di un gruppo di istanze gestite a livello di regione
Compute Engine offre la scalabilità automatica gruppi di istanze gestite, che consentono ai gruppi di aggiungere automaticamente VM (Scale out) o Rimuovere le VM (con fare lo scale in) in base agli incrementi o alle riduzioni del carico.
Se abiliti la scalabilità automatica per un gruppo di istanze gestite a livello di regione, la funzionalità si comporta come segue:
Il gestore della scalabilità automatica distribuisce le VM tra le zone nella maniera più equa possibile.
Con la forma di distribuzione di destinazione impostata su
BALANCED
, il gestore della scalabilità automatica è a conoscenza la disponibilità delle risorse nelle varie zone. Il gestore della scalabilità automatica crea in modo proattivo le VM solo nelle zone con quota e capacità sufficienti per le VM, come specificato nella configurazione del gruppo di istanze gestite.
Aggiornamento di un gruppo di istanze gestite a livello di regione
Non puoi modificare o aggiornare le zone per un gruppo di istanze gestite a livello di regione dopo che il gruppo è stato è stato creato. Tuttavia, puoi impostare la forma di distribuzione di destinazione del gruppo per dare la priorità all'utilizzo di zone diverse, ad esempio se hai riservato risorse o hai bisogno di hardware non disponibile in tutte le zone.
Se vuoi implementare un nuovo modello in un gruppo di istanze gestite a livello di regione, consulta Aggiornare un gruppo di istanze gestite a livello di regione.
Se vuoi aggiungere o rimuovere istanze in un MIG, la procedura è simile per i MIG regionali e zonali. Consulta Aggiungere e rimuovere VM in un gruppo di istanze gestite.
Se vuoi configurare dischi stateful o metadati stateful in una gruppo di istanze gestite, consulta Configurazione di MIG stateful.
Come aumentare la disponibilità mediante il provisioning eccessivo
Una serie di eventi potrebbe causare la mancata disponibilità di una o più istanze e puoi contribuire ad attenuare il problema utilizzando più servizi Google Cloud:
- Utilizza un gruppo di istanze gestite a livello di regione con un
EVEN
oBALANCED
forma di distribuzione target per distribuire i tuoi in più zone. - Usare la riparazione automatica basata sull'applicazione ricreare le istanze con applicazioni in errore.
- Utilizzare il bilanciamento del carico per indirizzare automaticamente il traffico degli utenti fuori dalle istanze non disponibili.
Tuttavia, anche se utilizzi questi servizi, i tuoi utenti potrebbero comunque riscontrare se troppe istanze non sono disponibili contemporaneamente.
Prepararsi al caso estremo in cui una zona o un intero gruppo di smette di rispondere, Google consiglia vivamente il provisioning eccessivo gruppo di istanze gestite A seconda delle esigenze dell'applicazione, l'overprovisioning del gruppo impedisce al sistema di non funzionare del tutto se una zona o un gruppo di istanze non risponde.
Google fornisce consigli per il provisioning eccessivo con la priorità di mantenere la tua applicazione disponibile per gli utenti. Questi consigli includono il provisioning e il pagamento di più istanze di quante la tua applicazione potrebbe richiedere quotidianamente. Basa le decisioni di overprovisioning su le esigenze dell'applicazione e i limiti di costo.
Puoi impostare le dimensioni del tuo gruppo di istanze gestite al momento della creazione e puoi aggiungere o rimuovere istanze dopo averlo creato.
Puoi configurare un gestore della scalabilità automatica per aggiungere e rimuovere automaticamente le istanze nel gruppo in base al carico.
Stima della dimensione consigliata del gruppo
Ti consigliamo di eseguire il provisioning di un numero sufficiente di istanze in modo che, se tutte le istanze di una zona non sono disponibili, le istanze rimanenti soddisfino comunque il numero minimo di istanze richiesto.
Utilizza la seguente tabella per determinare la dimensione minima consigliata per il tuo gruppo:
Numero di zone | Istanze VM aggiuntive | Istanze VM totali consigliate |
---|---|---|
2 | +100% | 200% |
3 | +50% | 150% |
4 | +33% | Il 133% |
Provisioning di un gruppo di istanze gestite a livello di regione in tre o più zone
Quando crei un gruppo di istanze gestite a livello regionale in una regione con almeno tre zone, Google consiglia di eseguire il provisioning eccessivo del gruppo di almeno il 50%. Per impostazione predefinita, un gruppo di istanze gestite a livello di regione crea istanze in tre diverse. Avere istanze in tre zone ti aiuta già a preservare almeno 2/3 della tua capacità di pubblicazione e, se una singola zona non funziona, le altre due zone della regione possono continuare a gestire il traffico senza interruzioni. Con l'overprovisioning al 150%, puoi assicurarti che, se si perde 1/3 della capacità, il 100% del traffico sia supportato dalle zone rimanenti.
Ad esempio, se hai bisogno di 20 istanze nel gruppo di istanze gestite in tre zone, consigliamo almeno un ulteriore 50% delle istanze. In questo caso, il 50% di 20 è pari ad altre 10 istanze, per un totale di 30 istanze nel gruppo. Se crei un gruppo di istanze gestite a livello di regione con una dimensione 30, il gruppo distribuisce le VM tra le tre zone, in questo modo:
Zona | Numero di istanze VM |
---|---|
zona-esempio-1 | 10 |
example-zone-2 | 10 |
zona-esempio-3 | 10 |
In caso di errore di una singola zona, hai comunque 20 istanze gestire il traffico.
Eseguire il provisioning di un gruppo di istanze gestite a livello di regione in due zone
Per eseguire il provisioning delle istanze in due zone anziché in tre, Google consiglia di raddoppiare il numero di istanze. Ad esempio, se hai bisogno di 20 istanze distribuito in due zone, ti consigliamo di configurare un gruppo di istanze gestite a livello di regione con 40 istanze, in modo che ogni zona abbia 20 di Compute Engine. In caso di errore di una singola zona, hai ancora 20 istanze gestire il traffico.
Zona | Numero di istanze VM |
---|---|
zona-esempio-1 | 20 |
example-zone-2 | 20 |
Se il numero di istanze nel gruppo non è equamente divisibile tra due Compute Engine divide in modo uniforme il gruppo di VM e inserisce in modo casuale le istanze rimanenti in una delle zone.
Eseguire il provisioning di un gruppo di istanze gestite a livello di regione in una zona
Puoi creare un gruppo di istanze gestite a livello di regione con una sola zona. Questa operazione è simile alla creazione di un gruppo di istanze gestite a livello di zona.
La creazione di un gruppo di istanze gestite a livello di zona singola non è consigliata perché offre la garanzia minima per le applicazioni ad alta disponibilità. Se la zona non funziona, l'intero MIG non è disponibile, con potenziali interruzioni per gli utenti.
Passaggi successivi
- Crea un gruppo di istanze gestite a livello di regione
- Scopri come creare applicazioni web scalabili e resilienti.
- Scopri di più sul ripristino di emergenza sulla piattaforma Google Cloud.