Questo documento spiega come funziona il pool in standby di istanze di macchine virtuali (VM) sospese e arrestate e come puoi utilizzare il pool in standby per accelerare lo scale out di un gruppo di istanze gestite (MIG).
Prima di iniziare
- Consulta la pagina introduttiva sulle VM sospese e arrestate in un MIG.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Cloud de Confiance by S3NS . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:
Console
Quando utilizzi la Cloud de Confiance console per accedere a Cloud de Confiance by S3NS servizi e API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud init
-
- Imposta una regione e una zona predefinite.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
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 accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella Cloud de Confiance documentazione sull'autenticazione di.
Utilizzare l'API MIG per la scalabilità automatica
Ti consigliamo di utilizzare il gestore della scalabilità automatica di Compute Engine per la scalabilità automatica del MIG. Tuttavia, se per qualche motivo preferisci utilizzare un altro gestore della scalabilità automatica, utilizza gli endpoint dell' API MIG per gestire le VM sospese e arrestate.
Scegliere tra pool sospesi e arrestati
La scelta tra pool sospesi e arrestati dipende dal tuo caso d'uso specifico. Per ottenere prestazioni ottimali, devi sperimentare diversi tipi di pool in standby per gli scenari di scale out per determinare quale si adatta meglio alle tue esigenze. Carichi di lavoro diversi potrebbero mostrare un tempo di pubblicazione più breve con opzioni diverse. In alcuni casi, l'operazione di copia dello stato della memoria dallo spazio di archiviazione alla VM potrebbe richiedere più tempo rispetto al riavvio della VM o alla creazione di una nuova VM da zero.
Per trovare l'approccio migliore, inizia da queste linee guida:
- Utilizza le VM sospese se richiedono un'inizializzazione della memoria che richiede molto tempo, perché le VM sospese conservano lo stato della memoria. Assicurati che la tua applicazione possa essere sospesa e ripresa. La conservazione 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 archiviati nei dischi permanenti.
Modificare la policy in standby in un MIG
Questa sezione descrive come impostare la modalità del pool in standby su pool di scale out e il ritardo iniziale.
Console
Nella console Cloud de Confiance , vai alla pagina Gruppi di istanze.
Fai clic sul nome del gruppo di istanze che vuoi modificare.
Fai clic su Modifica per modificare il gruppo di istanze gestite.
Fai clic su Opzioni avanzate per espandere la sezione.
Nella sezione Pool in standby, seleziona Scale out.
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 uno scale out rapido.
Fai clic su Salva.
gcloud
Utilizza il
instance-groups managed update comando
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:
MIG_NAME: il nome del MIG.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 uno scale out rapido.REGION: per un MIG a livello di regione, la regione in cui si trova il MIG.ZONE: per un MIG a livello di zona, la zona in cui si trova il MIG.
Terraform
L'esempio seguente crea un MIG a livello di zona con una policy in standby. Utilizza il blocco standby_policy per impostare un ritardo iniziale e la modalità su SCALE_OUT_POOL.
L'esempio utilizza la google_compute_instance_group_manager
risorsa.
Per un MIG a livello di regione, utilizza la google_compute_region_instance_group_manager
risorsa.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Utilizza il
instanceGroupManager.patch metodo
e specifica la modalità di funzionamento e il ritardo iniziale nel corpo della richiesta.
Per i MIG a livello di regione, utilizza il
regionInstanceGroupManager.patch metodo.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
// ...
"standbyPolicy": {
"mode": "SCALE_OUT_POOL",
"initialDelaySec": DELAY
}
// ...
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.ZONE: per un MIG a livello di zona, la zona in cui si trova il MIG.- Per un MIG a livello di regione, sostituisci
zones/ZONEconregions/REGIONe specifica la regione di il MIG.
- Per un MIG a livello di regione, sostituisci
MIG_NAME: il nome del MIG.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 uno scale out rapido.
Ridimensionare il pool in standby in un MIG
Questa sezione descrive come ridimensionare i pool in standby di VM sospese e arrestate in un MIG.
Console
Nella console Cloud de Confiance , vai alla pagina Gruppi di istanze.
Fai clic sul nome del gruppo di istanze che vuoi modificare.
Fai clic su Modifica per modificare il gruppo di istanze gestite.
Fai clic su Opzioni avanzate per espandere la sezione.
Nella sezione Pool in standby, inserisci le nuove dimensioni nei campi VM sospese e VM arrestate.
Fai clic su Salva.
gcloud
Utilizza il
instance-groups managed update comando
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:
MIG_NAME: il nome del MIG in cui sospendere un'istanza.SUSPENDED_SIZE: il numero di VM sospese che il MIG deve mantenere in un determinato momento.STOPPED_SIZE: il numero di VM arrestate che il MIG deve mantenere in un determinato momento.REGION: per un MIG a livello di regione, la regione in cui si trova il MIG.ZONE: per un MIG a livello di zona, la zona in cui si trova il MIG.
Terraform
L'esempio seguente crea un MIG a livello di zona con dimensioni target per le VM sospese e arrestate. Per impostare le dimensioni target, utilizza gli argomenti target_suspended_size e target_stopped_size.
L'esempio utilizza la google_compute_instance_group_manager
risorsa.
Per un MIG a livello di regione, utilizza la google_compute_region_instance_group_manager
risorsa.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Utilizza il
instanceGroupManager.patch metodo
e specifica le dimensioni dei pool di VM sospese e arrestate nel corpo della
richiesta.
Per i MIG a livello di regione, utilizza il
regionInstanceGroupManager.patch metodo.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
// ...
"targetSuspendedSize": SUSPENDED_SIZE,
"targetStoppedSize": STOPPED_SIZE
// ...
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.ZONE: per un MIG a livello di zona, la zona in cui si trova il MIG.- Per un MIG a livello di regione, sostituisci
zones/ZONEconregions/REGIONe specifica la regione del MIG.
- Per un MIG a livello di regione, sostituisci
MIG_NAME: il nome del MIG in cui arrestare un'istanza.SUSPENDED_SIZE: il numero di VM sospese che il MIG deve mantenere in un determinato momento.STOPPED_SIZE: il numero di VM arrestate che il MIG deve mantenere in un determinato momento.
Passaggi successivi
- Scopri come sospendere o arrestare manualmente le VM in un MIG.
- Scopri di più sugli aggiornamenti per le VM sospese e arrestate in un MIG.