Questo documento descrive come creare un gruppo di istanze gestite in cui le VM sono distribuite su più zone all'interno di una regione. La distribuzione del carico dell'applicazione in più zone protegge il tuo carico di lavoro da errori a livello di zona. In caso di errore a livello di zona, l'applicazione può continuare a gestire le istanze in esecuzione nelle restanti zone disponibili della stessa regione.
Questo tipo di gruppo di istanze gestite è noto anche come gruppo di istanze gestite a livello di regione. Per ulteriori informazioni, consulta la pagina Informazioni sui gruppi di istanze gestite a livello di regione.
Puoi anche leggere altre informazioni scenari di base per la creazione di un gruppo di istanze gestite.
Prima di iniziare
- Crea un modello di istanza, necessario per creare un modello gruppo di istanze gestite.
-
Se non l'hai già fatto, configura l'autenticazione.
Autenticazione è
Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
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, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
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 modello 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.
-
In
Località , seleziona Più zone. - Scegli una regione e seleziona le zone che vuoi utilizzare. Se hai scelto un modello di istanza regionale, viene selezionata automaticamente l'opzione Regione in base alla regione del modello.
- In Forma di distribuzione di destinazione, 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 gruppo di istanze gestite.
- Per creare il gruppo di istanze gestite, fai clic su
Crea . PROJECT_ID
: l'ID progetto per questa richiesta.REGION
: la regione del gruppo.BASE_INSTANCE_NAME
: (facoltativo) il nome dell'istanza per ogni istanza VM creata come parte del gruppo. Ad esempio, un il nome istanza di baseexample-instance
crea istanze con nomi comeexample-instance-[RANDOM_STRING]
, dove[RANDOM_STRING]
è generate dal server.INSTANCE_TEMPLATE_NAME
: l'istanza modello da utilizzare. Per un modello di istanza regionale, devi specificare l'URL completo o parziale del modello. Un esempio di URL completo èhttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
e un URL parziale èprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.TARGET_SIZE
: il numero di VM target per il gruppo.Impostare una forma di distribuzione di destinazione per le VM in più zone
- Disabilitare e riattivare la ridistribuzione proattiva delle VM
- Ribilanciare manualmente un gruppo di istanze gestite a livello di regione
- Configura la riparazione automatica basata sulle applicazioni che verifica periodicamente che la tua applicazione risponda come previsto in data ciascuna delle VM del gruppo di istanze gestite e ricrea automaticamente le VM che non rispondono.
- Abilita la scalabilità automatica per aggiungere o eliminare automaticamente VM del tuo gruppo di istanze gestite in base agli aumenti o alle riduzioni del carico.
- Scopri come applicare una nuova configurazione a tutte o a un sottoinsieme delle VM in un gruppo di istanze gestite impostando e applicando modello di istanza, configurazione di tutte le istanze o configurazione per istanza.
- Conserva dischi, metadati e indirizzi IP per eventi invasivi come le VM di ricreazione, riparazione automatica e aggiornamenti aggiunta di una configurazione stateful.
- Informazioni su lavorando con le istanze gestite, ad esempio per eliminare, abbandonare e ricreare le VM in un gruppo di istanze gestite.
- Visualizza informazioni sui gruppi di istanze gestite e sulle loro VM.
- Simula un'interruzione di una zona per un gruppo di istanze gestite a livello di regione
- Scopri come aggiungere un frontend del bilanciatore del carico HTTP(S) esterno alla tua istanza . Per per informazioni sugli altri tipi di bilanciatori del carico, consulta Bilanciamento del carico Panoramica.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Per visualizzare l'elenco completo delle limitazioni del gruppo di istanze gestite, che varia in base alla configurazione che utilizzi, vedi Limitazioni del gruppo di istanze gestite.
Crea un gruppo di istanze gestite con VM in più zone all'interno di una regione
Utilizzare la console Google Cloud , il gcloud CLI Terraform, o REST.
Console
gcloud
Tutti i gruppi di istanze gestite richiedono un modello di istanza. Se non ne hai uno, crea un modello di istanza. Ad esempio, il comando seguente crea un modello di istanza di base con proprietà predefinite:
gcloud compute instance-templates create example-template
Quindi, utilizza Comando
instance-groups managed create
con il flag--region
. Ad esempio, il comando seguente crea un gruppo di istanze gestite 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 deve utilizzare, fornisci 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 disabilitare la ridistribuzione proattiva delle istanze, consulta Disattivazione della ridistribuzione proattiva delle istanze.
Terraform
Se non hai già creato un modello di istanza, che specifica tipo di macchina, immagine disco di avvio, rete e altre proprietà VM per ogni VM nel gruppo di istanze gestite, crea un modello di istanza.
Per creare un gruppo di istanze gestite a livello di regione, puoi utilizzare
google_compute_region_instance_group_manager
risorsa.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.
REST
Tutti i gruppi di istanze gestite richiedono un modello di istanza. Se non disponi Uno, crea un modello di istanza.
A questo punto, crea una richiesta
POST
MetodoregionInstanceGroupManagers.insert
. Nel corpo della richiesta, specifica il nome, le dimensioni e l'URL del gruppo al modello di istanza. Facoltativamente, specifica altri campi, come il campo base delle 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:
Se vuoi seleziona zone specifiche o se crei VM in una regione con meno di tre includi la proprietà
distributionPolicy
nella richiesta e fornisci un elenco di zone. SostituisciZONE
con il nome di un 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, quanto segue crea un gruppo di istanze gestite a livello di regione denominato
example-rmig
con 10 istanze gestite distribuite traus-east1-b
eus-east1-c
zone: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 agisci su un gruppo di istanze gestite, vengono applicati diversi criteri e azioni possono influire sulle istanze del gruppo. Per determinare quali account sono operative, consulta Verifica dello stato delle istanze gestite.
Se la capacità in ciascuna zona non è sufficiente per supportare le VM per Compute Engine crea il maggior numero possibile di VM e continua a tentare di creare le VM rimanenti quando la capacità di archiviazione di Google Cloud.
Se non specifichi esplicitamente singole zone nella tua richiesta, Compute Engine sceglie automaticamente tre zone per creare VM in. Se devi creare VM in più o meno di tre zone, vuoi scegliere quali zone utilizzare, puoi fornire un elenco di zone richiesta. Per ulteriori informazioni, vedi Selezione zona.
Distribuzione delle VM tra le zone
Per impostazione predefinita, un gruppo di istanze gestite a livello di regione distribuisce le VM in modo uniforme tra le zone selezionate. Poiché stai creando un gruppo di istanze gestite a livello di regione, tieni presente che alcune risorse come GPU e dischi permanenti esistenti. Se il modello di istanza del gruppo di istanze gestite risorse a livello di zona, devi assicurarti che tutte queste risorse siano presenti in tutte le zone selezionate in modo che possano essere associate alle VM create gruppo di istanze gestite In alternativa, se vuoi che il gruppo verifichi l'esistenza di reti per te, puoi impostare la forma di distribuzione di destinazione del gruppo di istanze gestite per creare di istanze VM solo nelle zone che contengono quelle risorse.
Per ulteriori informazioni, consulta i seguenti documenti:
Ridistribuzione proattiva delle istanze
Ridistribuzione proattiva delle istanze è abilitata per impostazione predefinita. Se devi gestire manualmente il numero di VM in ogni o se devi impostare la forma di distribuzione di destinazione del gruppo di istanze gestite su
BALANCED
oppureANY_SINGLE_ZONE
, devi disabilitare la ridistribuzione proattiva delle istanze.Per ulteriori informazioni, consulta i seguenti documenti:
Passaggi successivi
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 2024-10-14 UTC.
-