Questo documento spiega come limitare il tempo di esecuzione delle istanze di macchine virtuali (VM) nuove o esistenti e come monitorare il tempo di esecuzione di queste VM. Per i gruppi di istanze gestite (MIG), consulta Limitare il tempo di esecuzione di un MIG.
Quando limiti il tempo di esecuzione di una VM, puoi programmarne la terminazione automatica (arresto o eliminazione) quando raggiunge un determinato limite di tempo (durata o ora). Utilizza i limiti di tempo per ottimizzare i carichi di lavoro temporanei: limitandone automaticamente i tempi di esecuzione, puoi ridurre al minimo i costi e liberare quote.
Per scoprire come arrestare immediatamente una VM, consulta Arrestare o riavviare una VM. Per scoprire come eliminare immediatamente una VM, consulta Eliminare una VM.
Prima di iniziare
-
Per ottenere le autorizzazioni necessarie per limitare il tempo di esecuzione di una VM, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi 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.
L'azione di interruzione automatica deve essere stop o delete. Non puoi configurare una VM in modo che venga sospesa automaticamente al raggiungimento del limite di tempo.
Il limite di tempo minimo è di 30 secondi e il limite di tempo massimo è di 120 giorni.
L'interruzione automatica potrebbe richiedere fino a 30 secondi in più rispetto alla durata o al momento specificato per iniziare l'arresto o l'eliminazione della VM.
Non puoi utilizzare i limiti di tempo con le VM prerilasciabili precedenti. Utilizza invece i limiti di tempo con le VM spot.
I dati dell'unità SSD locale di una VM non possono essere conservati quando la VM viene arrestata automaticamente a causa di un limite di tempo. Per ulteriori informazioni, consulta Interrompere una VM con SSD locale.
Il timestamp di terminazione (
terminationTimestamp
) di una VM è un campo di sola lettura che rappresenta l'ora pianificata per la terminazione automatica ed è definito automaticamente da Compute Engine ogni volta che una VM ha un limite di tempo e entra nello statoRUNNING
.Il timestamp di terminazione viene cancellato automaticamente ogni volta che una VM viene fermata o sospesa. Tuttavia, un timestamp di terminazione non cambia quando reinizializzi o riavvii la VM.
Il timestamp di terminazione viene ridefinito automaticamente ogni volta che la VM viene riavviata o ripresa in base al tipo di limite di tempo impostato:
- Se imposti una durata per la VM, il timestamp di terminazione viene nuovamente calcolato aggiungendo questa durata all'ora di inizio più recente della VM.
- Se imposti un orario per la VM, il timestamp di terminazione viene impostato su quell'ora. Tuttavia, l'ora deve essere futura. In caso contrario, tutte le richieste di creazione o riesecuzione della VM non andranno a buon fine finché non aggiornerai o rimuoverai l'ora.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.
Seleziona la casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.
Nel campo Tipo di limite di tempo, seleziona Per ore (valore predefinito) per specificare il limite di tempo come durata. Nel campo seguente, inserisci la durata in ore.
Nell'elenco Al termine della VM, seleziona cosa succede quando il tempo di esecuzione della VM raggiunge il limite di tempo specificato:
- Per arrestare automaticamente la VM, seleziona Interrompi (impostazione predefinita).
- Per eliminare la VM, seleziona Elimina.
(Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.
Per creare e avviare la VM, fai clic su Crea.
- Per creare una VM che viene terminata automaticamente dopo una durata specifica,
devi includere il flag
--max-run-duration
. - Per specificare l'azione di interruzione, includi il flag
--instance-termination-action
. - Configura il flag
--discard-local-ssds-at-termination-timestamp
:- Se la VM ha SSD locali e l'azione di interruzione (
TERMINATION_ACTION
) è stop (STOP
), devi includere il flag--discard-local-ssds-at-termination-timestamp=true
. - In caso contrario, ometti il flag
--discard-local-ssds-at-termination-timestamp
.
- Se la VM ha SSD locali e l'azione di interruzione (
VM_NAME
: il nome della nuova VM.DURATION
: la durata per cui vuoi che la VM venga eseguita prima di essere interrotta automaticamente. Formatta la durata come numero di giorni, ore, minuti e secondi seguiti rispettivamente dad
,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
).TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere stop (STOP
) o delete (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il flag
--provisioning-model=SPOT
), il flag--instance-termination-action=TERMINATION_ACTION
è facoltativo. Se questo flag viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il
--instance-termination-action=TERMINATION_ACTION
flag è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il flag
- Per creare una VM che viene terminata automaticamente dopo una durata specifica,
devi includere l'argomento
max_run_duration
. - Per specificare l'azione di terminazione, includi
l'argomento
instance_termination_action
. Devi includere l'argomentoinstance_termination_action
, a meno che non stia creando una VM spot (imposta l'argomentoprovisioning_model
suSPOT
), per la quale il valore predefinito è stop (STOP
). - Configura l'argomento
on_instance_stop_action
:- Se la VM ha SSD locali e l'azione di interruzione (argomento
instance_termination_action
) è stop (STOP
), devi impostare l'argomentoon_instance_stop_action
su true (true
). - In caso contrario, ometti l'argomento
on_instance_stop_action
.
- Se la VM ha SSD locali e l'azione di interruzione (argomento
PROJECT_ID
: il project id del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM. La zona deve supportare anche il tipo di macchina da utilizzare per la nuova VM.MACHINE_TYPE
: il tipo di macchina predefinito o personalizzato per la nuova VM.VM_NAME
: il nome della nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichifamily/debian-10
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichifamily/debian-10
come immagine edebian-cloud
come progetto immagine, Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.DURATION
: la durata in secondi per cui vuoi che questa VM venga eseguita prima di essere interrotta automaticamente. La durata minima è di 30 secondi (30s
) e quella massima di 120 giorni (120d
).TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere stop (STOP
) o delete (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il campo
"provisioningModel": "SPOT"
), il campo"instanceTerminationAction": "TERMINATION_ACTION"
è facoltativo. Se questo campo viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il
"instanceTerminationAction": "TERMINATION_ACTION"
campo è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il campo
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.
Seleziona la casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.
Nel campo Tipo di limite di tempo, seleziona Per data per specificare il limite di tempo come data e ora. Nel campo seguente, fai clic su
Seleziona data e ora e seleziona la data, l'ora e il fuso orario per il limite di tempo.Nell'elenco Al termine della VM, seleziona cosa succede quando il tempo di esecuzione della VM raggiunge il limite di tempo specificato:
- Per arrestare automaticamente la VM, seleziona Interrompi (impostazione predefinita).
- Per eliminare la VM, seleziona Elimina.
(Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.
Per creare e avviare la VM, fai clic su Crea.
- Per creare una VM che viene terminata automaticamente in un momento specifico,
devi includere il flag
--termination-time
. - Per specificare l'azione di terminazione, includi il flag
--instance-termination-action
, facoltativo per le VM Spot. - Configura il flag
--discard-local-ssds-at-termination-timestamp
:- Se la VM ha SSD locali e imposta l'azione di interruzione (
TERMINATION_ACTION
) su stop (STOP
), devi includere il flag--discard-local-ssds-at-termination-timestamp=true
. - In caso contrario, ometti il flag
--discard-local-ssds-at-termination-timestamp
.
- Se la VM ha SSD locali e imposta l'azione di interruzione (
VM_NAME
: il nome della nuova VM.TIME
: l'ora in cui vuoi che la VM venga terminata automaticamente. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'ora 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
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il flag
--provisioning-model=SPOT
), il flag--instance-termination-action=TERMINATION_ACTION
è facoltativo. Se questo flag viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il
--instance-termination-action=TERMINATION_ACTION
flag è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il flag
PROJECT_ID
: il project id del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM. La zona deve supportare anche il tipo di macchina da utilizzare per la nuova VM.MACHINE_TYPE
: il tipo di macchina predefinito o personalizzato per la nuova VM.VM_NAME
: il nome della nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichifamily/debian-10
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichifamily/debian-10
come immagine edebian-cloud
come progetto immagine, Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.TIME
: l'ora in cui vuoi che la VM venga terminata automaticamente. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'ora 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
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il campo
"provisioningModel": "SPOT"
), il campo"instanceTerminationAction": "TERMINATION_ACTION"
è facoltativo. Se questo campo viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il
"instanceTerminationAction": "TERMINATION_ACTION"
campo è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il campo
Nella console Google Cloud, vai alla pagina Istanze VM.
Nella colonna Nome, fai clic sul nome della VM da aggiornare.
Nella pagina Dettagli dell'istanza VM, completa i seguenti passaggi:
- Se la VM è in esecuzione, fai clic su Interrompi per arrestarla.
- Per modificare la VM, fai clic su Modifica.
Nella pagina Modifica istanza, completa i seguenti passaggi:
Nella sezione Criteri di disponibilità, modifica la casella di controllo Imposta un limite di tempo per la VM e gli eventuali campi sottostanti.
Per ulteriori informazioni su come configurare le proprietà per i limiti di tempo, consulta la sezione su come limitare il tempo di esecuzione di una nuova VM.
Per salvare le modifiche, fai clic su Salva.
(Facoltativo) Se vuoi iniziare a eseguire la VM ora, fai clic su Avvia.
Se la VM è in esecuzione, arrestala utilizzando il comando
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM che vuoi aggiornare.Aggiorna il limite di tempo della VM utilizzando il comando
gcloud compute instances set-scheduling
.gcloud compute instances set-scheduling VM_NAME \ --max-run-duration=DURATION \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION \ --discard-local-ssds-at-termination-timestamp=true
Configura i seguenti flag:
- Devi omettere il flag
--max-run-duration
o il flag--termination-time
per impostare il limite di tempo come ora o durata. - Includi il flag
--instance-termination-action
per impostare l'azione di interruzione. - Se la VM ha SSD locali e imposta l'azione di interruzione (
TERMINATION_ACTION
) su stop (STOP
), devi includere il flag--discard-local-ssds-at-termination-timestamp=true
. In caso contrario, ometti il flag--discard-local-ssds-at-termination-timestamp=true
.
Quindi, sostituisci quanto segue:
VM_NAME
: il nome della VM che vuoi aggiornare.DURATION
: la durata per cui vuoi che la VM venga eseguita prima di essere interrotta automaticamente. Formatta la durata come numero di giorni, ore, minuti e secondi seguiti rispettivamente dad
,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
).TIME
: l'ora in cui vuoi che la VM venga terminata automaticamente. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'ora 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
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il flag
--provisioning-model=SPOT
), il flag--instance-termination-action=TERMINATION_ACTION
è facoltativo. Se questo flag viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il flag
--instance-termination-action=TERMINATION_ACTION
è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il flag
- Devi omettere il flag
Se vuoi avviare la VM, utilizza il comando
gcloud compute instances start
:gcloud compute instances start VM_NAME
Sostituisci
VM_NAME
con il nome della VM.Se la VM è in esecuzione, arrestala utilizzando il metodo
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_ID
: il project id del progetto che contiene la VM.ZONE
: la zona che contiene la VM.VM_NAME
: il nome della VM che vuoi aggiornare.
Aggiorna la proprietà
scheduling
della VM, inclusi i campi per il limite di tempo della VM, utilizzando il metodoinstances.setScheduling
. Includi il campomaxRunDuration
o il campoterminationTime
per impostare il limite di tempo rispettivamente come durata o ora:Per impostare una durata, utilizza la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }Per impostare un orario, utilizza la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }
Sostituisci quanto segue:
PROJECT_ID
: il project id del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM. La zona deve supportare anche il tipo di macchina da utilizzare per la nuova VM.MACHINE_TYPE
: il tipo di macchina predefinito o personalizzato per la nuova VM.VM_NAME
: il nome della nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichifamily/debian-10
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichifamily/debian-10
come immagine edebian-cloud
come progetto immagine, Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.DURATION
: la durata in secondi per cui vuoi che questa VM venga eseguita prima di essere interrotta automaticamente. La durata minima è di 30 secondi (30s
) e quella massima di 120 giorni (120d
).TIME
: l'ora in cui vuoi che la VM venga terminata automaticamente. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'ora 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
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il campo
"provisioningModel": "SPOT"
), il campo"instanceTerminationAction": "TERMINATION_ACTION"
è facoltativo. Se questo campo viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il
"instanceTerminationAction": "TERMINATION_ACTION"
campo è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il campo
Se vuoi avviare la VM, utilizza il metodo
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Sostituisci quanto segue:
PROJECT_ID
: il ID progetto del progetto che contiene la VM.ZONE
: la zona che contiene la VM.VM_NAME
: il nome della VM.
Per vedere quando è pianificata la terminazione automatica di una VM in esecuzione, visualizza il timestamp di terminazione della VM:
- Visualizza i dettagli di una VM.
- Nell'output, visualizza il campo della VM per il timestamp di terminazione:
- Se utilizzi la console Google Cloud, consulta il campo Durata massima.
- Se utilizzi Google Cloud CLI o l'API Compute Engine, consulta il campo
terminationTimestamp
.
Per verificare se una VM è stata terminata automaticamente, visualizza le relative operazioni:
- Visualizza le operazioni delle VM.
Nell'output, puoi identificare le operazioni VM causate da un limite di tempo cercando i seguenti tipi di operazioni:
compute.instances.deferredStop
indica un'azione di interruzione automatica di stopcompute.instances.deferredDelete
indica un'azione di eliminazione automatica
Scopri come ottimizzare ulteriormente le tue VM:
- Se i tuoi carichi di lavoro sono a tolleranza di errore, puoi utilizzare le VM spot per ottenere sconti significativi e una quota dedicata facoltativa.
- Se vuoi che una VM esegua automaticamente i comandi prima dell'arresto, puoi utilizzare gli script di arresto.
Scopri di più sulle opzioni per limitare automaticamente i tempi di esecuzione delle VM:
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 sull'autenticazione di Google Cloud.
Limitazioni
La limitazione del tempo di esecuzione di una VM presenta le seguenti limitazioni:
Limitare il tempo di esecuzione di una nuova VM
Le sezioni seguenti descrivono come configurare un limite di tempo durante la creazione di una nuova VM. Puoi specificare il limite di tempo, ovvero il momento in cui vuoi che una VM venga interrotta automaticamente, come durata (
maxRunDuration
) o ora (terminationTime
).Quando decidi il tipo di limite di tempo per una VM, tieni presente che la VM potrebbe essereinterrotta, ad esempio da una richiesta dell'utente o da un evento host. Il comportamento di un limite di tempo varia in base al tipo di interruzione e al tipo di limite di tempo:
Imposta una durata
Una durata rappresenta il tempo di esecuzione totale che vuoi per una VM. Per creare una VM che viene terminata automaticamente dopo che è stata in esecuzione per una durata specifica, utilizza la console Google Cloud, Google Cloud CLI, Terraform o l'API Compute Engine.
Console
gcloud
Per creare una VM dall'interfaccia alla gcloud CLI, utilizza il comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --max-run-duration=DURATION \ --instance-termination-action=TERMINATION_ACTION
Sostituisci quanto segue:
Per ulteriori informazioni sulle altre opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Terraform
Per creare una VM utilizzando Terraform, utilizza la risorsa
google_compute_instance
.Per saperne di più, consulta la documentazione di Terraform per la risorsa
google_compute_instance
.REST
Per creare una VM dall'API Compute Engine, utilizza il metodo
instances.insert
. Devi specificare un nome, un tipo di macchina e un disco di avvio per la VM.Per creare una VM che viene terminata automaticamente dopo una durata specifica, devi includere il campo
maxRunDuration
. Per specificare l'azione di terminazione, includi il campoinstanceTerminationAction
, facoltativo per le VM Spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }, }Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Impostare un orario
Un time rappresenta la data, l'ora e il fuso orario in cui vuoi che una VM venga terminata. Per creare una VM che viene terminata automaticamente a un determinato giorno e ora, utilizza la console Google Cloud, Google Cloud CLI o l'API Compute Engine.
Console
gcloud
Per creare una VM dall'interfaccia alla gcloud CLI, utilizza il comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION
Sostituisci quanto segue:
Per ulteriori informazioni sulle altre opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
REST
Per creare una VM dall'API Compute Engine, utilizza il metodo
instances.insert
. Devi specificare un nome, un tipo di macchina e un disco di avvio per la VM.Per creare una VM che viene terminata automaticamente in un momento specifico, devi includere il campo
terminationTime
. Per specificare l'azione di terminazione, includi il campoinstanceTerminationAction
, facoltativo per le VM Spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }, }Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Limitare il tempo di esecuzione di una VM esistente
Puoi limitare il tempo di esecuzione di una VM esistente aggiornandone la pianificazione. Se non sai già come configurare le impostazioni per i limiti di tempo, consulta prima le sezioni precedenti su come limitare il tempo di esecuzione di una nuova VM.
Puoi utilizzare la console Google Cloud, Google Cloud CLI o l'API Compute Engine per aggiornare le proprietà relative alla pianificazione della VM, come descritto in questa sezione. Questo metodo richiede di arrestare prima la VM, poi aggiornarne le proprietà e infine riavviarla. In alternativa, se vuoi aggiornare contemporaneamente altre proprietà VM e arrestare e riavviare automaticamente una VM, consulta Aggiornare le proprietà delle istanze.
Console
gcloud
Per aggiornare il limite di tempo di una VM utilizzando l'interfaccia alla gcloud CLI, completa i seguenti passaggi:
REST
Per aggiornare il limite di tempo di una VM utilizzando l'API Compute Engine, completa i seguenti passaggi:
Monitorare il tempo di esecuzione di una VM
Puoi monitorare il tempo di esecuzione di una VM con un limite di tempo utilizzando le seguenti opzioni:
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-12-19 UTC.
-