Limitare il tempo di esecuzione di una VM


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 gruppo di istanze gestite .

Quando limiti il tempo di esecuzione di una VM, puoi programmarne l'interruzione (l'arresto o l'eliminazione) automatica quando raggiunge un limite di tempo specifico (durata o ora). Utilizza i limiti di tempo per ottimizzare i carichi di lavoro temporanei in modo automatico limitando 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 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 eseguire l'autenticazione 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. Install the Google Cloud CLI, then initialize it by running the following command:

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

  • 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 è di 30 secondi e il limite di tempo massimo è di 120 giorni.

  • La chiusura automatica potrebbe richiedere fino a 30 secondi in più rispetto alla durata o l'ora specificata per iniziare ad arrestare o eliminare la 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, vedi Arresta una VM con SSD locale.

Limita il tempo di esecuzione di una nuova VM

Le seguenti sezioni 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, considera che quest'ultima potrebbe interrotta, ad esempio da una richiesta di un utente o da una evento organizzatore. 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 di una VM (terminationTimestamp) è un campo di sola lettura che rappresenta l'ora pianificata per i dalla risoluzione ed è definita automaticamente Compute Engine ogni volta che una VM ha un limite di tempo e inserisce il RUNNING.

  • Il timestamp di terminazione viene cancellato automaticamente ogni volta che una VM viene fermata o sospesa. Tuttavia, il timestamp di chiusura non cambia quando reimpostare una VM o riavvia 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 nuovamente calcolato aggiungendo questa durata all'ora di inizio più recente della VM.
    • Se imposti un'ora per la VM, il timestamp di terminazione impostato su quel momento. Tuttavia, l'ora deve essere futura. In caso contrario, tutte le richieste di creazione o esecuzione di nuovo della VM non andranno a buon fine finché non aggiornerai o rimuoverai l'ora.

Imposta una durata

Un'opzione duration indica il tempo di esecuzione totale che vuoi per una VM. Creare una VM che viene terminata automaticamente dopo l'esecuzione della VM per un una durata specifica, utilizzare la console Google Cloud, Google Cloud CLI, Terraform 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 Interrompi (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 dall'interfaccia a riga di comando gcloud, utilizza il comando gcloud 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 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 terminazione (TERMINATION_ACTION) è l'arresto (STOP), devi includi i --discard-local-ssds-at-termination-timestamp=true flag.
    • In caso contrario, ometti --discard-local-ssds-at-termination-timestamp flag.
gcloud compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • VM_NAME: il nome del una 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 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 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 --provisioning-model=SPOT), --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.

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 creare una VM che viene terminata automaticamente dopo un determinato periodo di tempo, devi includere argomento max_run_duration.
  • Per specificare l'azione di terminazione, includi l'argomento instance_termination_action. Devi includere l'argomento instance_termination_action a meno che tu non sia sulla creazione di una VM spot (imposta provisioning_model argomento su SPOT), che per impostazione predefinita viene arrestata (STOP).
  • Configura l'argomento on_instance_stop_action:
    • Se la VM ha SSD locali e l'azione di terminazione (argomento instance_termination_action) è stop (STOP), devi impostare l'argomento on_instance_stop_action su true (true).
    • In caso contrario, ometti l'argomento on_instance_stop_action.

Per ulteriori informazioni, consulta Documentazione Terraform per la risorsa google_compute_instance.

REST

Per creare una VM dall'API Compute Engine, utilizza 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 chiusura, includi i instanceTerminationAction , che è 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:

  • 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 tipo di macchina utilizzare per la nuova VM.
  • MACHINE_TYPE: il predefinita o personalizzato 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 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 un'istanza VM dell'ultima versione 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, verrà applicata la risoluzione predefinita l'azione è Interrompi.
    • In caso contrario (valore predefinito), il "instanceTerminationAction": "TERMINATION_ACTION" campo è 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 può essere risolto. Creare una VM che viene terminata automaticamente in una data 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 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.

  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 Interrompi (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 dall'interfaccia a riga di comando gcloud, utilizza il comando gcloud compute instances create.

  • 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.
gcloud compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • VM_NAME: il nome del una nuova VM.
  • TIME: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formattare 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 utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.
    • OFFSET: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 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 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 --provisioning-model=SPOT), --instance-termination-action=TERMINATION_ACTION è facoltativo. Se questo flag viene omesso, verrà applicata la risoluzione predefinita l'azione è Interrompi.
    • In caso contrario (valore predefinito), il --instance-termination-action=TERMINATION_ACTION flag è 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. Devi specificare un nome, un tipo di macchina e un disco di avvio per la VM.

Per creare una VM che viene terminata automaticamente a un orario specifico, devi includere il campo terminationTime. Per specificare l'azione di chiusura, includi i instanceTerminationAction , che è 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:

  • PROJECT_ID: il ID progetto 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 del una nuova VM.
  • IMAGE_PROJECT: il progetto contenente l'immagine. Ad esempio, se specifichi family/debian-10 come immagine, specifica debian-cloud come progetto immagine.
  • IMAGE: l'immagine della nuova VM. Puoi una specifica versione di un immagine 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 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 utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.
    • OFFSET: il fuso orario formattato come offset del Tempo Coordinato Universale (UTC). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 8 ore prima del fuso orario UTC, specifica -08:00. In alternativa, per non utilizzare alcun offset (UTC+0), specifica Z.
  • TERMINATION_ACTION: l'azione di risoluzione per questa VM, che può essere arrestata (STOP) o eliminata (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, 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 l'arresto della VM e poi l'aggiornamento proprietà, quindi riavvialo. In alternativa, se vuoi aggiornare contemporaneamente altre proprietà VM e arrestare e riavviare automaticamente una VM, consulta Aggiornare le proprietà delle istanze.

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 per aggiornarli.

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

    1. Se la VM è in esecuzione, fai clic su Interrompi 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 il Casella di controllo Imposta un limite di tempo per la VM e qualsiasi campo sottostante, come desiderato.

        Per ulteriori informazioni su come configurare le proprietà per 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 iniziare a eseguire la VM ora, 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, interrompila 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 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 del VM che vuoi aggiornare.
    • DURATION: la durata per cui vuoi che la VM venga eseguita prima di essere interrotta automaticamente. Formatta la durata come il numero di giorni, ore, minuti e secondi seguito 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. Il minimo La durata è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
    • TIME: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formattare 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 e giorno del mese a 2 cifre separati da trattini.
      • HH:MM:SS: un'ora nel formato a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate 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), che è 8 ore in anticipo rispetto al 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 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, verrà applicata la risoluzione predefinita l'azione è Interrompi.
      • In caso contrario, --instance-termination-action=TERMINATION_ACTION è obbligatorio.
  3. 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.

REST

Per aggiornare il limite di tempo di una VM utilizzando l'API Compute Engine, completa i seguenti 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: il 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, Metodo instances.setScheduling. 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/v1/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/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "terminationTime": "TIME",
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      

    Sostituisci quanto segue:

    • PROJECT_ID: il ID progetto del progetto in cui creare la VM.
    • ZONE: la zona in cui creare la VM. La zona deve supportare anche tipo di macchina utilizzare per la nuova VM.
    • MACHINE_TYPE: il predefinita o personalizzato per la nuova VM.
    • VM_NAME: il nome del una nuova VM.
    • IMAGE_PROJECT: il progetto contenente l'immagine. Ad esempio, se specifichi family/debian-10 come immagine, specifica debian-cloud come progetto immagine.
    • IMAGE: l'immagine della nuova VM. Puoi una specifica versione di un immagine o una famiglia di immagini. Ad esempio, se specifichi family/debian-10 come immagine e debian-cloud come progetto immagine, Compute Engine crea un'istanza VM dell'ultima versione 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. Il minimo La durata è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
    • TIME: l'ora in cui vuoi che questa VM in automatico. 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 utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.
      • OFFSET: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 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 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 "provisioningModel": "SPOT"), "instanceTerminationAction": "TERMINATION_ACTION" è facoltativo. Se questo campo viene omesso, l'azione di interruzione predefinita è stop.
      • Altrimenti (impostazione predefinita), Il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.
  3. Se vuoi che la VM inizi a essere eseguita, avviala utilizzando 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 del VM.

Monitora 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:

  • Per vedere quando è pianificata la terminazione automatica 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, consulta Campo terminationTimestamp.
  • Per verificare se una VM è stata terminata automaticamente, visualizza le operazioni della VM:

    1. Visualizza le operazioni delle VM.
    2. 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 risoluzione automatica dell'interruzione
      • compute.instances.deferredDelete indica un'azione di eliminazione automatica

Passaggi successivi