Gruppi di istanze


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 carichi di lavoro scalabili e ad alta disponibile sfruttando i servizi MIG automatizzati, tra cui: scalabilità automatica, riparazione automatica, deployment regionale (più zone) e aggiornamenti automatici.
  • I gruppi di istanze non gestite ti consentono di eseguire il bilanciamento del carico in un parco risorse di VM che gestisci autonomamente.

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 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 (MIG) per scenari come questi:

  • Carichi di lavoro di pubblicazione stateless, ad esempio il frontend di un sito web
  • Workload di calcolo batch, ad alte prestazioni o ad alto throughput senza stato, come l'elaborazione di immagini da una coda
  • Applicazioni stateful, come database, applicazioni legacy e calcoli batch a lunga esecuzione con checkpointing

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

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

Vantaggi

I gruppi di istanze gestite offrono i seguenti vantaggi:

  • Alta disponibilità.
    • Riparazione automatica delle VM non riuscite. Se una VM del gruppo si arresta, subisce un arresto anomalo, viene prerilasciata (VM spot) o viene eliminata da un'azione non avviata dal gruppo di istanze gestite, il gruppo di istanze gestite la ricrea automaticamente in base alla configurazione originale (stessa VM, stesso modello) in modo che possa riprendere il lavoro.
    • Riparazione automatica basata sulle applicazioni. Puoi anche configurare un controllo di integrità basato sull'applicazione, che verifica periodicamente che l'applicazione risponda come previsto su ogni istanza del gruppo di istanze gestite. 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 l'istanza sia attiva e in esecuzione.
    • Copertura regionale (più zone). I gruppi di istanze gestite regionali consentono di distribuire il carico delle app su più zone. Questa replica protegge da eventuali errori a livello di zona. In questo caso, l'app può continuare a gestire il traffico proveniente dalle istanze in esecuzione nelle zone disponibili rimanenti della stessa regione.
    • Bilanciamento del carico. I gruppi di istanze gestite collaborano 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 MIG per creare deployment ad alta disponibilità e automatizzare il funzionamento di applicazioni con dati o configurazione stateful, come database, server DNS, applicazioni monolitiche legacy o calcoli batch di lunga durata 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 gruppo di istanze gestite può aiutarti a creare le VM contemporaneamente. Puoi specificare la durata per la quale vuoi che le VM vengano eseguite, migliorando così la disponibilità di risorse molto richieste come le GPU.
Utilizza un gruppo di istanze gestite per creare deployment ad alta disponibilità per il servizio stateless, le applicazioni stateful o i carichi di lavoro batch.
Panoramica delle funzionalità dei 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 tue applicazioni, mantenendo proattivamente disponibili le istanze. Un MIG ripara automaticamente le istanze non riuscite ricreandole.

Potresti anche 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 facendo affidamento su un indicatore di controllo di integrità che rileva problemi specifici dell'applicazione come blocchi, arresti anomali o sovraccarichi. Se un controllo di integrità determina che un'applicazione ha avuto esito negativo su una VM, il gruppo ricrea automaticamente l'istanza VM.

Per ulteriori informazioni, 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 ai controlli di integrità utilizzati per il bilanciamento del carico, con alcune differenze di comportamento. I controlli di integrità del bilanciamento del carico aiutano a indirizzare il traffico lontano dalle istanze non rispondenti e verso quelle integre. Questi controlli di integrità non fanno sì che Compute Engine ricrei le istanze. I controlli di integrità dei gruppi di istanze gestite segnalano in modo proattivo l'eliminazione e la creazione di nuove istanze il cui stato diviene UNHEALTHY.

Per la maggior parte degli scenari, utilizza controlli di integrità distinti per il bilanciamento del carico e per la riparazione automatica. I controlli di integrità del bilanciamento del carico possono e devono essere più aggressivi, in quanto determinano 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. Per contro, il controllo di integrità per la riparazione automatica fa sì che i MIG sostituiscono 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 Configurare un controllo di integrità e la riparazione automatica dell'applicazione.

Gruppi regionali o zonali

Puoi creare due tipi di MIG:

Entrambi i tipi offrono tutti i vantaggi dei MIG. I gruppi di istanze gestite regionali offrono una maggiore disponibilità distribuendo il carico dell'applicazione su più zone, proteggendo il tuo carico di lavoro da guasti a livello di zona e offrendo una 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 tuo 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 che scegli, 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 le istanze VM dal gruppo in risposta agli aumenti o alle diminuzioni del carico. Puoi configurare un criterio di scalabilità automatica per specificare come vuoi scalare il gruppo. Nel criterio 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 zonali, utilizzando un carico di lavoro basato su code come Pub/Sub.

Per ulteriori informazioni, consulta Gruppi di istanze a scalabilità automatica.

Aggiornamento automatico

Puoi eseguire facilmente e in sicurezza 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 la sezione 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 (stateful MIG). 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 riparazione automatica, gli aggiornamenti controllati e i deployment multizona, preservando al contempo lo stato univoco di ogni istanza, inclusi il nome dell'istanza personalizzabile, i dischi permanenti e i metadati.

Per ulteriori informazioni, consulta la sezione Gruppi di istanze gestite stateful.

Creare VM GPU contemporaneamente

Puoi creare una richiesta di ridimensionamento in un MIG con VM GPU per creare tutte le VM richieste contemporaneamente quando la capacità richiesta diventa disponibile. 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 consegna pianificata delle risorse, il gruppo di istanze gestite crea contemporaneamente il numero di VM richiesto. Le VM vengono eseguite fino al termine della loro durata o fino a quando non le elimini.

Per ulteriori informazioni, consulta la pagina Informazioni sulle richieste di ridimensionamento in un gruppo di istanze gestite.

Gruppi di istanze preemptible

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

Container

Puoi semplificare il deployment delle applicazioni eseguendo il deployment dei container nelle istanze dei gruppi di istanze gestite. Quando specifichi un'immagine contenitore in un modello di istanza e poi utilizzi il modello per creare un gruppo di istanze gestite, ogni VM viene creata con un sistema operativo ottimizzato per i contenitori che include Docker e il contenitore si avvia automaticamente su ogni VM del gruppo. Consulta la sezione Eseguire il 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 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 sottoreti.

Se vuoi che il gruppo di istanze gestite includa istanze VM che utilizzano l'indirizzamento IPv6, devi utilizzare l'impostazione a doppio stack quando crei il modello di istanza. Per ulteriori informazioni, vedi Creare un modello di istanza con indirizzi IPv6.

Demo delle funzionalità di 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 altamente disponibili utilizzando i gruppi di istanze gestite di Compute Engine.

Il video mostra come eseguire il deployment di un contenitore in un gruppo di istanze gestite, configurare un criterio di riparazione automatica, utilizzare un gruppo regionale per proteggerti da un errore zonale, configurare la scalabilità automatica per soddisfare i target della CPU e le richieste in base alla coda e gestire gli aggiornamenti canari e incrementali.

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 supportano la scalabilità automatica, la riparazione automatica, gli aggiornamenti in sequenza, il supporto multizona o l'utilizzo di modelli di istanze e non sono adatti per il deployment di carichi di lavoro scalabili e ad alta disponibilità. Utilizza i 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 Gruppi di istanze non gestite.

Prezzi

Non sono previsti costi aggiuntivi per l'utilizzo di gruppi di istanze gestiti o non gestiti. Ti vengono addebitati i costi in base alle risorse utilizzate dal tuo gruppo. Per informazioni sui prezzi di Compute Engine, consulta Prezzi.

Passaggi successivi