Un gruppo di istanze è una raccolta di istanze di macchine virtuali (VM) che puoi gestire come una singola entità.
Compute Engine offre due tipi di gruppi di istanze VM, gestiti e non gestiti:
I gruppi di istanze gestite (MIG) ti consentono di utilizzare le app su più VM identiche. Puoi rendere i tuoi workload scalabili e ad alta disponibilità sfruttando i servizi MIG automatizzati, tra cui: scalabilità automatica, riparazione automatica, deployment regionale (più zone) e aggiornamento automatico.
I gruppi di istanze non gestite ti consentono di bilanciare il carico in un parco risorse di VM gestito da te.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Compute Engine in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti senza addebiti per l'esecuzione, il test e il deployment dei workload.
Fai una prova senza costi di Compute EngineGruppi di istanze gestite (MIG)
Utilizza un gruppo di istanze gestite (MIG) per scenari come questi:
- Carichi di lavoro di distribuzione stateless, ad esempio il frontend di un sito web
- Workload di calcolo batch, ad alte prestazioni o ad alta velocità effettiva senza stato, ad esempio l'elaborazione delle immagini da una coda
- Applicazioni con stato, come database, applicazioni legacy e calcoli batch a esecuzione prolungata con checkpoint
Compute Engine gestisce ciascuna delle istanze gestite del MIG in base alla configurazione specificata in un modello di istanza e in una configurazione stateful facoltativa.
Per informazioni su come creare un MIG, vedi Creazione di gruppi di istanze gestite.
Vantaggi
I gruppi di istanze gestite offrono i seguenti vantaggi:
- Alta disponibilità.
- Riparazione automatica delle VM con errori. Se una VM nel gruppo si arresta, subisce un arresto anomalo, viene prerilasciata (VM spot) o viene eliminata da un'azione non avviata dal MIG, il MIG ricrea automaticamente la VM in base alla sua configurazione originale (stesso nome VM, stesso modello) in modo che la VM possa riprendere il suo lavoro.
- Riparazione automatica basata sull'applicazione. Puoi anche configurare un controllo di integrità basato sull'applicazione, che verifica periodicamente che l'applicazione risponda come previsto su ogni istanza del MIG. Se un'applicazione non risponde su una VM, il gruppo di istanze gestite la ricrea automaticamente. Verificare che un'applicazione risponda offre un controllo più preciso rispetto alla semplice verifica che una VM sia attiva e in esecuzione.
- Copertura regionale (più zone). I MIG regionali consentono di distribuire il carico dell'app su più zone. Questa replica protegge da eventuali errori a livello di zona. In tal caso, la tua app può continuare a gestire il traffico proveniente dalle istanze in esecuzione nelle zone disponibili rimanenti della stessa regione.
- Bilanciamento del carico. I MIG funzionano con i servizi di bilanciamento del carico per distribuire il traffico su tutte le istanze del gruppo.
- Scalabilità. Quando le tue app richiedono risorse di calcolo aggiuntive, i gruppi di istanze gestite con scalabilità automatica possono aumentare automaticamente il numero di istanze nel gruppo per soddisfare la domanda. Se la domanda diminuisce, i gruppi di istanze gestite con scalabilità automatica possono diminuire automaticamente per ridurre i costi.
- Aggiornamenti automatici. Lo strumento di aggiornamento automatico dei gruppi di istanze gestite consente di eseguire in sicurezza il deployment di nuove versioni del software nelle istanze all'interno del gruppo di istanze gestite e supporta una gamma flessibile di scenari di implementazione, come aggiornamenti in sequenza e aggiornamenti canary. Puoi controllare la velocità e l'ambito del deployment, nonché il livello di interruzione del servizio.
- Supporto per i carichi di lavoro stateful. Puoi utilizzare i gruppi di istanze gestite per creare deployment a disponibilità elevata e automatizzare il funzionamento delle applicazioni con dati o configurazione stateful, come database, server DNS, applicazioni monolitiche legacy o calcoli batch a esecuzione prolungata con checkpoint. I gruppi di istanze gestite stateful conservano lo stato univoco di ogni istanza (nome dell'istanza, dischi permanenti collegati e metadati) in caso di eventi di riavvio, ricreazione, riparazione automatica e aggiornamento delle macchine.
- Crea VM GPU contemporaneamente. Quando hai un job batch, ad esempio un addestramento di AI o ML, che richiede un numero esatto di VM GPU, la creazione di una richiesta di ridimensionamento in un MIG può aiutarti a creare le VM contemporaneamente. Puoi specificare la durata per cui vuoi che le VM vengano eseguite, migliorando così l'ottenibilità di risorse molto richieste come le GPU.
Riparazione automatica e autoriparazione
I gruppi di istanze gestite preservano l'alta disponibilità delle tue applicazioni, mantenendo proattivamente disponibili le istanze. Un MIG ripara automaticamente le istanze non riuscite ricreandole.
Potresti anche voler riparare le istanze quando un'applicazione si blocca, si arresta in modo anomalo o esaurisce la memoria. La riparazione automatica basata sull'applicazione migliora la disponibilità dell'applicazione affidandosi a un segnale di controllo di integrità che rileva problemi specifici dell'applicazione, come blocco, arresto anomalo o sovraccarico. Se un controllo di integrità determina che un'applicazione non è riuscita su una VM, il gruppo ricrea automaticamente l'istanza VM.
Per saperne di più, consulta Informazioni sulla riparazione delle VM in un gruppo di istanze gestite.
Controllo di integrità
I controlli di integrità utilizzati per monitorare i MIG sono simili a quelli utilizzati per il bilanciamento del carico, con alcune differenze nel comportamento. I controlli di integrità del bilanciamento del carico aiutano a indirizzare il traffico lontano dalle istanze che non rispondono e verso le istanze integre; questi controlli di integrità non fanno sì che Compute Engine ricrei le istanze. D'altra parte, i controlli di integrità dei gruppi di istanze gestite segnalano in modo proattivo l'eliminazione e la ricreazione delle istanze che diventano UNHEALTHY
.
Nella maggior parte degli scenari, utilizza controlli di integrità separati per il bilanciamento del carico e per la riparazione automatica. Il controllo di integrità per il bilanciamento del carico può e deve essere più aggressivo, in quanto determina se un'istanza riceve traffico utente. Poiché i clienti potrebbero fare affidamento sui tuoi servizi, è importante individuare subito le istanze che non rispondono per poter reindirizzare il traffico all'occorrenza. Al contrario, il controllo di integrità per la riparazione automatica fa sì che i MIG sostituiscano proattivamente le istanze che non funzionano, pertanto questo controllo di integrità sarà più prudente rispetto a quello del bilanciamento del carico.
Per saperne di più, consulta Configura un controllo di integrità e la riparazione automatica dell'applicazione.
Gruppi regionali o di zona
Puoi creare due tipi di MIG:
- Un MIG a livello di zona, che esegue il deployment delle istanze in una singola zona.
- Un MIG regionale, che esegue il deployment delle istanze in più zone della stessa regione.
Entrambi i tipi offrono tutti i vantaggi dei MIG. I gruppi di istanze gestite regionali aggiungono una maggiore disponibilità distribuendo il carico dell'applicazione in più zone, il che protegge il tuo carico di lavoro da errori a livello di zona. Inoltre, i gruppi di istanze gestite regionali offrono una maggiore capacità. Per impostazione predefinita, puoi creare fino a 2000 VM in un MIG a livello di regione e 1000 VM in un MIG a livello di zona. Se hai bisogno di altre VM, puoi aumentare il limite di dimensioni del tuo MIG o contattare l'assistenza.
Bilanciamento del carico
Google Cloud il bilanciamento del carico può utilizzare i gruppi di istanze per gestire il traffico. A seconda del tipo di bilanciatore del carico che scegli, puoi aggiungere gruppi di istanze a un pool di destinazione o a un servizio di backend.
Per maggiori informazioni, vedi Aggiunta di un gruppo di istanze a un bilanciatore del carico.
Scalabilità automatica
I MIG supportano la scalabilità automatica che aggiunge o rimuove dinamicamente le istanze VM dal gruppo in risposta agli aumenti o alle riduzioni del carico. Puoi configurare un criterio di scalabilità automatica per specificare come vuoi scalare il gruppo. Nella policy di scalabilità automatica, puoi impostare uno o più indicatori per scalare il gruppo in base a utilizzo della CPU, capacità di bilanciamento del carico, metriche di Cloud Monitoring, pianificazioni o, per i MIG di zona, utilizzando un carico di lavoro basato su code come Pub/Sub.
Per saperne di più, leggi Gruppi di istanze a scalabilità automatica.
Aggiornamento automatico
Puoi eseguire il deployment di nuove versioni del software nelle istanze di un gruppo di istanze gestite in modo semplice e sicuro. L'implementazione di un aggiornamento avviene automaticamente in base alle tue specifiche: puoi controllare la velocità e l'ambito dell'implementazione dell'aggiornamento per ridurre al minimo le interruzioni dell'applicazione. Se vuoi, puoi eseguire implementazioni parziali, che consentono di eseguire test canary.
Consulta Aggiornamento dei MIG.
Supporto per i carichi di lavoro stateful
Puoi creare deployment ad alta disponibilità di carichi di lavoro stateful su VM utilizzando gruppi di istanze gestite stateful. I workload stateful includono applicazioni con dati o configurazione stateful, come database, applicazioni monolitiche legacy e calcoli batch a esecuzione prolungata con checkpoint.
Puoi migliorare l'uptime e la resilienza di queste applicazioni con la riparazione automatica, gli aggiornamenti controllati e i deployment multizona, preservando lo stato univoco di ogni istanza, inclusi nome dell'istanza, dischi permanenti e metadati personalizzabili.
Per saperne di più, leggi la sezione MIG stateful.
Crea VM GPU contemporaneamente
Puoi creare una richiesta di ridimensionamento in un MIG con VM GPU per creare le VM richieste tutte insieme quando la capacità richiesta diventa disponibile. Quando crei una richiesta di ridimensionamento in un MIG, Compute Engine pianifica la creazione delle VM in base al numero di VM richieste, alla durata di esecuzione richiesta e alla disponibilità delle risorse richieste nelle zone del MIG. Poi, alla consegna pianificata delle risorse, il MIG crea il numero richiesto di VM contemporaneamente. Le VM vengono eseguite fino al termine della durata o finché non le elimini.
Per saperne di più, consulta la sezione Informazioni sulle richieste di ridimensionamento in un MIG.
Gruppi di istanze preemptible
Per i workload in cui i costi minimi sono più importanti della velocità di esecuzione, puoi ridurre il costo del workload utilizzando istanze VM prerilasciabili nel gruppo di istanze. Le istanze prerilasciabili durano fino a 24 ore e vengono prerilasciate in modo controllato: la tua applicazione ha 30 secondi per uscire correttamente. Le istanze preemptible possono essere eliminate in qualsiasi momento, ma la riparazione automatica le ripristinerà quando la capacità preemptible tornerà disponibile.
Container
Puoi semplificare il deployment delle applicazioni eseguendo il deployment dei container nelle istanze dei gruppi di istanze gestite. Quando specifichi un'immagine container in un modello di istanza e poi utilizzi questo modello per creare un gruppo di istanze gestite, ogni VM viene creata con un sistema operativo ottimizzato per i container che include Docker e il container viene avviato automaticamente su ogni VM del gruppo. Consulta Deployment di container su VM e MIG.
Rete e subnet
Quando crei un gruppo di istanze gestite, devi fare riferimento a un modello di istanza esistente. Il modello di istanza definisce la rete VPC e la subnet utilizzate dalle istanze membro. Se ometti una rete VPC,
Google Cloud tenta di utilizzare la rete VPC denominata
default
e la subnet creata automaticamente nella regione specificata nel
modello.
Per saperne di più, consulta Reti e subnet.
Se vuoi che il gruppo di istanze gestite includa istanze VM che utilizzano l'indirizzamento IPv6, devi utilizzare l'impostazione dual-stack quando crei il modello di istanza. Per saperne di più, vedi Creare un modello di istanza con indirizzi IPv6.
Demo delle funzionalità del MIG
La seguente presentazione video di 45 minuti, registrata a Google Cloud NEXT '18, contiene demo e best practice per la configurazione, l'esecuzione e l'aggiornamento di deployment scalabili e a disponibilità elevata utilizzando i MIG di Compute Engine.
Il video mostra come eseguire il deployment di un container in un MIG, configurare una policy di riparazione automatica, utilizzare un gruppo regionale per proteggersi da un errore a livello di zona, configurare la scalabilità automatica per soddisfare i target di CPU e le richieste basate sulle code e gestire gli aggiornamenti canary e rolling.
Gruppi di istanze non gestite
I gruppi di istanze non gestite possono contenere istanze eterogenee che puoi aggiungere e rimuovere arbitrariamente dal gruppo. I gruppi di istanze non gestite non offrono scalabilità automatica, riparazione automatica, supporto degli aggiornamenti in sequenza, supporto multizona o l'utilizzo di modelli di istanza e non sono adatti al deployment di carichi di lavoro scalabili e ad alta disponibilità. Utilizza gruppi di istanze non gestite se devi applicare il bilanciamento del carico a gruppi di istanze eterogenee o se devi gestire le istanze autonomamente. Puoi aggiungere fino a 2000 VM a un gruppo. Se vuoi aggiungere più di 2000 VM al gruppo, contatta l'assistenza.
Se devi creare gruppi di istanze non gestite, consulta la sezione Gruppi di istanze non gestite.
Prezzi
Non sono previsti costi aggiuntivi per l'utilizzo di gruppi di istanze gestite o non gestite. I costi si basano sulle risorse utilizzate dal tuo gruppo. Per informazioni sui prezzi di Compute Engine, consulta la pagina Prezzi.
Passaggi successivi
Scopri di più sui modelli di istanza o su come creare un modello di istanza che puoi utilizzare per configurare le VM in un MIG.
Scopri di più sugli scenari di base per la creazione di un MIG.
Scopri di più sull'aggiornamento dei MIG per utilizzare una nuova configurazione.
Prova un tutorial: