Limitar o ambiente de execução de uma VM


Neste documento, explicamos como limitar o ambiente de execução de instâncias de máquina virtual (VM) novas ou atuais e como monitorar o ambiente de execução delas. 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 o encerramento (interrompido ou excluída) automaticamente quando ela atingir um limite de tempo específico (duração ou tempo). Use limites de tempo para 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 interromper imediatamente uma VM, consulte Interromper ou reiniciar uma VM. Para saber como excluir imediatamente uma VM, consulte Excluir uma VM.

Antes de começar

  • Para ter as permissões necessárias para limitar o tempo de execução de uma VM, peça ao administrador para conceder a você o acesso Administrador da instância da computação (v1) (roles/compute.instanceAdmin.v1) papel do IAM no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se 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. Install the Google Cloud CLI, then initialize it by running the following command:

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      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 precisa ser parar ou excluir. Não é possível configurar uma VM para ser suspensa automaticamente quando o limite de tempo for atingido.

  • O limite de tempo mínimo é de 30 segundos, e o 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 o processo de interrupção ou exclusão da VM.

  • Não é possível usar limites de tempo com VMs preemptivas legadas. 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 mais informações, consulte Interromper uma VM com SSD local.

Limitar o ambiente de execução de uma nova VM

Nas seções a seguir, descrevemos como configurar um limite de tempo ao criar uma nova VM. É possível especificar o limite de tempo, que é para quando você quer que a 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 ela pode ser interrompida, por exemplo, por uma solicitação do usuário ou um evento de host. O comportamento de um limite de tempo varia de acordo com o tipo de interrupção e de tempo:

  • O carimbo de data/hora de encerramento (terminationTimestamp) da VM é um campo somente leitura que representa o horário 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 é alterado quando você redefine ou reinicializa 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 que você definir:

    • Se você definir uma duração para a VM, o carimbo de data/hora de encerramento 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á esse horário. No entanto, o horário precisa estar no futuro. Caso contrário, qualquer solicitação para criar ou executar a VM novamente falhará até que você atualize ou remova o horário.

Definir uma duração

Uma duração representa o tempo total de execução que você quer para uma VM. Para criar uma VM que é encerrada de modo automático após ser executada por uma duração específica, use o console do Google Cloud, a CLI do Google Cloud, Terraform ou a API Compute Engine.

Console

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

    Acesse "Criar uma instância"

  2. Na seção Políticas de disponibilidade, abra 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 uma duração. No campo a seguir, insira a duração em horas.

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

    • Para encerrar a VM de modo automático, selecione Parar (padrão).
    • Para excluir a VM, selecione Excluir.
  6. Opcional: especifique outras opções de VM. Para mais informações, consulte Como criar e iniciar 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 é encerrada automaticamente após um período específico, inclua a sinalização --max-run-duration.
  • Para especificar a ação de encerramento, inclua a flag --instance-termination-action.
  • Configure a sinalização --discard-local-ssds-at-termination-timestamp:
    • Se a VM tiver SSDs locais e a ação de encerramento (TERMINATION_ACTION) for interromper (STOP), inclua a sinalização --discard-local-ssds-at-termination-timestamp=true.
    • Caso contrário, omita a sinalização --discard-local-ssds-at-termination-timestamp.
gcloud compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Substitua:

  • VM_NAME: o nome da nova VM.
  • DURATION: a duração desejada para a execução da VM antes de ela ser encerrada de modo automático. 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 um dia, duas horas, três minutos e quatro segundos. A duração mínima é de 30 segundos (30s) e a máxima é de 120 dias (120d).
  • TERMINATION_ACTION: a ação de encerramento da VM, que pode ser uma ação de parada (STOP) ou exclusão (DELETE). A imposição desse campo como obrigatório ou a inclusão de um valor padrão para ele variam com base no modelo de provisionamento da VM:
    • Se for uma VM spot (se a VM usar o flag --provisioning-model=SPOT), o flag --instance-termination-action=TERMINATION_ACTION será opcional. Se esse flag for omitida, a ação de encerramento padrão será interrompida.
    • Caso contrário, o padrão é o sinalização --instance-termination-action=TERMINATION_ACTION.

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

Terraform

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

  • Para criar uma VM que seja encerrada de modo automático após um período específico, inclua o argumento max_run_duration.
  • Para especificar a ação de encerramento, inclua o argumento instance_termination_action. É necessário incluir o argumento instance_termination_action, a menos que você esteja criando uma VM spot (defina o argumento provisioning_model como SPOT), que é o padrão para a interrupção (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 interromper (STOP), defina o argumento on_instance_stop_action como verdadeiro (true).
    • Caso contrário, omita o argumento on_instance_stop_action.

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

REST

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

Para criar uma VM que seja encerrada de modo automático após um período específico, inclua 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:

  • PROJECT_ID: o ID do projeto em que a VM será criada.
  • ZONE: a zona em que a VM será criada. A zona também precisa ser compatível com o tipo de máquina a ser usado na nova VM;
  • MACHINE_TYPE: o tipo de máquina predefinido ou personalizado da 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 a imagem, especifique debian-cloud como o projeto da 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 a imagem e debian-cloud como o projeto de imagem, o Compute Engine criará uma VM a partir da versão mais recente da imagem do SO na família de imagens Debian 10.
  • DURATION: a duração em segundos da execução dessa VM antes do encerramento automático. A duração mínima é de 30 segundos (30s) e a máxima é de 120 dias (120d).
  • TERMINATION_ACTION: a ação de encerramento da VM, que pode ser uma ação de parada (STOP) ou exclusão (DELETE). A imposição desse campo como obrigatório ou a inclusão de um valor padrão para ele variam com base no modelo de provisionamento da VM:
    • No caso de uma VM spot (quando ela usa o campo "provisioningModel": "SPOT"), o campo "instanceTerminationAction": "TERMINATION_ACTION" é opcional. Se esse campo for omitido, a ação de encerramento padrão será interrompida.
    • Caso contrário, como padrão, o campo "instanceTerminationAction": "TERMINATION_ACTION" é obrigatório.

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

Definir um tempo

Um tempo representa a data, a hora e o fuso horário em que você quer que a VM seja encerrada. Para criar uma VM que é encerrada automaticamente em um tempo 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.

    Acesse "Criar uma instância"

  2. Na seção Políticas de disponibilidade, abra 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 como um horário e data. No campo a seguir, clique em Selecionar data e hora e selecione a data, a hora e o fuso horário do limite de tempo.

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

    • Para encerrar a VM de modo automático, selecione Parar (padrão).
    • Para excluir a VM, selecione Excluir.
  6. Opcional: especifique outras opções de VM. Para mais informações, consulte Como criar e iniciar 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 é encerrada automaticamente em um horário específico, é preciso incluir a sinalização --termination-time.
  • Para especificar a ação de encerramento, inclua a sinalização --instance-termination-action, que é opcional para VMs do Spot.
  • Configure a sinalização --discard-local-ssds-at-termination-timestamp:
    • Se a VM tiver SSDs locais e definir a ação de encerramento (TERMINATION_ACTION) para interromper (STOP), inclua a sinalização --discard-local-ssds-at-termination-timestamp=true.
    • Caso contrário, omita a sinalização --discard-local-ssds-at-termination-timestamp.
gcloud compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Substitua:

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

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua:

    • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do mês, separado por hifens.
    • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando o horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos separados por hífens.
    • OFFSET: fuso horário formatado como um deslocamento Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é oito 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 o campo é obrigatório ou tem um valor padrão varia com base no modelo de provisionamento da VM:

    • Se for uma VM spot (se a VM usar o flag --provisioning-model=SPOT), o flag --instance-termination-action=TERMINATION_ACTION será opcional. Se esse flag for omitida, a ação de encerramento padrão será interrompida.
    • Caso contrário, o padrão é o flag --instance-termination-action=TERMINATION_ACTION.

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

REST

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

Para criar uma VM que é encerrada de modo automático em um horário específico, é preciso 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:

  • PROJECT_ID: o ID do projeto em que a VM será criada.
  • ZONE: a zona em que a VM será criada. A zona também precisa ser compatível com o tipo de máquina a ser usado na nova VM;
  • MACHINE_TYPE: o tipo de máquina predefinido ou personalizado da 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 a imagem, especifique debian-cloud como o projeto da 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 a imagem e debian-cloud como o projeto de imagem, o Compute Engine criará uma VM a partir da versão mais recente da imagem do SO na família de imagens Debian 10.
  • TIME: o tempo em que você quer que a VM seja encerrada automaticamente. O tempo especificado precisa ser pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate o tempo como um carimbo de data/hora RFC 3339:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua:

    • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do mês, separado por hifens.
    • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando o horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos separados por hífens.
    • OFFSET: fuso horário formatado como um deslocamento Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é oito 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 da VM, que pode ser uma ação de parada (STOP) ou exclusão (DELETE). A imposição desse campo como obrigatório ou a inclusão de um valor padrão para ele variam com base no modelo de provisionamento da VM:

    • No caso de uma VM spot (quando ela usa o campo "provisioningModel": "SPOT"), o campo "instanceTerminationAction": "TERMINATION_ACTION" é opcional. Se esse campo for omitido, a ação de encerramento padrão será interrompida.
    • Caso contrário, como padrão, o campo "instanceTerminationAction": "TERMINATION_ACTION" é obrigatório.

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

Limitar o ambiente de execução de uma VM existente

É possível limitar o ambiente de execução de uma VM atual atualizando a programação dela. Se você ainda não sabe como definir as configurações de limites de tempo, revise as seções anteriores sobre como limitar o tempo de execução de uma nova VM primeiro.

É possível 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. Esse método exige que você primeiro pare a VM para depois atualizar as propriedades e, em seguida, reiniciá-la. Como alternativa, para atualizar simultaneamente outras propriedades da VM e interromper e reiniciar automaticamente uma VM, consulte Atualizar propriedades da instância.

Console

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

    Acessar instâncias de VM

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

  3. Na página Detalhes da instância, siga estas etapas:

    1. Se a VM estiver em execução, clique em Parar.
    2. Para editar a VM, clique em Editar.
    3. Na página Editar instância, siga estas etapas:

      1. Na seção Políticas de disponibilidade, modifique a caixa de seleção Definir um limite de tempo para a VM e todos os campos abaixo dela como quiser.

        Para 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 as alterações, clique em Save.

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

gcloud

Para atualizar o limite de tempo de uma VM usando a CLI gcloud, siga estas 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 a ser atualizada.

  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 as seguintes sinalizações:

    • É necessário omitir a sinalização --max-run-duration ou --termination-time para definir o limite de tempo como um tempo ou uma duração, respectivamente.
    • Inclua a sinalização --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) para interromper (STOP), inclua a sinalização --discard-local-ssds-at-termination-timestamp=true. Caso contrário, omita a flag --discard-local-ssds-at-termination-timestamp=true.

    Em seguida, substitua o seguinte:

    • VM_NAME: o nome da VM que você quer atualizar.
    • DURATION: a duração desejada para a execução da VM antes de ela ser encerrada de modo automático. 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 um dia, duas horas, três minutos e quatro segundos. A duração mínima é de 30 segundos (30s) e a máxima é de 120 dias (120d).
    • TIME: o tempo em que você quer que a VM seja encerrada automaticamente. O tempo especificado precisa ser pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate o tempo como um carimbo de data/hora RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Substitua:

      • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do mês, separado por hifens.
      • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando o horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos separados por hífens.
      • OFFSET: fuso horário formatado como um deslocamento Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é oito 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 o campo é obrigatório ou tem um valor padrão varia com base no modelo de provisionamento da VM:

      • Se for uma VM spot (se a VM usar o flag --provisioning-model=SPOT), o flag --instance-termination-action=TERMINATION_ACTION será opcional. Se esse flag for omitida, a ação de encerramento padrão será interrompida.
      • Caso contrário, o padrão é o flag --instance-termination-action=TERMINATION_ACTION.
  3. Para 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.

REST

Para atualizar o limite de tempo de uma VM usando a API Compute Engine, conclua as seguintes 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:

    • 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ê quer atualizar.
  2. Atualize a propriedade scheduling da VM, incluindo os campos do limite de tempo da VM, usando o método instances.setScheduling. Inclua o campo maxRunDuration ou terminationTime para definir o limite de tempo como uma 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 tempo, 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:

    • PROJECT_ID: o ID do projeto em que a VM será criada.
    • ZONE: a zona em que a VM será criada. A zona também precisa ser compatível com o tipo de máquina a ser usado na nova VM;
    • MACHINE_TYPE: o tipo de máquina predefinido ou personalizado da 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 a imagem, especifique debian-cloud como o projeto da 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 a imagem e debian-cloud como o projeto de imagem, o Compute Engine criará uma VM a partir da versão mais recente da imagem do SO na família de imagens Debian 10.
    • DURATION: a duração em segundos da execução dessa VM antes do encerramento automático. A duração mínima é de 30 segundos (30s) e a máxima é de 120 dias (120d).
    • TIME: o tempo em que você quer que a VM seja encerrada automaticamente. O tempo especificado precisa ser pelo menos 30 segundos no futuro e no máximo 120 dias no futuro. Formate o tempo como um carimbo de data/hora RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Substitua:

      • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do mês, separado por hifens.
      • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando o horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos separados por hífens.
      • OFFSET: fuso horário formatado como um deslocamento Tempo Universal Coordenado (UTC). Por exemplo, para usar o Horário Padrão do Pacífico (PST), que é oito 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 o campo é obrigatório ou tem um valor padrão varia com base no modelo de provisionamento da VM:

      • No caso de uma VM spot (quando ela usa o campo "provisioningModel": "SPOT"), o campo "instanceTerminationAction": "TERMINATION_ACTION" é opcional. Se esse campo for omitido, a ação de encerramento padrão será interrompida.
      • Caso contrário, como padrão, o campo "instanceTerminationAction": "TERMINATION_ACTION" é obrigatório.
  3. Para 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:

Monitorar o ambiente de execução de uma VM

É possível monitorar o ambiente de execução de uma VM que tem um limite de tempo usando as seguintes opções:

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

    1. Ver os detalhes de uma VM
    2. Na saída, confira 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, confira as operações dela:

    1. Ver as operações da VM.
    2. Na saída, é possível 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.
      • compute.instances.deferredDelete indica uma ação de encerramento automático de exclusão.

A seguir