Limitare il tempo di esecuzione di una VM

Questo documento spiega come limitare il tempo di esecuzione di istanze di macchine virtuali (VM) nuove o esistenti e come monitorarne il tempo di esecuzione. Per i gruppi di istanze gestite, vedi Limitare il tempo di esecuzione di un gruppo di istanze gestite.

Quando limiti il tempo di esecuzione di una VM, puoi pianificare la sua chiusura automatica (arresto o eliminazione) quando raggiunge un limite di tempo specifico (durata o tempo). Utilizza i limiti di tempo per ottimizzare i carichi di lavoro temporanei: limitando automaticamente i tempi di esecuzione delle VM, puoi ridurre al minimo i costi e liberare le 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.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.

    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

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. 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.

Limitazioni

La limitazione del tempo di esecuzione di una VM prevede le seguenti restrizioni:

  • L'azione di risoluzione automatica deve essere di tipo 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 è 30 secondi, mentre il limite di tempo massimo è 120 giorni.

  • La terminazione automatica potrebbe richiedere fino a 30 secondi in più rispetto alla durata o al tempo specificato per iniziare ad arrestare o eliminare la VM.

  • Non puoi utilizzare limiti di tempo con le VM prerilasciabili legacy. Utilizza invece i limiti di tempo con le VM spot.

  • I dati SSD locali di una VM non possono essere conservati quando la VM viene arrestata automaticamente a causa di un limite di tempo. Per ulteriori informazioni, consulta Arrestare una VM con SSD locale.

Limita 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 termini automaticamente, come duration (maxRunDuration) o tempo (terminationTime).

Quando decidi il tipo di limite di tempo per una VM, considera che quest'ultima potrebbe essere interrotta, ad esempio da una richiesta di un 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:

  • Il timestamp di chiusura (terminationTimestamp) di una VM è un campo di sola lettura che rappresenta l'ora pianificata per la terminazione automatica e viene definito automaticamente da Compute Engine ogni volta che una VM ha un limite di tempo ed entra nello stato RUNNING.

  • Il timestamp di terminazione viene cancellato automaticamente ogni volta che una VM viene interrotta o sospesa. Tuttavia, il timestamp di terminazione non cambia quando reimposti una VM o riavvii una 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 ricalcolato aggiungendo questa durata all'ora di inizio più recente della VM.
    • Se imposti un'ora per la VM, il timestamp di terminazione viene impostato su quella data. Tuttavia, l'orario deve essere nel futuro; in caso contrario, le richieste di creazione o riesecuzione della VM non andranno a buon fine finché l'ora non verrà aggiornata o rimossa.

Imposta una durata

Il valore duration rappresenta il tempo di esecuzione totale che vuoi per una VM. Per creare una VM terminata automaticamente dopo l'esecuzione della VM per un periodo di tempo specifico, utilizza la console Google Cloud, Google Cloud CLI o l'API Compute Engine.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.

  3. Seleziona la casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.

  4. Nel campo Tipo di limite di tempo, seleziona Per ore (impostazione predefinita) per specificare il limite di tempo come durata. Nel campo seguente, inserisci la durata in ore.

  5. Nell'elenco Alla terminazione della VM, seleziona cosa succede quando il tempo di esecuzione della VM raggiunge il limite di tempo specificato:

    • Per arrestare automaticamente la VM, seleziona Arresta (impostazione predefinita).
    • Per eliminare la VM, seleziona Elimina.
  6. (Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.

  7. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare una VM da gcloud CLI, utilizza il comando gcloud beta compute instances create.

  • Per creare una VM che viene terminata automaticamente dopo un determinato periodo di tempo, devi includere il flag --max-run-duration.
  • Per specificare l'azione di chiusura, includi il flag --instance-termination-action.
  • Configura il flag --discard-local-ssds-at-termination-timestamp:
    • Se la VM ha SSD locali e imposta l'azione di terminazione (TERMINATION_ACTION) in modo che si arresti (STOP), devi includere il flag --discard-local-ssds-at-termination-timestamp=true.
    • In caso contrario, ometti il flag --discard-local-ssds-at-termination-timestamp.
gcloud beta compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • VM_NAME: il nome della nuova VM.
  • DURATION: la durata dell'esecuzione di questa VM prima dell'arresto automatico. Formatta la durata come il numero di giorni, ore, minuti e secondi seguiti rispettivamente da d, h, m e s. Ad esempio, specifica 30m per una durata di 30 minuti o 1d2h3m4s per una durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. La durata minima è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
  • TERMINATION_ACTION: l'azione di terminazione per questa VM, che può essere di arresto (STOP) o eliminazione (DELETE). L'eventualità 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 terminazione predefinita è arrestata.
    • In caso contrario (impostazione predefinita), il flag --instance-termination-action=TERMINATION_ACTION è obbligatorio.

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 beta. 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 un determinato periodo di tempo, devi includere il campo maxRunDuration. Per specificare l'azione di terminazione, includi il campo instanceTerminationAction, che è facoltativo per le VM spot.

POST https://compute.googleapis.com/compute/beta/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:

  • PROJECT_ID: l'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 usare per la nuova VM.
  • MACHINE_TYPE: il tipo di macchina predefinita o personalizzata per la nuova VM.
  • VM_NAME: il nome della nuova VM.
  • IMAGE_PROJECT: il progetto contenente l'immagine. Ad esempio, se specifichi family/debian-10 come immagine, specifica debian-cloud come progetto dell'immagine.
  • IMAGE: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichi family/debian-10 come immagine e debian-cloud come progetto immagine, Compute Engine crea una VM dall'ultima versione dell'immagine sistema operativo nella famiglia di immagini Debian 10.
  • DURATION: la durata in secondi dell'esecuzione di questa VM prima dell'arresto automatico. La durata minima è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
  • TERMINATION_ACTION: l'azione di terminazione per questa VM, che può essere di arresto (STOP) o eliminazione (DELETE). L'eventualità che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:
    • Se questa è 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 risoluzione predefinita è interrotta.
    • In caso contrario (impostazione predefinita), il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.

Per ulteriori informazioni sulle opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.

Imposta un orario

L'attributo time rappresenta la data, l'ora e il fuso orario in cui vuoi che una VM venga terminata. Per creare una VM terminata automaticamente in un momento specifico, utilizza la console Google Cloud, Google Cloud CLI o l'API Compute Engine.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.

  3. Seleziona la casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.

  4. Nel campo Tipo di limite di tempo, seleziona Per data per specificare il limite di tempo come ora e data. 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.

  5. Nell'elenco Alla terminazione della VM, seleziona cosa succede quando il tempo di esecuzione della VM raggiunge il limite di tempo specificato:

    • Per arrestare automaticamente la VM, seleziona Arresta (impostazione predefinita).
    • Per eliminare la VM, seleziona Elimina.
  6. (Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.

  7. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare una VM da gcloud CLI, utilizza il comando gcloud beta compute instances create.

  • Per creare una VM terminata automaticamente a un orario specifico, devi includere il flag --termination-time.
  • Per specificare l'azione di terminazione, includi il flag --instance-termination-action, che è 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 terminazione (TERMINATION_ACTION) in modo che si arresti (STOP), devi includere il flag --discard-local-ssds-at-termination-timestamp=true.
    • In caso contrario, ometti il flag --discard-local-ssds-at-termination-timestamp.
gcloud beta compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • VM_NAME: il nome della nuova VM.
  • TIME: l'ora in cui vuoi che questa VM venga terminata automaticamente. L'ora specificata deve essere di almeno 30 secondi nel futuro e di 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 di quattro cifre, mese di due cifre e giorno del mese di due cifre separate da trattini.
    • HH:MM:SS: un'ora nel formato a due cifre che utilizza il formato 24 ore, i minuti a due cifre e le due cifre dei secondi, separati da due punti.
    • OFFSET: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time, 8 ore prima del fuso orario UTC), specifica -08:00. In alternativa, per non utilizzare offset (UTC+0), specifica Z.
  • TERMINATION_ACTION: l'azione di terminazione per questa VM, che può essere di arresto (STOP) o 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 terminazione predefinita è arrestata.
    • In caso contrario (impostazione predefinita), il flag --instance-termination-action=TERMINATION_ACTION è obbligatorio.

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 beta. Devi specificare un nome, un tipo di macchina e un disco di avvio per la VM.

Per creare una VM terminata automaticamente a un orario specifico, devi includere il campo terminationTime. Per specificare l'azione di terminazione, includi il campo instanceTerminationAction, che è facoltativo per le VM spot.

POST https://compute.googleapis.com/compute/beta/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:

  • PROJECT_ID: l'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 usare per la nuova VM.
  • MACHINE_TYPE: il tipo di macchina predefinita o personalizzata per la nuova VM.
  • VM_NAME: il nome della nuova VM.
  • IMAGE_PROJECT: il progetto contenente l'immagine. Ad esempio, se specifichi family/debian-10 come immagine, specifica debian-cloud come progetto dell'immagine.
  • IMAGE: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichi family/debian-10 come immagine e debian-cloud come progetto immagine, Compute Engine crea una VM dall'ultima versione dell'immagine sistema operativo nella famiglia di immagini Debian 10.
  • TIME: l'ora in cui vuoi che questa VM venga terminata automaticamente. L'ora specificata deve essere di almeno 30 secondi nel futuro e di 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 di quattro cifre, mese di due cifre e giorno del mese di due cifre separate da trattini.
    • HH:MM:SS: un'ora nel formato a due cifre che utilizza il formato 24 ore, i minuti a due cifre e le due cifre dei secondi, separati da due punti.
    • OFFSET: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time, 8 ore prima del fuso orario UTC), specifica -08:00. In alternativa, per non utilizzare offset (UTC+0), specifica Z.
  • TERMINATION_ACTION: l'azione di terminazione per questa VM, che può essere di arresto (STOP) o eliminazione (DELETE). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:

    • Se questa è 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 risoluzione predefinita è interrotta.
    • In caso contrario (impostazione predefinita), il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.

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 aggiornando la pianificazione della VM. 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 prima di arrestare la VM, quindi aggiornarne le proprietà e infine riavviarla. In alternativa, se vuoi aggiornare contemporaneamente altre proprietà della VM e arrestare e riavviare automaticamente una VM, consulta Aggiornare le proprietà dell'istanza.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nella colonna Nome, fai clic sul nome della VM che vuoi aggiornare.

  3. Nella pagina Dettagli istanza VM, completa i seguenti passaggi:

    1. Se la VM è in esecuzione, fai clic su Arresta per arrestarla.
    2. Per modificare la VM, fai clic su Modifica.
    3. Nella pagina Modifica istanza, completa i seguenti passaggi:

      1. Nella sezione Criteri di disponibilità, modifica la casella di controllo Imposta un limite di tempo per la VM e i campi sottostanti in base alle tue esigenze.

        Per ulteriori informazioni su come configurare le proprietà per i limiti di tempo, consulta Limitare il tempo di esecuzione di una nuova VM.

      2. Per salvare le modifiche, fai clic su Salva.

    4. (Facoltativo) Se vuoi avviare subito la VM, fai clic su Avvia.

gcloud

Per aggiornare il limite di tempo di una VM utilizzando gcloud CLI, completa questi passaggi:

  1. 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.

  2. Aggiorna il limite di tempo della VM utilizzando il comando gcloud beta compute instances set-scheduling.

    gcloud beta 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 rispettivamente come ora o durata.
    • Includi il flag --instance-termination-action per impostare l'azione di terminazione.
    • Se la VM ha SSD locali e imposta l'azione di terminazione (TERMINATION_ACTION) in modo che si arresti (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 dell'esecuzione di questa VM prima dell'arresto automatico. Formatta la durata come il numero di giorni, ore, minuti e secondi seguiti rispettivamente da d, h, m e s. Ad esempio, specifica 30m per una durata di 30 minuti o 1d2h3m4s per una durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. La durata minima è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
    • TIME: l'ora in cui vuoi che questa VM venga terminata automaticamente. L'ora specificata deve essere di almeno 30 secondi nel futuro e di 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 di quattro cifre, mese di due cifre e giorno del mese di due cifre separati da trattini.
      • HH:MM:SS: un'ora nel formato a due cifre che utilizza il formato 24 ore, i minuti a due cifre e le due cifre dei secondi, separati da due punti.
      • OFFSET: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time, 8 ore prima del fuso orario UTC), specifica -08:00. In alternativa, per non utilizzare offset (UTC+0), specifica Z.
    • TERMINATION_ACTION: l'azione di terminazione per questa VM, che può essere di arresto (STOP) o 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 terminazione predefinita è arrestata.
      • In caso contrario (impostazione predefinita), il flag --instance-termination-action=TERMINATION_ACTION è obbligatorio.
  3. Se vuoi che la VM inizi a essere eseguita, avviala utilizzando il comando gcloud compute instances start:

    gcloud compute instances start VM_NAME
    

    Sostituisci VM_NAME con il nome della VM.

REST

Per aggiornare il limite di tempo di una VM utilizzando l'API Compute Engine, completa questi passaggi:

  1. 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: l'ID progetto del progetto che contiene la VM.
    • ZONE: la zona che contiene la VM.
    • VM_NAME: il nome della VM che vuoi aggiornare.
  2. Aggiorna la proprietà scheduling della VM, inclusi i campi per il limite di tempo della VM, utilizzando il metodo instances.setScheduling beta. Includi il campo maxRunDuration o terminationTime per impostare il limite di tempo rispettivamente come durata o tempo:

    • Per impostare una durata, utilizza la seguente richiesta:

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "maxRunDuration":
        {
          "seconds": DURATION
        },
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      
    • Per impostare un orario, utilizza la richiesta seguente:

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "terminationTime": "TIME",
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      

    Sostituisci quanto segue:

    • PROJECT_ID: l'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 usare per la nuova VM.
    • MACHINE_TYPE: il tipo di macchina predefinita o personalizzata per la nuova VM.
    • VM_NAME: il nome della nuova VM.
    • IMAGE_PROJECT: il progetto contenente l'immagine. Ad esempio, se specifichi family/debian-10 come immagine, specifica debian-cloud come progetto dell'immagine.
    • IMAGE: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichi family/debian-10 come immagine e debian-cloud come progetto immagine, Compute Engine crea una VM dall'ultima versione dell'immagine sistema operativo nella famiglia di immagini Debian 10.
    • DURATION: la durata in secondi dell'esecuzione di questa VM prima dell'arresto automatico. La durata minima è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
    • TIME: l'ora in cui vuoi che questa VM venga terminata automaticamente. L'ora specificata deve essere di almeno 30 secondi nel futuro e di 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 di quattro cifre, mese di due cifre e giorno del mese di due cifre separate da trattini.
      • HH:MM:SS: un'ora nel formato a due cifre che utilizza il formato 24 ore, i minuti a due cifre e le due cifre dei secondi, separati da due punti.
      • OFFSET: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time, 8 ore prima del fuso orario UTC), specifica -08:00. In alternativa, per non utilizzare offset (UTC+0), specifica Z.
    • TERMINATION_ACTION: l'azione di terminazione per questa VM, che può essere di arresto (STOP) o eliminazione (DELETE). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:

      • Se questa è 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 risoluzione predefinita è interrotta.
      • In caso contrario (impostazione predefinita), il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.
  3. Se vuoi che la VM inizi a essere eseguita, avviala utilizzando 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: l'ID progetto del progetto che contiene la VM.
    • ZONE: la zona che contiene la VM.
    • VM_NAME: il nome della VM.

Monitora il tempo di esecuzione di una VM

Puoi monitorare il tempo di esecuzione di una VM che ha un limite di tempo utilizzando le seguenti opzioni:

  • Per vedere quando è pianificata l'arresto automatico di una VM in esecuzione, visualizza il timestamp di terminazione della VM:

    1. Visualizza i dettagli di una VM.
    2. 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, controlla il campo terminationTimestamp.
  • Per verificare se una VM è stata terminata automaticamente, visualizza le operazioni della VM:

    1. Visualizza le operazioni delle VM.
    2. Nell'output è possibile identificare le operazioni delle VM causate da un limite di tempo cercando i seguenti tipi di operazioni:

      • compute.instances.deferredStop indica un'azione di risoluzione automatica dell'interruzione
      • compute.instances.deferredDelete indica un'azione di risoluzione automatica dell'eliminazione

Passaggi successivi