Questo documento spiega come funziona il pool di standby delle istanze di macchine virtuali (VM) sospese e arrestate e come puoi utilizzarlo per accelerare l'espansione di un gruppo di istanze gestite (MIG).
Prima di iniziare
- Consulta la pagina introduttiva sulle VM sospese e arrestate in un gruppo di istanze gestite.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso 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, 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.
- Utilizza le VM sospese se richiedono un'inizializzazione della memoria che richiede tempo, poiché le VM sospese preservano lo stato della memoria. Assicurati che l'applicazione possa essere sospesa e ripresa. Il mantenimento dello stato della memoria richiede spazio di archiviazione aggiuntivo e potrebbe comportare costi aggiuntivi.
- Utilizza le VM arrestate se l'inizializzazione della VM si concentra principalmente sull'inizializzazione dei dati memorizzati nei dischi permanenti.
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze in cui vuoi modificare il criterio di standby.
Fai clic su Modifica per modificare questo gruppo di istanze gestite.
Fai clic su Mostra configurazione avanzata.
Nella sezione Pool di standby, in Modalità, seleziona Scalabilità orizzontale.
Nel campo Ritardo iniziale, inserisci il numero di secondi che il MIG deve attendere prima di sospendere o arrestare una VM. Il ritardo iniziale consente allo script di inizializzazione di preparare la VM per lo scale out rapido.
Fai clic su Salva.
MIG_NAME
: il nome del gruppo di istanze gestite.DELAY
: il numero di secondi che il MIG deve attendere prima di sospendere o arrestare una VM. Il ritardo iniziale consente allo script di inizializzazione di preparare la VM per lo scale out rapido.REGION
: per un gruppo di istanze gestite a livello di regione, la regione in cui si trova il gruppo di istanze gestite.ZONE
: per un gruppo di istanze gestite a livello di zona, la zona in cui si trova il gruppo di istanze gestite.PROJECT_ID
: l'ID del progetto.ZONE
: per un gruppo di istanze gestite a livello di zona, la zona in cui si trova il gruppo di istanze gestite.- Per un gruppo di istanze gestite a livello di regione, sostituisci
zones/ZONE
conregions/REGION
e specifica la regione del gruppo di istanze gestite.
- Per un gruppo di istanze gestite a livello di regione, sostituisci
MIG_NAME
: il nome del gruppo di istanze gestite.DELAY
: il numero di secondi che il MIG deve attendere prima di sospendere o arrestare una VM. Il ritardo iniziale consente allo script di inizializzazione di preparare la VM per lo scale out rapido.Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze in cui vuoi modificare le dimensioni del pool di standby.
Fai clic su Modifica per modificare questo gruppo di istanze gestite.
Fai clic su Mostra configurazione avanzata.
Nella sezione Pool in standby, inserisci le nuove dimensioni nei campi VM sospese e VM arrestate.
Fai clic su Salva.
MIG_NAME
: il nome del gruppo di istanze gestite in cui sospendere un'istanza.SUSPENDED_SIZE
: il numero di VM sospese che il gruppo di istanze gestite deve mantenere in un determinato momento.STOPPED_SIZE
: il numero di VM arrestate che il gruppo di istanze gestite deve mantenere in un determinato momento.REGION
: per un gruppo di istanze gestite a livello di regione, la regione in cui si trova il gruppo di istanze gestite.ZONE
: per un gruppo di istanze gestite a livello di zona, la zona in cui si trova il gruppo di istanze gestite.PROJECT_ID
: l'ID progetto per la richiesta.ZONE
: per un gruppo di istanze gestite a livello di zona, la zona in cui si trova il gruppo di istanze gestite.- Per un gruppo di istanze gestite a livello di regione, sostituisci
zones/ZONE
conregions/REGION
e specifica la regione del gruppo di istanze gestite.
- Per un gruppo di istanze gestite a livello di regione, sostituisci
MIG_NAME
: il nome del gruppo di istanze gestite in cui interrompere un'istanza.SUSPENDED_SIZE
: il numero di VM sospese che il gruppo di istanze gestite deve mantenere in un determinato momento.STOPPED_SIZE
: il numero di VM arrestate che il gruppo di istanze gestite deve mantenere in un determinato momento.- Scopri come sospendere o arrestare manualmente le VM in un gruppo di istanze gestite.
- Scopri di più sugli aggiornamenti per le VM sospese e arrestate in un gruppo di istanze gestite.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le 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, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
Utilizzare l'API MIG per la scalabilità automatica
Ti consigliamo di utilizzare lo strumento di scalabilità automatica di Compute Engine per la scalabilità automatica del tuo MIG. Tuttavia, se per qualche motivo preferisci utilizzare un altro regolatore automatico, utilizza gli endpoint dell'API MIG per gestire le VM sospese e arrestate.
Con l'API MIG, puoi collegare il tuo gestore della scalabilità automatica, ad esempio il gestore della scalabilità automatica GKE, e utilizzare il pool di VM in standby per eseguire lo scale out più rapidamente.
Scegli tra pool sospesi e pool arrestati
La scelta tra pool sospesi e arrestati dipende dal caso d'uso specifico. Per ottenere il massimo rendimento, ti consigliamo di sperimentare diversi tipi di pool di standby per i tuoi scenari di scalabilità per determinare quale soddisfa meglio le tue esigenze. Carichi di lavoro diversi potrebbero mostrare tempi di pubblicazione più brevi con opzioni diverse. In alcuni casi, l'operazione di copia dello stato della memoria dallo spazio di archiviazione alla VM potrebbe richiedere più tempo del riavvio della VM o della creazione di una nuova VM da zero.
Per trovare l'approccio migliore, parti da queste linee guida:
Modificare il criterio di standby in un gruppo di istanze gestite
Questa sezione descrive come impostare il ritardo iniziale e come impostare la modalità del pool di standby sul pool di scalabilità orizzontale.
Console
gcloud
Utilizza il comando
instance-groups managed update
e specifica la modalità di funzionamento e il ritardo iniziale.gcloud compute instance-groups managed update MIG_NAME \ --standby-policy-mode=scale-out-pool \ --standby-policy-initial-delay=DELAY \ [--region=REGION | --zone=ZONE]
Sostituisci quanto segue:
Terraform
L'esempio seguente crea un gruppo di istanze gestite a livello di zona con un criterio di standby. Utilizza il blocco
standby_policy
per impostare un ritardo iniziale e impostare la modalità suSCALE_OUT_POOL
.Il sample utilizza la risorsa
google_compute_instance_group_manager
. Per un gruppo di istanze gestite a livello di regione, utilizza la risorsagoogle_compute_region_instance_group_manager
.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Utilizza il metodo
instanceGroupManager.patch
e specifica la modalità di operazione e il ritardo iniziale nel corpo della richiesta. Per i gruppi di istanze gestite a livello di regione, utilizza il metodoregionInstanceGroupManager.patch
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { // ... "standbyPolicy": { "mode": "SCALE_OUT_POOL", "initialDelaySec": DELAY } // ... }
Sostituisci quanto segue:
Ridimensiona il pool di standby in un gruppo di istanze gestite
Questa sezione descrive come ridimensionare i pool di standby delle VM sospese e interrotte in un gruppo di istanze gestite.
Console
gcloud
Utilizza il comando
instance-groups managed update
con i flag--suspended-size
e--stopped-size
.gcloud compute instance-groups managed update MIG_NAME \ --suspended-size=SUSPENDED_SIZE \ --stopped-size=STOPPED_SIZE \ [--region=REGION | --zone=ZONE]
Sostituisci quanto segue:
Terraform
L'esempio seguente crea un gruppo di istanze gestite a livello di zona con dimensioni target per le VM sospese e interrotte. Per impostare le dimensioni target, utilizza gli argomenti
target_suspended_size
etarget_stopped_size
.Il sample utilizza la risorsa
google_compute_instance_group_manager
. Per un gruppo di istanze gestite a livello di regione, utilizza la risorsagoogle_compute_region_instance_group_manager
.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Utilizza il metodo
instanceGroupManager.patch
e specifica le dimensioni dei pool di VM sospese e arrestate nel corpo della richiesta. Per i gruppi di istanze gestite a livello di regione, utilizza il metodoregionInstanceGroupManager.patch
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { // ... "targetSuspendedSize": SUSPENDED_SIZE, "targetStoppedSize": STOPPED_SIZE // ... }
Sostituisci quanto segue:
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 2025-02-06 UTC.
-