Limite o tempo de execução de uma VM


Este documento explica como limitar o tempo de execução de instâncias de máquinas virtuais (VM) novas ou existentes e como monitorar o tempo de execução dessas VMs. Para grupos gerenciados de instâncias (MIGs), consulte Limitar o tempo de execução de um MIG .

Ao limitar o tempo de execução de uma VM, você pode programar a VM para ser encerrada automaticamente (parada ou excluída) quando atingir um limite de tempo específico (duração ou tempo). Use limites de tempo para ajudar a otimizar cargas de trabalho temporárias. Ao limitar automaticamente os tempos de execução da VM, você pode ajudar a minimizar custos e liberar cotas.

Para saber como parar imediatamente uma VM, consulte Parar ou reiniciar uma VM . Para saber como excluir imediatamente uma VM, consulte Excluir uma VM .

Antes de começar

  • Para obter as permissões necessárias para limitar o tempo de execução de uma VM, peça ao administrador para conceder a você a função do IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) no projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

    Você também poderá obter as permissões necessárias por meio de funções personalizadas ou outras funções predefinidas .

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

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

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Restrições

Limitar o tempo de execução de uma VM tem as seguintes restrições:

  • A ação de encerramento automático deve ser parar ou excluir. Você não pode configurar uma VM para ser suspensa automaticamente quando o limite de tempo for atingido.

  • O prazo mínimo é de 30 segundos e o prazo máximo é de 120 dias.

  • O encerramento automático pode levar até 30 segundos a mais do que a duração ou o tempo especificado para começar a parar ou excluir a VM.

  • Você não pode usar limites de tempo com VMs preemptivas herdadas . Em vez disso, use limites de tempo com VMs Spot .

  • Os dados SSD locais de uma VM não podem ser preservados quando a VM é interrompida automaticamente devido a um limite de tempo. Para obter mais informações, consulte Interromper uma VM com SSD local .

Limite o tempo de execução de uma nova VM

As seções a seguir descrevem como configurar um limite de tempo ao criar uma nova VM. Você pode especificar o limite de tempo, que é quando você deseja que uma VM seja encerrada automaticamente, como uma duração ( maxRunDuration ) ou um tempo ( terminationTime ).

Ao decidir o tipo de limite de tempo para uma VM, considere que a VM pode ser interrompida, por exemplo, por uma solicitação do usuário ou por um evento do host . O comportamento de um limite de tempo varia de acordo com o tipo de interrupção e o tipo de limite de tempo:

  • O carimbo de data/hora de encerramento de uma VM ( terminationTimestamp ) é um campo somente leitura que representa o tempo planejado para o encerramento automático e é definido automaticamente pelo Compute Engine sempre que uma VM tem um limite de tempo e entra no estado RUNNING .

  • O carimbo de data/hora de encerramento é apagado automaticamente sempre que uma VM é interrompida ou suspensa . No entanto, um carimbo de data/hora de encerramento não muda quando você reinicia ou reinicia a VM .

  • O carimbo de data/hora de encerramento é redefinido automaticamente sempre que a VM é reiniciada ou retomada com base no tipo de limite de tempo definido:

    • Se você definir uma duração para a VM, o carimbo de data/hora de término será recalculado adicionando essa duração ao horário de início mais recente da VM.
    • Se você definir um horário para a VM, o carimbo de data/hora de encerramento será definido para esse horário. Contudo, o tempo deve estar no futuro; caso contrário, quaisquer solicitações para criar ou executar novamente a VM falharão até que você atualize ou remova o horário.

Defina uma duração

Uma duração representa o tempo total de execução desejado para uma VM. Para criar uma VM que seja encerrada automaticamente após a execução da VM por um período específico, use o console do Google Cloud, a CLI do Google Cloud, o Terraform ou a API Compute Engine.

Console

  1. No console do Google Cloud, acesse a página Criar uma instância .

    Vá para Criar uma instância

  2. Na seção Políticas de disponibilidade , expanda configurações avançadas do modelo de provisionamento de VM .

  3. Marque a caixa de seleção Definir um limite de tempo para a VM . O campo Tipo de limite de tempo é exibido.

  4. No campo Tipo de limite de tempo , selecione Por horas (padrão) para especificar o limite de tempo como duração. No campo a seguir, insira a duração em horas.

  5. Na lista Na terminação da VM , selecione o que acontece quando o tempo de execução da VM atinge o limite de tempo especificado:

    • Para parar automaticamente a VM, selecione Parar (padrão).
    • Para excluir a VM, selecione Excluir .
  6. Opcional: Especifique outras opções de VM. Para obter mais informações, consulte Criando e iniciando uma instância de VM .

  7. Para criar e iniciar a VM, clique em Criar .

gcloud

Para criar uma VM a partir da CLI gcloud, use o comando gcloud compute instances create .

  • Para criar uma VM que seja encerrada automaticamente após uma duração específica, você deve incluir o sinalizador --max-run-duration .
  • Para especificar a ação de encerramento, inclua o sinalizador --instance-termination-action .
  • Configure o sinalizador --discard-local-ssds-at-termination-timestamp :
    • Se a VM tiver SSDs locais e a ação de encerramento ( TERMINATION_ACTION ) for stop ( STOP ), você deverá incluir o --discard-local-ssds-at-termination-timestamp=true .
    • Caso contrário, omita o sinalizador --discard-local-ssds-at-termination-timestamp .
gcloud compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Substitua o seguinte:

  • VM_NAME : o nome da nova VM.
  • DURATION : a duração que você deseja que esta VM seja executada antes de ser encerrada automaticamente. Formate a duração como o número de dias, horas, minutos e segundos seguidos por d , h , m e s respectivamente. Por exemplo, especifique 30m para uma duração de 30 minutos ou especifique 1d2h3m4s para uma duração de 1 dia, 2 horas, 3 minutos e 4 segundos. A duração mínima é de 30 segundos ( 30s ) e a duração máxima é de 120 dias ( 120d ).
  • TERMINATION_ACTION : a ação de encerramento desta VM, que pode ser parar ( STOP ) ou excluir ( DELETE ). Se este campo é obrigatório ou tem um valor padrão varia de acordo com o modelo de provisionamento da VM:
    • Se esta for uma VM Spot (se a VM usar o sinalizador --provisioning-model=SPOT ), o sinalizador --instance-termination-action= TERMINATION_ACTION será opcional. Se esse sinalizador for omitido, a ação de encerramento padrão será parada.
    • Caso contrário (padrão), o sinalizador --instance-termination-action= TERMINATION_ACTION é obrigatório.

Para obter mais informações sobre outras opções que você pode especificar ao criar uma VM, consulte Criando e iniciando uma instância de VM .

Terraforma

Para criar uma VM usando Terraform, use o recurso google_compute_instance .

  • Para criar uma VM que seja encerrada automaticamente após uma duração específica, você deve incluir o argumento max_run_duration .
  • Para especificar a ação de encerramento, inclua o argumento instance_termination_action . Você deve incluir o argumento instance_termination_action , a menos que esteja criando uma VM Spot (defina o argumento provisioning_model como SPOT ), cujo padrão é stop ( STOP ).
  • Configure o argumento on_instance_stop_action :
    • Se a VM tiver SSDs locais e a ação de encerramento ( argumento instance_termination_action ) for stop ( STOP ), você deverá definir o argumento on_instance_stop_action como true ( true ).
    • Caso contrário, omita o argumento on_instance_stop_action .

Para obter mais informações, consulte a documentação do Terraform para o recurso google_compute_instance .

DESCANSAR

Para criar uma VM a partir da API Compute Engine, use o método instances.insert . Você deve especificar um nome, tipo de máquina e disco de inicialização para a VM.

Para criar uma VM que seja encerrada automaticamente após um período específico, você deve incluir o campo maxRunDuration . Para especificar a ação de encerramento, inclua o campo instanceTerminationAction , que é opcional para VMs 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"
  },
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto no qual criar a VM.
  • ZONE : a zona na qual criar a VM. A zona também deve oferecer suporte ao tipo de máquina a ser usada para a nova VM.
  • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para a nova VM.
  • VM_NAME : o nome da nova VM.
  • IMAGE_PROJECT : O projeto que contém a imagem . Por exemplo, se você especificar family/debian-10 como imagem, especifique debian-cloud como projeto de imagem.
  • IMAGE : A imagem da nova VM. Você pode especificar uma versão específica de uma imagem pública ou uma família de imagens . Por exemplo, se você especificar family/debian-10 como imagem e debian-cloud como projeto de imagem, o Compute Engine criará uma VM a partir da versão mais recente da imagem do sistema operacional na família de imagens Debian 10.
  • DURATION : a duração em segundos que você deseja que esta VM seja executada antes de ser encerrada automaticamente. A duração mínima é de 30 segundos ( 30s ) e a duração máxima é de 120 dias ( 120d ).
  • TERMINATION_ACTION : a ação de encerramento desta VM, que pode ser parar ( STOP ) ou excluir ( DELETE ). Se este campo é obrigatório ou tem um valor padrão varia de acordo com o modelo de provisionamento da VM:
    • Se esta for uma VM Spot (se a VM usar o campo "provisioningModel": "SPOT" ), o campo "instanceTerminationAction": " TERMINATION_ACTION " será opcional. Se este campo for omitido, a ação de encerramento padrão será parada.
    • Caso contrário (padrão), o campo "instanceTerminationAction": " TERMINATION_ACTION " é obrigatório.

Para obter mais informações sobre as opções que você pode especificar ao criar uma VM, consulte Criando e iniciando uma instância de VM .

Defina um horário

Uma hora representa a data, a hora e o fuso horário em que você deseja que uma VM seja encerrada. Para criar uma VM que seja encerrada automaticamente em um horário específico, use o console do Google Cloud, a Google Cloud CLI ou a API Compute Engine.

Console

  1. No console do Google Cloud, acesse a página Criar uma instância .

    Vá para Criar uma instância

  2. Na seção Políticas de disponibilidade , expanda configurações avançadas do modelo de provisionamento de VM .

  3. Marque a caixa de seleção Definir um limite de tempo para a VM . O campo Tipo de limite de tempo é exibido.

  4. No campo Tipo de limite de tempo , selecione Por data para especificar o limite de tempo como hora e data. No campo a seguir, clique em Selecione data e hora e selecione a data, hora e fuso horário para o limite de tempo.

  5. Na lista Na terminação da VM , selecione o que acontece quando o tempo de execução da VM atinge o limite de tempo especificado:

    • Para parar automaticamente a VM, selecione Parar (padrão).
    • Para excluir a VM, selecione Excluir .
  6. Opcional: Especifique outras opções de VM. Para obter mais informações, consulte Criando e iniciando uma instância de VM .

  7. Para criar e iniciar a VM, clique em Criar .

gcloud

Para criar uma VM a partir da CLI gcloud, use o comando gcloud compute instances create .

  • Para criar uma VM que seja encerrada automaticamente em um horário específico, você deve incluir o sinalizador --termination-time .
  • Para especificar a ação de encerramento, inclua o sinalizador --instance-termination-action , que é opcional para VMs Spot.
  • Configure o sinalizador --discard-local-ssds-at-termination-timestamp :
    • Se a VM tiver SSDs locais e definir a ação de encerramento ( TERMINATION_ACTION ) como parada ( STOP ), você deverá incluir o sinalizador --discard-local-ssds-at-termination-timestamp=true .
    • Caso contrário, omita o sinalizador --discard-local-ssds-at-termination-timestamp .
gcloud compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Substitua o seguinte:

  • VM_NAME : o nome da nova VM.
  • TIME : A hora em que você deseja que esta VM seja encerrada automaticamente. O tempo especificado deve ser de pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate a hora como um carimbo de data/hora RFC 3339 :

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua o seguinte:

    • YYYY-MM-DD : uma data formatada como ano de 4 dígitos, mês de 2 dígitos e dia do mês de 2 dígitos separados por hífens.
    • HH:MM:SS : uma hora formatada como uma hora de 2 dígitos usando o formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos separados por dois pontos.
    • OFFSET : O fuso horário formatado como um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é 8 horas antes do UTC, especifique -08:00 . Como alternativa, para não usar deslocamento (UTC+0), especifique Z .
  • TERMINATION_ACTION : a ação de encerramento desta VM, que pode ser parar ( STOP ) ou excluir ( DELETE ). Se este campo é obrigatório ou tem um valor padrão varia de acordo com o modelo de provisionamento da VM:

    • Se esta for uma VM Spot (se a VM usar o sinalizador --provisioning-model=SPOT ), o sinalizador --instance-termination-action= TERMINATION_ACTION será opcional. Se esse sinalizador for omitido, a ação de encerramento padrão será parada.
    • Caso contrário (padrão), o sinalizador --instance-termination-action= TERMINATION_ACTION é obrigatório.

Para obter mais informações sobre outras opções que você pode especificar ao criar uma VM, consulte Criando e iniciando uma instância de VM .

DESCANSAR

Para criar uma VM a partir da API Compute Engine, use o método instances.insert . Você deve especificar um nome, tipo de máquina e disco de inicialização para a VM.

Para criar uma VM que seja encerrada automaticamente em um horário específico, você deve incluir o campo terminationTime . Para especificar a ação de encerramento, inclua o campo instanceTerminationAction , que é opcional para VMs 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"
  },
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto no qual criar a VM.
  • ZONE : a zona na qual criar a VM. A zona também deve oferecer suporte ao tipo de máquina a ser usada para a nova VM.
  • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para a nova VM.
  • VM_NAME : o nome da nova VM.
  • IMAGE_PROJECT : O projeto que contém a imagem . Por exemplo, se você especificar family/debian-10 como imagem, especifique debian-cloud como projeto de imagem.
  • IMAGE : A imagem da nova VM. Você pode especificar uma versão específica de uma imagem pública ou uma família de imagens . Por exemplo, se você especificar family/debian-10 como imagem e debian-cloud como projeto de imagem, o Compute Engine criará uma VM a partir da versão mais recente da imagem do sistema operacional na família de imagens Debian 10.
  • TIME : A hora em que você deseja que esta VM seja encerrada automaticamente. O tempo especificado deve ser de pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate a hora como um carimbo de data/hora RFC 3339 :

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua o seguinte:

    • YYYY-MM-DD : uma data formatada como ano de 4 dígitos, mês de 2 dígitos e dia do mês de 2 dígitos separados por hífens.
    • HH:MM:SS : uma hora formatada como uma hora de 2 dígitos usando o formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos separados por dois pontos.
    • OFFSET : O fuso horário formatado como um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é 8 horas antes do UTC, especifique -08:00 . Como alternativa, para não usar deslocamento (UTC+0), especifique Z .
  • TERMINATION_ACTION : a ação de encerramento desta VM, que pode ser parar ( STOP ) ou excluir ( DELETE ). Se este campo é obrigatório ou tem um valor padrão varia de acordo com o modelo de provisionamento da VM::

    • Se esta for uma VM Spot (se a VM usar o campo "provisioningModel": "SPOT" ), o campo "instanceTerminationAction": " TERMINATION_ACTION " será opcional. Se este campo for omitido, a ação de encerramento padrão será parada.
    • Caso contrário (padrão), o campo "instanceTerminationAction": " TERMINATION_ACTION " é obrigatório.

Para obter mais informações sobre as opções que você pode especificar ao criar uma VM, consulte Criando e iniciando uma instância de VM .

Limite o tempo de execução de uma VM existente

Você pode limitar o tempo de execução de uma VM existente atualizando a programação da VM. Se você ainda não entende como definir as configurações de limites de tempo, revise primeiro as seções anteriores sobre como limitar o tempo de execução de uma nova VM .

Você pode usar o console do Google Cloud, a CLI do Google Cloud ou a API Compute Engine para atualizar as propriedades relacionadas à programação da VM, conforme descrito nesta seção. Este método requer que você primeiro pare sua VM, depois atualize suas propriedades e, em seguida, reinicie-a. Como alternativa, se você quiser atualizar simultaneamente propriedades adicionais da VM e parar e reiniciar automaticamente uma VM, consulte Atualizar propriedades da instância .

Console

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Na coluna Nome , clique no nome da VM que você deseja atualizar.

  3. Na página de detalhes da instância de VM , conclua as etapas a seguir:

    1. Se a VM estiver em execução, clique em Parar para interrompê-la.
    2. Para editar a VM, clique em Editar .
    3. Na página Editar instância , conclua as etapas a seguir:

      1. Na seção Políticas de disponibilidade , modifique a caixa de seleção Definir um limite de tempo para a VM e quaisquer campos abaixo dela conforme desejado.

        Para obter mais informações sobre como configurar as propriedades para limites de tempo, consulte limitar o tempo de execução de uma nova VM .

      2. Para salvar suas alterações, clique em Salvar .

    4. Opcional: se quiser começar a executar a VM agora, clique em Iniciar .

gcloud

Para atualizar o limite de tempo de uma VM usando a CLI gcloud, execute as seguintes etapas:

  1. Se a VM estiver em execução, interrompa-a usando o comando gcloud compute instances stop :

    gcloud compute instances stop VM_NAME
    

    Substitua VM_NAME pelo nome da VM que você deseja atualizar.

  2. Atualize o limite de tempo da VM usando o 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
    

    Configure os seguintes sinalizadores:

    • Você deve omitir o sinalizador --max-run-duration ou o sinalizador --termination-time para definir o limite de tempo como tempo ou duração, respectivamente.
    • Inclua o sinalizador --instance-termination-action para definir a ação de encerramento.
    • Se a VM tiver SSDs locais e definir a ação de encerramento ( TERMINATION_ACTION ) como parada ( STOP ), você deverá incluir o sinalizador --discard-local-ssds-at-termination-timestamp=true . Caso contrário, omita o --discard-local-ssds-at-termination-timestamp=true .

    Em seguida, substitua o seguinte:

    • VM_NAME : o nome da VM que você deseja atualizar.
    • DURATION : a duração que você deseja que esta VM seja executada antes de ser encerrada automaticamente. Formate a duração como o número de dias, horas, minutos e segundos seguidos por d , h , m e s respectivamente. Por exemplo, especifique 30m para uma duração de 30 minutos ou especifique 1d2h3m4s para uma duração de 1 dia, 2 horas, 3 minutos e 4 segundos. A duração mínima é de 30 segundos ( 30s ) e a duração máxima é de 120 dias ( 120d ).
    • TIME : A hora em que você deseja que esta VM seja encerrada automaticamente. O tempo especificado deve ser de pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate a hora como um carimbo de data/hora RFC 3339 :

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Substitua o seguinte:

      • YYYY-MM-DD : uma data formatada como ano de 4 dígitos, mês de 2 dígitos e dia do mês de 2 dígitos separados por hífens.
      • HH:MM:SS : uma hora formatada como uma hora de 2 dígitos usando o formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos separados por dois pontos.
      • OFFSET : o fuso horário formatado como um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é 8 horas antes do UTC, especifique -08:00 . Como alternativa, para não usar deslocamento (UTC+0), especifique Z .
    • TERMINATION_ACTION : a ação de encerramento desta VM, que pode ser parar ( STOP ) ou excluir ( DELETE ). Se este campo é obrigatório ou tem um valor padrão varia de acordo com o modelo de provisionamento da VM:

      • Se esta for uma VM Spot (se a VM usar o sinalizador --provisioning-model=SPOT ), o sinalizador --instance-termination-action= TERMINATION_ACTION será opcional. Se esse sinalizador for omitido, a ação de encerramento padrão será parada.
      • Caso contrário (padrão), o sinalizador --instance-termination-action= TERMINATION_ACTION é obrigatório.
  3. Se você quiser que a VM comece a ser executada, inicie-a usando o comando gcloud compute instances start :

    gcloud compute instances start VM_NAME
    

    Substitua VM_NAME pelo nome da VM.

DESCANSAR

Para atualizar o limite de tempo de uma VM usando a API Compute Engine, siga estas etapas:

  1. Se a VM estiver em execução, interrompa-a usando o método instances.stop :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a VM.
    • ZONE : A zona que contém a VM.
    • VM_NAME : o nome da VM que você deseja atualizar.
  2. Atualize a propriedade scheduling da VM, incluindo campos para o limite de tempo da VM, usando o método instances.setScheduling . Inclua o campo maxRunDuration ou o campo terminationTime para definir o limite de tempo como duração ou tempo, respectivamente:

    • Para definir uma duração , use a seguinte solicitação:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "maxRunDuration":
        {
          "seconds": DURATION
        },
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      
    • Para definir um horário , use a seguinte solicitação:

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

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto no qual criar a VM.
    • ZONE : a zona na qual criar a VM. A zona também deve oferecer suporte ao tipo de máquina a ser usada para a nova VM.
    • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para a nova VM.
    • VM_NAME : o nome da nova VM.
    • IMAGE_PROJECT : O projeto que contém a imagem . Por exemplo, se você especificar family/debian-10 como imagem, especifique debian-cloud como projeto de imagem.
    • IMAGE : A imagem da nova VM. Você pode especificar uma versão específica de uma imagem pública ou uma família de imagens . Por exemplo, se você especificar family/debian-10 como imagem e debian-cloud como projeto de imagem, o Compute Engine criará uma VM a partir da versão mais recente da imagem do sistema operacional na família de imagens Debian 10.
    • DURATION : a duração em segundos que você deseja que esta VM seja executada antes de ser encerrada automaticamente. A duração mínima é de 30 segundos ( 30s ) e a duração máxima é de 120 dias ( 120d ).
    • TIME : A hora em que você deseja que esta VM seja encerrada automaticamente. O tempo especificado deve ser de pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate a hora como um carimbo de data/hora RFC 3339 :

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Substitua o seguinte:

      • YYYY-MM-DD : uma data formatada como ano de 4 dígitos, mês de 2 dígitos e dia do mês de 2 dígitos separados por hífens.
      • HH:MM:SS : uma hora formatada como uma hora de 2 dígitos usando o formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos separados por dois pontos.
      • OFFSET : O fuso horário formatado como um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é 8 horas antes do UTC, especifique -08:00 . Como alternativa, para não usar deslocamento (UTC+0), especifique Z .
    • TERMINATION_ACTION : a ação de encerramento desta VM, que pode ser parar ( STOP ) ou excluir ( DELETE ). Se este campo é obrigatório ou tem um valor padrão varia de acordo com o modelo de provisionamento da VM:

      • Se esta for uma VM Spot (se a VM usar o campo "provisioningModel": "SPOT" ), o campo "instanceTerminationAction": " TERMINATION_ACTION " será opcional. Se este campo for omitido, a ação de encerramento padrão será parada.
      • Caso contrário (padrão), o campo "instanceTerminationAction": " TERMINATION_ACTION " é obrigatório.
  3. Se você deseja que a VM comece a ser executada, inicie-a usando o método instances.start :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a VM.
    • ZONE : a zona que contém a VM.
    • VM_NAME : o nome da VM.

Monitore o tempo de execução de uma VM

Você pode monitorar o tempo de execução de uma VM que tem limite de tempo usando as seguintes opções:

  • Para ver quando uma VM em execução está programada para ser encerrada automaticamente, veja o carimbo de data/hora de encerramento da VM:

    1. Veja os detalhes de uma VM .
    2. Na saída, visualize o campo da VM para o carimbo de data/hora de encerramento:
      • Se você estiver usando o console do Google Cloud, consulte o campo Duração máxima .
      • Se você estiver usando a CLI do Google Cloud ou a API Compute Engine, consulte o campo terminationTimestamp .
  • Para verificar se uma VM foi encerrada automaticamente, veja as operações da VM:

    1. Veja as operações da VM .
    2. Na saída, você pode identificar operações de VM causadas por um limite de tempo procurando os seguintes tipos de operações:

      • compute.instances.deferredStop indica uma ação de encerramento automático de parada
      • compute.instances.deferredDelete indica uma ação de encerramento automático de exclusão

O que vem a seguir