Questo documento descrive come creare ungruppo di istanze gestite (MIG) in cui le VM siano distribuite in più zone all'interno di una regione. La distribuzione del carico dell'applicazione in più zone protegge il workload dagli errori a livello di zona. In caso di errore a livello di zona, l'applicazione può continuare a pubblicare dalle istanze in esecuzione nelle restanti zone disponibili nella stessa regione.
Questo tipo di MIG è noto anche come MIG a livello di regione. Per ulteriori informazioni, consulta le informazioni sui MIG a livello di regione.
Puoi anche leggere altri scenari di base per la creazione di un MIG.
Prima di iniziare
- Crea un template di istanza, necessario per creare un gruppo di istanze gestite.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo di verifica dell'identità per poter accedere a servizi e API Google Cloud .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura leCredenziali predefinite dell'applicazionee con le tue credenziali utente.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI.
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Limitazioni
Per visualizzare l'elenco completo delle limitazioni dei MIG, che varia in base alla configurazione utilizzata, consulta Limitazioni dei MIG.
Crea un MIG con VM in più zone all'interno di una regione
Utilizza Google Cloud consolegcloud CLI, Terraform o REST.
Console
-
Nella console Google Cloud , vai alla pagina Gruppi di istanze.
I passaggi rimanenti vengono visualizzati nella console Google Cloud .
-
Fai clic su
Crea gruppo di istanze per creare un nuovo gruppo di istanze. -
Seleziona una delle opzioni per i nuovi gruppi di istanze gestite:
- Stateless (predefinito)
- Stateful
- Assegna un nome e, facoltativamente, una descrizione al gruppo di istanze.
- Scegli un template di istanza per il gruppo di istanze o creane uno nuovo.
- In Numero di istanze o in Scalabilità automatica, specifica il numero di istanze per questo gruppo. Ricorda di eseguire il provisioning di un numero sufficiente di VM per supportare la tua applicazione in caso di errore della zona.
-
Per
Località , seleziona Più zone. - Scegli un'area geografica e seleziona le zone che vuoi utilizzare. Se hai scelto un template di istanza a livello di regione, viene selezionata automaticamente l'opzione Regione in base alla regione del template.
- In Forma di distribuzione target, seleziona Uniforme. Se vuoi selezionare una forma diversa, consulta l'articolo Imposta una forma di distribuzione di destinazione per le VM in un gruppo di istanze gestite a livello di regione.
- Se vuoi disabilitare la ridistribuzione proattiva delle istanze, in Ridistribuzione delle istanze, deseleziona la casella di controllo Consenti ridistribuzione istanze.
- Continua con il resto della procedura di creazione del MIG.
- Per creare il MIG, fai clic su
Crea .
gcloud
Tutti i MIG richiedono un template di istanza. Se non lo hai, crea un template di istanza. Ad esempio, il comando seguente crea un template di istanza di base con proprietà predefinite:
gcloud compute instance-templates create example-template
Quindi, usa il comando
instance-groups managed create
con il flag--region
. Ad esempio, il comando seguente crea un MIG a livello di regione in tre zone all'interno della regioneus-east1
:gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --region us-east1
Se vuoi selezionare zone specifiche che il gruppo dovrà utilizzare, specifica il flag
--zones
:gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c
Se vuoi disattivare la ridistribuzione proattiva delle istanze, consulta la sezione Disattivazione della ridistribuzione proattiva delle istanze.
Terraform
Se non hai già creato un template di istanza che specifica il tipo di macchina, l'immagine disco di avvio, la rete e altre proprietà delle VM da applicare a ogni VM nel tuo MIG, crea un template di istanza.
Per creare un MIG a livello di regione, puoi utilizzare la risorsa
google_compute_region_instance_group_manager
.Per scoprire come applicare o rimuovere una configurazione Terraform, vedi Comandi Terraform di base.
REST
Tutti i MIG richiedono un template di istanza. Se non lo hai, crea un template di istanza.
Quindi, componi una richiesta
POST
al metodoregionInstanceGroupManagers.insert
. Nel corpo della richiesta, specifica il nome del gruppo, la dimensione del gruppo e l'URL del template di istanza. Se vuoi, specifica altri campi, ad esempio il nome di base per le istanze del gruppo.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiesta.REGION
: la regione del gruppo.- (Facoltativo)
BASE_INSTANCE_NAME
: il nome dell'istanza per ogni istanza VM creata come parte del gruppo. Ad esempio, il nome di istanza di baseexample-instance
crea istanze con nomi comeexample-instance-[RANDOM_STRING]
, dove[RANDOM_STRING]
viene generato dal server. INSTANCE_TEMPLATE_NAME
: il template di istanza da utilizzare. Per un template di istanza a livello di regione, devi specificare l'URL completo o parziale del template. Un esempio di URL completo èhttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
, mentre un URL parziale èprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.INSTANCE_GROUP_NAME
: il nome del MIG.TARGET_SIZE
: il numero target di VM per il gruppo.
Se vuoi selezionare zone specifiche o se stai creando VM in una regione con meno o più di tre zone, includi la proprietà
distributionPolicy
nella richiesta e fornisci un elenco di zone. SostituisciZONE
con il nome di una zona in cui creare le VM.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] } }
Ad esempio, il seguente comando crea un MIG a livello di regione denominato
example-rmig
con 10 istanze gestite distribuite nelle zoneus-east1-b
eus-east1-c
:POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers { "instanceTemplate": "global/instanceTemplates/example-instance", "name": "example-rmig", "targetSize": 10, "distributionPolicy": { "zones": [ {"zone": "zones/us-east1-b"}, {"zone": "zones/us-east1-c"} ] } }
A seconda di come configuri e intervieni su un MIG, varie policy e azioni possono influire sulle istanze del gruppo. Per determinare quali istanze gestite sono attive, consulta Controlla lo stato delle istanze gestite.
Se in ogni zona non è presente una capacità sufficiente per supportare le VM per il gruppo, Compute Engine crea il maggior numero possibile di VM e continua a tentare di creare le VM rimanenti quando diventa disponibile una maggiore capacità.
Se non specifichi esplicitamente le singole zone nella richiesta, Compute Engine sceglie automaticamente tre zone in cui creare le VM. Se devi creare VM in più o meno di tre zone o se vuoi scegliere le zone da utilizzare, puoi fornire un elenco di zone nella richiesta. Per saperne di più, vedi Selezione delle zone.
Distribuzione delle VM tra più zone
Per impostazione predefinita, un MIG a livello di regione distribuisce le VM in modo uniforme tra le zone selezionate. Poiché stai creando un MIG a livello di regione, tieni presente che alcune risorse sono a livello di zona, come le GPU e i dischi permanenti esistenti. Se il template di istanza del MIG specifica delle risorse di zona, devi assicurarti che tutte queste risorse siano presenti in tutte le zone selezionate in modo che possano essere collegate alle VM create dal MIG a livello di regione. In alternativa, se vuoi che il gruppo verifichi automaticamente se esistono risorse a livello di zona, puoi impostare la forma di distribuzione target del MIG in modo da creare istanze solo nelle zone che contengono queste risorse.
Per saperne di più, consulta i seguenti documenti:
Imposta una forma di distribuzione target per le VM tra le zone
Ridistribuzione proattiva delle istanze
La ridistribuzione proattiva delle istanze è abilitata per impostazione predefinita. Se devi gestire manualmente il numero di VM in ogni zona o devi impostare la forma di distribuzione target del MIG su
BALANCED
oANY_SINGLE_ZONE
, devi disabilitare la ridistribuzione proattiva delle istanze.Per saperne di più, consulta i seguenti documenti:
- Disattiva e riattiva la ridistribuzione proattiva delle VM
- Riequilibra manualmente un MIG a livello di regione
Passaggi successivi
- Configura la riparazione automatica basata su applicazione, che verifica periodicamente che l'applicazione risponda come previsto su ogni VM del MIG e ricrei automaticamente le VM non rispondenti.
- Attiva la scalabilità automatica per aggiungere o eliminare automaticamente le VM dal tuo MIG in base all'aumento o alla riduzione del carico.
- Scopri come applicare una nuova configurazione a tutte le VM o a un sottoinsieme di VM in un MIG impostando e applicando un nuovo template di istanza, una configurazione per tutte le istanze o una configurazione per istanza.
- Proteggi i dischi, i metadati e gli indirizzi IP durante eventi che causano interruzioni come la ricreazione, la riparazione automatica e gli aggiornamenti delle VM aggiungendo una configurazione stateful.
- Scopri come utilizzare le istanze gestite, ad esempio per eliminare, abbandonare e ricreare le VM in un MIG.
- Visualizza le informazioni sui MIG e sulle relative VM.
- Simula un'interruzione del servizio in una zona per un MIG a livello di regione
- Scopri come aggiungere un frontend del bilanciatore del carico HTTP(S) esterno al tuo gruppo di istanze. Per informazioni su altri tipi di bilanciatori del carico, consulta Panoramica del bilanciamento del carico.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-30 UTC.
-