Gruppi di istanze

Un gruppo di istanze è una raccolta di istanze di macchine virtuali (VM) che puoi gestire come 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 carichi di lavoro scalabili e ad alta disponibilità sfruttando i servizi MIG automatizzati, tra cui: scalabilità automatica, riparazione automatica, deployment a livello di regione (più zone) e aggiornamento automatico.
  • I gruppi di istanze non gestite ti consentono di bilanciare il carico di un parco risorse di VM che gestisci autonomamente.

Provalo

Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni di Compute Engine in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova Compute Engine gratuitamente

Gruppi di istanze gestite (MIG)

Utilizza un gruppo di istanze gestite per scenari come questi:

  • Carichi di lavoro per la pubblicazione stateless, ad esempio il frontend di un sito web
  • Carichi di lavoro di calcolo batch stateless, ad alte prestazioni o ad alta velocità effettiva, come l'elaborazione di immagini da una coda
  • Applicazioni stateful, come database, applicazioni legacy e calcoli batch a lunga esecuzione con checkpoint

Compute Engine gestisce ciascuna delle istanze gestite del gruppo di istanze gestite in base alla configurazione specificata in un modello di istanza e nella configurazione stateful facoltativa.

Per informazioni su come creare un gruppo di istanze gestite, consulta Creazione di gruppi di istanze gestite.

Vantaggi

I gruppi di istanze gestite offrono i seguenti vantaggi:

  • Disponibilità elevata.
    • Riparazione automatica delle VM non riuscite. Se una VM nel gruppo si arresta, si arresta in modo anomalo, viene prerilasciata (VM spot) o viene eliminata da un'azione non avviata dal gruppo di istanze gestite, il gruppo di istanze gestite ricrea automaticamente la VM in base alla configurazione originale (stesso nome della VM, stesso modello) in modo che la VM possa riprendere il proprio lavoro.
    • Riparazione automatica basata sulle applicazioni. Puoi anche configurare un controllo di integrità basato sull'applicazione, che verifica periodicamente che la tua applicazione risponda come previsto su ciascuna istanza del gruppo di istanze gestite. Se un'applicazione non risponde su una VM, il gruppo di istanze gestite ricrea automaticamente quella VM per te. Verificare che un'applicazione risponda è più preciso della semplice verifica che una VM sia attiva e in esecuzione.
    • Copertura regionale (più zone). I gruppi di istanze gestite a livello di regione consentono di distribuire il carico delle app su più zone. Questa replica protegge da errori a livello di zona. In questo caso, la tua app può continuare a gestire il traffico proveniente dalle istanze in esecuzione nelle zone disponibili rimanenti nella stessa regione.
    • Bilanciamento del carico: I gruppi di istanze gestite utilizzano i servizi di bilanciamento del carico per distribuire il traffico in tutte le istanze del gruppo.
  • Scalabilità. Quando le 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 MIG con scalabilità automatica possono ridursi automaticamente per ridurre i costi.
  • Aggiornamenti automatici. Il programma di aggiornamento automatico dei gruppi di istanze gestite consente di eseguire in sicurezza il deployment di nuove versioni del software nelle istanze 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 tuo servizio.
  • Supporto per carichi di lavoro stateful. Puoi utilizzare i gruppi di istanze gestite per creare deployment ad alta disponibilità e automatizzare il funzionamento di applicazioni con dati o configurazioni stateful, ad esempio database, server DNS, applicazioni monolitiche legacy o calcoli batch a lunga esecuzione con checkpointing. I MIG stateful conservano lo stato univoco di ogni istanza (nome istanza, dischi permanenti collegati e metadati) in caso di eventi di riavvio, ricreazione, riparazione automatica e aggiornamento della macchina.
  • Crea VM GPU tutte insieme. Quando hai un job batch, ad esempio un addestramento AI o ML, che richiede un numero esatto di VM GPU, quindi creare una richiesta di ridimensionamento in un gruppo di istanze gestite può aiutarti a creare tutte le VM contemporaneamente. Puoi specificare la durata di esecuzione delle VM, migliorando così l'ottenimento di risorse molto richieste come le GPU.
Utilizza un gruppo di istanze gestite per creare deployment ad alta disponibilità per servizi stateless, applicazioni stateful o carichi di lavoro batch.
Panoramica delle funzionalità di gruppi di istanze gestite e dei carichi di lavoro comuni

Riparazione automatica e riparazione automatica

I gruppi di istanze gestite mantengono l'alta disponibilità delle applicazioni mantenendo proattivamente disponibili le istanze. Un gruppo di istanze gestite ripara automaticamente le istanze non riuscite creandole di nuovo.

Potresti anche voler riparare le istanze quando un'applicazione si blocca, si arresta in modo anomalo o esaurisce la memoria. La riparazione automatica basata sulle applicazioni migliora la disponibilità delle applicazioni affidandosi a un segnale di controllo di integrità che rileva i problemi specifici dell'applicazione, come il blocco, l'arresto anomalo o il sovraccarico. Se un controllo di integrità determina che un'applicazione ha avuto esito negativo 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 gruppi di istanze gestite sono simili a quelli utilizzati per il bilanciamento del carico, con alcune differenze di comportamento. Il bilanciamento del carico dei controlli di integrità consente di indirizzare il traffico dalle istanze non adattabili verso istanze integre. Questi controlli di integrità non fanno sì che Compute Engine ricrea le istanze. I controlli di integrità dei gruppi di istanze gestite segnalano in modo proattivo l'eliminazione e la nuova creazione delle istanze che diventano UNHEALTHY.

Nella maggior parte degli scenari, utilizza controlli di integrità separati per il bilanciamento del carico e la riparazione automatica. Il controllo di integrità per il bilanciamento del carico può e dovrebbe essere più aggressivo perché questi controlli di integrità determinano se un'istanza riceve traffico utente. Poiché i clienti potrebbero fare affidamento sui tuoi servizi, vuoi rilevare rapidamente le istanze che non rispondono in modo da poter reindirizzare il traffico se necessario. Al contrario, il controllo di integrità per la riparazione automatica fa sì che i gruppi di istanze gestite sostituiscono proattivamente le istanze in errore, pertanto questo controllo di integrità dovrebbe essere più conservativo rispetto a un controllo di integrità del bilanciamento del carico.

Per maggiori informazioni, consulta Configurare un controllo di integrità dell'applicazione e la riparazione automatica.

Gruppi a livello di regione o zona

Puoi creare due tipi di gruppi di istanze gestite:

Entrambi i tipi offrono tutti i vantaggi dei gruppi di istanze gestite. I gruppi di istanze gestite a livello di regione aumentano la disponibilità distribuendo il carico delle applicazioni in più zone, proteggendo in questo modo il carico di lavoro da guasti a livello di zona, mentre i gruppi di istanze gestite a livello di regione offrono maggiore capacità. Per impostazione predefinita, puoi creare fino a 2000 VM in un gruppo di istanze gestite a livello di regione e 1000 VM in un gruppo di istanze gestite a livello di zona. Se hai bisogno di più VM, puoi aumentare il limite di dimensioni del gruppo di istanze gestite o contattare l'assistenza.

Bilanciamento del carico

Il bilanciamento del carico di Google Cloud può utilizzare i gruppi di istanze per gestire il traffico. A seconda del tipo di bilanciatore del carico scelto, puoi aggiungere gruppi di istanze a un pool di destinazione o a un servizio di backend.

Per ulteriori informazioni, consulta Aggiunta di un gruppo di istanze a un bilanciatore del carico.

Scalabilità automatica

I gruppi di istanze gestite supportano la scalabilità automatica che aggiunge o rimuove dinamicamente istanze VM dal gruppo in risposta ad aumenti o riduzioni del carico. Puoi configurare un criterio di scalabilità automatica per specificare la modalità di scalabilità del gruppo. Nel criterio di scalabilità automatica, puoi impostare uno o più indicatori per scalare il gruppo in base all'utilizzo della CPU, alla capacità di bilanciamento del carico, alle metriche di Cloud Monitoring, alle pianificazioni o, per i gruppi di istanze gestite a livello di zona, utilizzando un carico di lavoro basato su code come Pub/Sub.

Per maggiori informazioni, consulta Scalabilità automatica dei gruppi di istanze.

Aggiornamento automatico

Puoi eseguire in modo semplice e sicuro il deployment di nuove versioni del software nelle istanze di un gruppo di istanze gestite. 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. Facoltativamente, puoi eseguire implementazioni parziali, che consentono i test canary.

Consulta Aggiornamento dei gruppi di istanze gestite.

Supporto per carichi di lavoro stateful

Puoi creare deployment ad alta disponibilità di carichi di lavoro stateful sulle VM utilizzando i gruppi di istanze gestite stateful (MIG stateful). I carichi di lavoro stateful includono applicazioni con dati o configurazione stateful, come database, applicazioni monolitiche legacy e calcoli batch a lunga esecuzione con checkpointing.

Puoi migliorare l'uptime e la resilienza di queste applicazioni con la autohealing, gli aggiornamenti controllati e i deployment multizona, mantenendo lo stato univoco di ogni istanza, tra cui nome dell'istanza personalizzabile, dischi permanenti e metadati.

Per maggiori informazioni, consulta la pagina relativa ai gruppi di istanze gestite Stateful.

Crea VM GPU tutte insieme

Puoi creare una richiesta di ridimensionamento in un gruppo di istanze gestite con VM GPU per creare tutte le VM richieste contemporaneamente quando diventa disponibile la capacità richiesta. Quando crei una richiesta di ridimensionamento in un gruppo di istanze gestite, 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 gruppo di istanze gestite. Poi, al momento della distribuzione pianificata delle risorse, il gruppo di istanze gestite crea il numero richiesto di VM tutte contemporaneamente. Le VM sono in esecuzione fino alla fine o fino a quando non le elimini.

Per maggiori informazioni, consulta Informazioni sulle richieste di ridimensionamento in un gruppo di istanze gestite.

Gruppi di istanze prerilasciabili

Per i carichi di lavoro in cui i costi minimi sono più importanti della velocità di esecuzione, puoi ridurre il costo del carico di lavoro utilizzando istanze VM prerilasciabili nel gruppo di istanze. Le istanze prerilasciabili durano fino a 24 ore e vengono prerilasciate automaticamente: l'applicazione ha 30 secondi per uscire correttamente. Le istanze prerilasciabili possono essere eliminate in qualsiasi momento, ma la riparazione automatica ripristinerà le istanze quando la capacità prerilasciabile sarà di nuovo disponibile.

Container

Puoi semplificare il deployment delle applicazioni eseguendo il deployment dei container nelle istanze all'interno di gruppi di istanze gestite. Quando specifichi un'immagine container in un modello di istanza e lo utilizzi 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 si avvia automaticamente su ogni VM del gruppo. Consulta Deployment di container su VM e gruppi di istanze gestite.

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 utilizzata dalle istanze membro. Per le reti VPC in modalità automatica, puoi omettere la subnet; questo indica a Google Cloud di selezionare la subnet creata automaticamente nella regione specificata nel modello. Se ometti una rete VPC, Google Cloud tenta di utilizzare la rete VPC denominata default.

Per ulteriori informazioni, consulta Reti e subnet.

Se vuoi che il tuo gruppo di istanze gestite includa le istanze VM che utilizzano gli indirizzi IPv6, devi utilizzare l'impostazione del doppio stack quando crei il modello di istanza. Per saperne di più, consulta Creare un modello di istanza con indirizzi IPv6.

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 per gli aggiornamenti in sequenza, supporto multizona o l'uso di modelli di istanze e non sono adatti per il deployment di carichi di lavoro scalabili e a disponibilità elevata. Utilizza i gruppi di istanze non gestite se devi applicare il bilanciamento del carico a gruppi di istanze eterogenee oppure se devi gestire personalmente le istanze. 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 Gruppi di istanze non gestite.

Prezzi

Non sono previsti costi aggiuntivi per l'utilizzo dei gruppi di istanze gestite o non gestite. Gli addebiti vengono effettuati in base alle risorse utilizzate dal tuo gruppo. Per informazioni sui prezzi di Compute Engine, consulta la pagina Prezzi.

Passaggi successivi