Questo documento descrive come terminare automaticamente le macchine virtuali (VM) in un gruppo di istanze gestite (MIG) specificando un limite di tempo per le VM. Descrive anche il funzionamento del limite di tempo per le VM in un MIG.
Puoi ottimizzare i workload temporanei specificando un limite di tempo per le VM in un MIG. Quando una VM raggiunge il limite di tempo, il MIG la termina (elimina) automaticamente. La limitazione del tempo di esecuzione delle VM in un MIG in base a un limite di tempo consente di ridurre al minimo i costi e liberare la quota.
Per scoprire come specificare un limite di tempo per una VM autonoma, consulta Limita il tempo di esecuzione di una VM. Se vuoi che un MIG aggiunga o elimini automaticamente le VM in base ai tuoi carichi di lavoro, consulta Gruppi di scalabilità automatica di istanze.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API.
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
-
After installing the Google Cloud CLI, initialize it 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.
- Limite di tempo come durata della corsa
- Limite di tempo come ora di fine
Crea un modello di istanza con una durata di esecuzione per le VM o con un orario di terminazione per le VM.
Utilizza il modello di istanza per creare un gruppo di istanze gestite o per aggiornare un gruppo di istanze gestite esistente.
Devi rispettare le limitazioni per la limitazione del tempo di esecuzione delle VM autonome.
Quando crei un modello di istanza per specificare un limite di tempo per le VM in un MIG, si applicano le seguenti limitazioni:
Puoi impostare l'azione di terminazione solo su
DELETE
.Puoi utilizzare il modello di istanza solo se specifica il modello di provisioning standard o con avvio flessibile.
Non puoi limitare il tempo di esecuzione delle VM in un MIG regionale se il MIG specifica entrambe le seguenti condizioni:
EVEN
forma di distribuzione target
Nella console Google Cloud , vai alla pagina Template di istanza.
Fai clic su Crea modello istanza.
Seleziona la Località come descritto di seguito:
- Se vuoi utilizzare il modello di istanza tra regioni, scegli Globale.
- Se vuoi ridurre la dipendenza tra regioni, scegli Regionale.
Se hai scelto Regionale, seleziona la Regione in cui creare il modello di istanza.
Nella sezione Policy di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.
Seleziona la casella di controllo Imposta un limite di tempo per la VM.
Nel campo Tipo di limite di tempo, seleziona Per ore (valore predefinito) per specificare il limite di tempo come durata. Nel campo successivo, inserisci la durata in ore.
Nell'elenco Alla terminazione della VM, seleziona Elimina.
Per gli altri campi, accetta i valori predefiniti o modificali in base alle necessità.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.DURATION
: la durata per cui vuoi che le VM vengano eseguite. Il MIG elimina automaticamente la VM dopo la durata specificata.Formatta la durata come numero di giorni, ore, minuti e secondi seguiti rispettivamente da
d
,h
,m
es
. Ad esempio, specifica30m
per una durata di 30 minuti o1d2h3m4s
per una durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. La durata minima è di 30 secondi (30s
) e quella massima di 120 giorni (120d
).PROJECT_ID
: l'ID del progetto in cui vuoi creare il modello di istanza.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.MACHINE_TYPE
: il tipo di macchina predefinito o personalizzato per le VM nel gruppo.IMAGE_PROJECT
: il progetto di immagini che contiene l'immagine, ad esempiodebian-cloud
.IMAGE
oIMAGE_FAMILY
: specifica una delle seguenti opzioni:IMAGE
: una versione specifica dell'immagine sistema operativo, ad esempiodebian-10-buster-v20200309
.IMAGE_FAMILY
: una famiglia di immagini. Specifica l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-10
, viene utilizzata l'ultima versione della famiglia di immagini Debian 10.
DURATION
: la durata per cui vuoi che le VM vengano eseguite. Il MIG elimina automaticamente la VM dopo la durata specificata.Formatta la durata come numero di giorni, ore, minuti e secondi seguiti rispettivamente da
d
,h
,m
es
. Ad esempio, specifica30m
per una durata di 30 minuti o1d2h3m4s
per una durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. La durata minima è di 30 secondi (30s
) e quella massima di 120 giorni (120d
).Nella console Google Cloud , vai alla pagina Template di istanza.
Fai clic su Crea modello istanza.
Seleziona la Località come descritto di seguito:
- Se vuoi utilizzare il modello di istanza tra regioni, scegli Globale.
- Se vuoi ridurre la dipendenza tra regioni, scegli Regionale.
Se hai scelto Regionale, seleziona la Regione in cui creare il modello di istanza.
Nella sezione Policy di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.
Nel campo Tipo di limite di tempo, seleziona Per data per specificare il limite di tempo come data e ora. Nel campo successivo, fai clic su
Seleziona data e ora e seleziona la data, l'ora e il fuso orario per la chiusura automatica.Nell'elenco Alla terminazione della VM, seleziona Elimina.
Per gli altri campi, accetta i valori predefiniti o modificali in base alle necessità.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.TIME
: l'orario in cui vuoi che questa VM venga terminata automaticamente. L'orario specificato deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'orario come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre con il formato 24 ore, minuto a due cifre e secondo a due cifre separati da due punti.OFFSET
: il fuso orario formattato come offset del Tempo Coordinato Universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), che è 8 ore in anticipo rispetto al fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare alcun offset (UTC+0), specificaZ
.
PROJECT_ID
: l'ID del progetto in cui vuoi creare il modello di istanza.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.MACHINE_TYPE
: il tipo di macchina predefinito o personalizzato per le VM nel gruppo.IMAGE_PROJECT
: il progetto di immagini che contiene l'immagine, ad esempiodebian-cloud
.IMAGE
oIMAGE_FAMILY
: specifica una delle seguenti opzioni:IMAGE
: una versione specifica dell'immagine sistema operativo, ad esempiodebian-10-buster-v20200309
.IMAGE_FAMILY
: una famiglia di immagini. Specifica l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-10
, viene utilizzata l'ultima versione della famiglia di immagini Debian 10.
TIME
: l'orario in cui vuoi che questa VM venga terminata automaticamente. L'orario specificato deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'orario come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre con il formato 24 ore, minuto a due cifre e secondo a due cifre separati da due punti.OFFSET
: il fuso orario formattato come offset del Tempo Coordinato Universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), che è 8 ore in anticipo rispetto al fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare alcun offset (UTC+0), specificaZ
.
Limite di tempo come durata dell'esecuzione (
maxRunDuration
):terminationTimestamp
di una VM = ora di creazione o di avvio più recente della VM +maxRunDuration
Quando specifichi una durata, il timestamp di terminazione viene impostato in relazione all'ora di creazione o di inizio più recente della VM. Se la VM viene ricreata, riavviata, ripristinata o sostituita, il timestamp di terminazione viene ricalcolato. Il timestamp di terminazione può variare tra le VM in un MIG in base all'ultima volta che ogni VM è stata creata o avviata. Ad esempio, se una VM viene riparata, il timestamp di terminazione della VM viene ricalcolato aggiungendo la durata all'ora in cui la VM è stata ricreata durante la riparazione.
Limite di tempo come orario di chiusura (
terminationTime
):terminationTimestamp
di una VM =terminationTime
Quando specifichi un orario, il timestamp di terminazione viene impostato su quell'ora, a condizione che l'orario sia nel futuro. Se l'ora di terminazione è trascorsa, qualsiasi azione del MIG che tenta di creare, riavviare o sostituire una VM non va a buon fine e restituisce un errore. Per risolvere questo errore, devi creare un nuovo modello di istanza con un orario di terminazione futuro e applicarlo al gruppo di istanze gestite. Se vuoi utilizzare le proprietà del modello esistente nel nuovo modello, allora crea un modello di istanza basato sul modello esistente.
- Scopri gli scenari di base per la creazione di MIG.
- Scopri di più sull'applicazione di un nuovo modello di istanza a un MIG esistente.
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.
After installing the Google Cloud CLI, initialize it 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.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Limita il tempo di esecuzione delle VM in un MIG
Puoi limitare il tempo di esecuzione delle VM in un MIG specificando un limite di tempo nel modello di istanza utilizzato per il MIG. Quando il MIG crea VM basate sul modello, il limite di tempo viene applicato a ogni VM.
Puoi specificare uno dei due tipi di limiti di tempo:
Per specificare un limite di tempo per le VM in un MIG:
Limitazioni
Crea un modello di istanza con una durata di esecuzione per le VM
Per terminare automaticamente le VM in un MIG dopo che sono state eseguite per un determinato periodo di tempo, imposta una durata di esecuzione massima (
maxRunDuration
) nel modello di istanza.Console
gcloud
Utilizza il comando
instance-templates create
. Per eliminare automaticamente le VM dopo una durata specifica, includi il flag--max-run-duration
e imposta il flag--instance-termination-action
suDELETE
come segue:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
Sostituisci quanto segue:
Terraform
Per creare un modello di istanza utilizzando Terraform, utilizza la risorsa
google_compute_instance_template
. Per creare un modello di istanza che elimina automaticamente le VM dopo una durata specifica, devi includere l'argomentomax_run_duration
e impostare l'argomentoinstance_termination_action
suDELETE
.Per saperne di più, consulta la documentazione di Terraform per la risorsa
google_compute_instance_template
.REST
Utilizza il metodo
instanceTemplates.insert
. Per eliminare automaticamente le VM dopo una durata specifica, includi il campomaxRunDuration
e imposta il campoinstanceTerminationAction
suDELETE
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "DELETE" } } }
Sostituisci quanto segue:
Crea un modello di istanza con un orario di terminazione per le VM
Per terminare automaticamente le VM in un MIG in un momento specifico, imposta un orario di terminazione (
terminationTime
) nel modello di istanza. Puoi impostare una data e un'ora in cui vuoi che un MIG termini le VM.Console
gcloud
Utilizza il comando
instance-templates create
. Per eliminare automaticamente le VM a un'ora specifica, includi il flag--termination-time
e imposta il flag--instance-termination-action
suDELETE
come segue:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
Sostituisci quanto segue:
REST
Utilizza il metodo
instanceTemplates.insert
. Per eliminare automaticamente le VM in un momento specifico, includi il campoterminationTime
e imposta il campoinstanceTerminationAction
suDELETE
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "terminationTime": TIME, "instanceTerminationAction": "DELETE" } } }
Sostituisci quanto segue:
Come funziona il limite di tempo per le VM in un MIG
Quando specifichi un limite di tempo per le VM in un MIG, l'ora in cui un MIG terminerà una VM viene impostata automaticamente nel campo timestamp di terminazione (
terminationTimestamp
) della VM.In base al tipo di limite di tempo specificato, il timestamp di terminazione di una VM viene impostato come segue:
Durante l'aggiornamento di una VM, il timestamp di terminazione non cambia. Ad esempio, se imposti il livello di interruzione per gli aggiornamenti su
REFRESH
, il timestamp di terminazione viene conservato ogni volta che il MIG aggiorna la VM.Quando sospendi o arresti una VM in un MIG, il timestamp di terminazione viene cancellato automaticamente indipendentemente dal tipo di limite di tempo. Quando riprendi o avvii una VM, il timestamp di terminazione viene impostato di nuovo in base al tipo di limite di tempo, come spiegato in precedenza in questa sezione.
Come funziona la scalabilità automatica quando è impostato un limite di tempo
La scalabilità automatica consente al tuo MIG di aggiungere o rimuovere automaticamente le VM in base all'aumento o alla riduzione del carico. Quando un MIG elimina le VM che hanno raggiunto i timestamp di terminazione, il MIG crea nuove VM per mantenere le dimensioni consigliate dal gestore della scalabilità automatica. Le nuove VM vengono eseguite per il limite di tempo specificato. Se il gestore della scalabilità automatica consiglia di ridurre il numero di VM, il MIG elimina le VM anche prima che raggiungano i limiti di tempo.
Se hai configurato pianificazioni di scalabilità, le VM vengono eseguite solo fino alla fine di una pianificazione o fino a quando una VM non raggiunge il timestamp di terminazione, a seconda di quale si verifica per prima.
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-07-11 UTC.
-