In un gruppo di istanze gestite a livello di regione, per mantenere un numero pari di istanze di macchine virtuali (VM) nelle zone selezionate della regione, utilizza la ridistribuzione proattiva delle istanze. Questa opzione di configurazione massimizza la disponibilità dell'applicazione in caso di errore a livello di zona.
La ridistribuzione proattiva delle istanze è attivata per impostazione predefinita per i gruppi di istanze gestite a livello di regione. Quando la ridistribuzione proattiva delle istanze è disattivata, il gruppo non tenta di ridistribuire in modo proattivo le VM tra le zone. La disattivazione della ridistribuzione proattiva delle istanze è utile se devi:
- Elimina o abbandona le VM dal gruppo senza influire sulle altre VM in esecuzione. Ad esempio, puoi eliminare una VM worker batch dopo il completamento del job senza influire sugli altri worker.
- Proteggi le VM con carichi di lavoro stateful da eliminazioni automatiche indesiderate a causa di una ridistribuzione proattiva.
- Imposta la forma di distribuzione di destinazione del gruppo di istanze gestite su
BALANCED
oANY_SINGLE_ZONE
.
Puoi disabilitare la ridistribuzione proattiva delle istanze durante la creazione di un gruppo di istanze gestite a livello di regione. Puoi anche abilitarlo o disabilitarlo per un gruppo di istanze gestite a livello di regione esistente.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
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
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Fai clic su Crea gruppo di istanze per creare un nuovo gruppo di istanze.
- 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.
- Specifica il numero di VM per questo gruppo. Per i carichi di lavoro ad alta disponibilità, ricorda di eseguire il provisioning di VM sufficienti per supportare la tua applicazione in caso di errore di una zona.
- In Località, seleziona Più zone.
- Scegli una regione e seleziona le zone che vuoi utilizzare.
- Per disabilitare la ridistribuzione proattiva delle istanze, in Ridistribuzione delle istanze deseleziona la casella di controllo Consenti ridistribuzione delle istanze.
- Continua con il resto della procedura di creazione del gruppo di istanze gestite.
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestiteINSTANCE_TEMPLATE_NAME
: il nome del modello di istanza da utilizzare per il gruppoTARGET_SIZE
: la dimensione target del gruppoZONES
: l'elenco delle zone in una singola regione in cui vuoi eseguire il deployment delle VMPROJECT_ID
: l'ID progetto per questa richiestaREGION
: la regione del gruppo di istanzeINSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestiteINSTANCE_TEMPLATE_NAME
: il nome del modello di istanza da utilizzare per il gruppoTARGET_SIZE
: la dimensione di destinazione del gruppo di istanzeZONE
: il nome di una zona nella singola regione in cui vuoi eseguire il deployment- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze che vuoi modificare.
- Fai clic su Modifica per modificare questo gruppo di istanze gestite.
- In Ridistribuzione delle istanze, deseleziona la casella di controllo Consenti ridistribuzione delle istanze.
- Fai clic su Salva.
Per un gruppo di istanze gestite a livello di regione non a scalabilità automatica o di un gruppo di istanze gestite a livello di regione con scalabilità automatica con la modalità impostata su
OFF
oONLY_SCALE_OUT
, utilizza il comandocompute instance-groups managed update
.Ad esempio:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --instance-redistribution-type NONE \ --region REGION
Per un gruppo di istanze gestite a livello di regione con scalabilità automatica in cui la modalità è impostata su
ON
, utilizza il comandocompute instance-groups managed update
beta.Ad esempio:
gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --instance-redistribution-type NONE \ --region REGION
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestiteREGION
: la regione del gruppo di istanzePer un gruppo di istanze gestite a livello di regione non a scalabilità automatica o di un gruppo di istanze gestite a livello di regione con scalabilità automatica con la modalità impostata su
OFF
oONLY_SCALE_OUT
, utilizza il metodoregionInstanceGroupManagers.patch
.Ad esempio:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "instanceRedistributionType": "NONE" } }
Per un gruppo di istanze gestite a livello di regione con scalabilità automatica in cui la modalità è impostata su
ON
, utilizza il metodoregionInstanceGroupManagers.patch
beta.Ad esempio:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "instanceRedistributionType": "NONE" } }
PROJECT_ID
: l'ID progetto per questa richiestaREGION
: la regione del gruppo di istanzeINSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite- Scopri di più sulla visualizzazione di informazioni sui gruppi di istanze gestite e sulle relative VM.
- Scopri di più sull'utilizzo delle VM in un gruppo di istanze gestite, tra cui l'aggiunta, la nuova creazione e la rimozione di istanze.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Creazione di un gruppo con ridistribuzione proattiva delle istanze disabilitata
Per creare un gruppo di istanze gestite a livello di regione con la ridistribuzione proattiva delle istanze disabilitata, utilizza la console Google Cloud, gcloud CLI, Terraform o REST.
Console
gcloud
Per creare un nuovo gruppo di istanze gestite a livello di regione senza ridistribuzione proattiva delle istanze, utilizza il comando
gcloud compute instance-groups managed create
con il flag--instance-redistribution-type
impostato suNONE
.gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE_NAME \ --size TARGET_SIZE \ --zones ZONES \ --instance-redistribution-type NONE
Sostituisci quanto segue:
Ad esempio:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --instance-redistribution-type NONE
Terraform
Se non hai già creato un modello di istanza in cui specifichi il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà delle VM che vuoi utilizzare per ogni VM nel tuo gruppo di istanze gestite, crea un modello di istanza.
Per creare un gruppo di istanze gestite a livello di regione, utilizza la risorsa
google_compute_region_instance_group_manager
.Per disabilitare la ridistribuzione proattiva delle istanze in un gruppo di istanze gestite a livello di regione, includi il blocco
update_policy
e imposta il campoinstance_redistribution_type
suNONE
.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Per creare un gruppo di istanze gestite a livello di regione senza scalabilità automatica senza ridistribuzione proattiva delle istanze, effettua una richiesta
POST
al metodoregionInstanceGroupManagers.insert
. Nel corpo della richiesta, includi la proprietàupdatePolicy
e imposta il campoinstanceRedistributionType
suNONE
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "targetSize": TARGET_SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Sostituisci quanto segue:
Disattivazione della ridistribuzione proattiva delle istanze
Per disabilitare o abilitare nuovamente la ridistribuzione proattiva delle istanze, utilizza la console Google Cloud, gcloud CLI o REST.
Console
gcloud
Per disattivare la ridistribuzione proattiva delle istanze, imposta il flag
--instance-redistribution-type
suNONE
utilizzando un comando come segue:Sostituisci quanto segue:
REST
Per disattivare la ridistribuzione proattiva delle istanze, imposta il campo
instanceRedistributionType
suNONE
utilizzando un metodo come segue:Sostituisci quanto segue:
Attivazione della ridistribuzione proattiva delle istanze
Per attivare la ridistribuzione proattiva delle istanze, utilizza un comando simile a quello per disattivare la ridistribuzione proattiva delle istanze, ma imposta il tipo di ridistribuzione delle istanze su
PROACTIVE
.Se hai eliminato o abbandonato manualmente alcune istanze gestite generando una distribuzione non uniforme delle VM nella regione, prima di poter riattivare la ridistribuzione proattiva delle istanze, devi ribilanciare manualmente il gruppo. La differenza nel numero di VM tra due zone non deve superare 1 VM.
Un gruppo di istanze gestite a livello di regione non consente di attivare la ridistribuzione proattiva delle istanze quando le VM sono distribuite in modo non uniforme tra le zone (la differenza nel numero di VM tra due zone è pari a 2 o più VM). In questo modo si impedisce l'eliminazione automatica involontaria delle VM da zone con più VM, che viene attivata per ottenere una distribuzione uniforme.
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-07-12 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -