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 (VMs) novas ou existentes e como monitorizar o tempo de execução dessas VMs. Para grupos de instâncias geridas (MIGs), consulte o artigo Limite o tempo de execução de um MIG em alternativa.

Quando limita o tempo de execução de uma VM, pode agendar a VM para ser automaticamente terminada (parada ou eliminada) quando atingir um limite de tempo específico (duração ou hora). Use limites de tempo para ajudar a otimizar as cargas de trabalho temporárias. Ao limitar automaticamente os tempos de execução das VMs, pode ajudar a minimizar os custos e libertar quotas.

Para saber como parar imediatamente uma VM, consulte o artigo Parar ou reiniciar uma VM. Para saber como eliminar imediatamente uma VM, consulte o artigo Elimine uma VM.

Antes de começar

  • Para receber as autorizações de que precisa para limitar o tempo de execução de uma VM, peça ao seu administrador para lhe conceder a função IAM Administrador de instâncias do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init
    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

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

Restrições

A limitação do tempo de execução de uma VM tem as seguintes restrições:

  • A ação de rescisão automática tem de ser parar ou eliminar. Não pode 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 limite de tempo máximo é de 120 dias.

  • A terminação automática pode demorar até 30 segundos mais do que a duração ou o tempo especificado para começar a parar ou eliminar a VM.

  • Não pode usar limites de tempo com VMs preemptivas antigas. Em alternativa, use limites de tempo com VMs do Spot.

  • Não é possível preservar os dados do SSD local de uma VM quando esta é parada automaticamente devido a um limite de tempo. Para mais informações, consulte o artigo Pare uma VM com um SSD local.

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

As secções seguintes descrevem como configurar um limite de tempo ao criar uma nova VM. Pode especificar o limite de tempo, ou seja, quando quer que uma VM termine automaticamente, como uma duração (maxRunDuration) ou uma hora (terminationTime).

Ao decidir o tipo de limite de tempo para uma VM, considere que a VM pode ser interrompida, por exemplo, por um pedido do utilizador ou por um evento do anfitrião. O comportamento de um limite de tempo varia com base no tipo de interrupção e no tipo de limite de tempo:

  • A data/hora de rescisão de uma VM (terminationTimestamp) é um campo de leitura que representa a hora planeada para a rescisão automática e é definida automaticamente pelo Compute Engine sempre que uma VM tem um limite de tempo e entra no estado RUNNING.

  • A data/hora de rescisão é limpa automaticamente sempre que uma VM é parada ou suspensa. No entanto, a data/hora de encerramento não é alterada quando repõe ou reinicia a VM.

  • A data/hora de rescisão é redefinida automaticamente sempre que a VM é reiniciada ou retomada com base no tipo de limite de tempo que definir:

    • Se definir uma duração para a VM, a data/hora de rescisão é recalculada adicionando essa duração à data/hora de início mais recente da VM.
    • Se definir uma hora para a VM, a data/hora de encerramento é definida para essa hora. No entanto, a hora tem de ser no futuro. Caso contrário, todos os pedidos para criar ou executar novamente a VM falham até atualizar ou remover a hora.

Defina uma duração

Uma duração representa o tempo de execução total que quer para uma MV. Para criar uma VM que é terminada automaticamente após a VM ser executada durante um período específico, use a consola, a CLI Google Cloud, o Terraform ou a API Compute Engine. Trusted Cloud

Consola

  1. Na Trusted Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. Na secção Políticas de disponibilidade, expanda as Definições avançadas do modelo de aprovisionamento de VMs.

  3. Selecione a caixa de verificação Definir um limite de tempo para a VM. É apresentado o campo Tipo de limite de tempo.

  4. No campo Tipo de limite de tempo, selecione Por horas (predefinição) para especificar o limite de tempo como uma duração. No campo seguinte, introduza a duração em horas.

  5. Na lista On VM termination, 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 (predefinição).
    • Para eliminar a VM, selecione Eliminar.
  6. Opcional: especifique outras opções da VM. Para mais informações, consulte o artigo 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 seja terminada automaticamente após uma duração específica, tem de incluir a flag --max-run-duration.
  • Para especificar a ação de rescisão, inclua a flag --instance-termination-action.
  • Configure a flag --discard-local-ssds-at-termination-timestamp:
    • Se a VM tiver SSDs locais e a ação de encerramento (TERMINATION_ACTION) for parar (STOP), tem de incluir a flag --discard-local-ssds-at-termination-timestamp=true.
    • Caso contrário, omita a flag --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 durante a qual quer que esta VM seja executada antes de ser terminada automaticamente. Formate a duração como o número de dias, horas, minutos e segundos seguido de d, h, m e s, respetivamente. 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 rescisão para esta VM, que pode ser parar (STOP) ou eliminar (DELETE). Se este campo é obrigatório ou tem um valor predefinido varia consoante o modelo de aprovisionamento da VM:
    • Se for uma VM de spot (se a VM usar a flag --provisioning-model=SPOT), a flag --instance-termination-action=TERMINATION_ACTION é opcional. Se esta flag for omitida, a ação de encerramento predefinida é stop.
    • Caso contrário (predefinição), a flag --instance-termination-action=TERMINATION_ACTION é obrigatória.

Para mais informações sobre outras opções que pode especificar quando cria uma VM, consulte o artigo Criar e iniciar uma instância de VM.

Terraform

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

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. Tem de especificar um nome, um tipo de máquina e um disco de arranque para a VM.

Para criar uma VM que seja terminada automaticamente após uma duração específica, tem de 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 do projeto no qual criar a VM.
  • ZONE: a zona onde criar a VM. A zona também tem de suportar o tipo de máquina a usar 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 especificar family/debian-10 como a imagem, especifique debian-cloud como o projeto de imagem.
  • IMAGE: a imagem para a nova VM. Pode especificar uma versão específica de uma imagem pública ou uma família de imagens. Por exemplo, se especificar family/debian-10 como a imagem e debian-cloud como o projeto de imagem, o Compute Engine cria uma VM a partir da versão mais recente da imagem do SO na família de imagens do Debian 10.
  • DURATION: a duração em segundos que quer que esta VM seja executada antes de ser terminada 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 rescisão para esta VM, que pode ser parar (STOP) ou eliminar (DELETE). Se este campo é obrigatório ou tem um valor predefinido varia consoante o modelo de aprovisionamento da VM:
    • Se for uma VM de Spot (se a VM usar o campo "provisioningModel": "SPOT"), o campo "instanceTerminationAction": "TERMINATION_ACTION" é opcional. Se este campo for omitido, a ação de encerramento predefinida é parar.
    • Caso contrário (predefinição), o campo "instanceTerminationAction": "TERMINATION_ACTION" é obrigatório.

Para mais informações sobre as opções que pode especificar quando cria uma VM, consulte o artigo Criar e iniciar uma instância de VM.

Defina uma hora

Uma hora representa a data, a hora e o fuso horário em que quer que uma VM seja terminada. Para criar uma VM que é terminada automaticamente a uma hora específica, use a consola, a CLI do Google Cloud ou a API Compute Engine. Trusted Cloud

Consola

  1. Na Trusted Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. Na secção Políticas de disponibilidade, expanda as Definições avançadas do modelo de aprovisionamento de VMs.

  3. Selecione a caixa de verificação Definir um limite de tempo para a VM. É apresentado o campo Tipo de limite de tempo.

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

  5. Na lista On VM termination, 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 (predefinição).
    • Para eliminar a VM, selecione Eliminar.
  6. Opcional: especifique outras opções da VM. Para mais informações, consulte o artigo 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 seja terminada automaticamente a uma hora específica, tem de incluir a flag --termination-time.
  • Para especificar a ação de rescisão, inclua a flag --instance-termination-action, que é opcional para VMs de opção.
  • Configure a flag --discard-local-ssds-at-termination-timestamp:
    • Se a VM tiver SSDs locais e definir a ação de encerramento (TERMINATION_ACTION) para parar (STOP), tem de incluir a flag --discard-local-ssds-at-termination-timestamp=true.
    • Caso contrário, omita a flag --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 quer que esta VM seja terminada automaticamente. A hora especificada tem de ser, pelo menos, 30 segundos no futuro e, no máximo, 120 dias no futuro. Formate a hora como uma indicação de tempo RFC 3339:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua o seguinte:

    • YYYY-MM-DD: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos separados por hífenes.
    • HH:MM:SS: Uma hora formatada como uma hora de 2 dígitos usando a hora 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 desvio do Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), que é 8 horas anterior à UTC, especifique -08:00. Em alternativa, para não usar nenhuma diferença (UTC+0), especifique Z.
  • TERMINATION_ACTION: A ação de rescisão para esta VM, que pode ser parar (STOP) ou eliminar (DELETE). Se este campo é obrigatório ou tem um valor predefinido varia consoante o modelo de aprovisionamento da VM:

    • Se for uma VM de spot (se a VM usar a flag --provisioning-model=SPOT), a flag --instance-termination-action=TERMINATION_ACTION é opcional. Se esta flag for omitida, a ação de encerramento predefinida é stop.
    • Caso contrário (predefinição), a flag --instance-termination-action=TERMINATION_ACTION é obrigatória.

Para mais informações sobre outras opções que pode especificar quando cria uma VM, consulte o artigo 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. Tem de especificar um nome, um tipo de máquina e um disco de arranque para a VM.

Para criar uma VM que seja terminada automaticamente a uma hora específica, tem de 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 do projeto no qual criar a VM.
  • ZONE: a zona onde criar a VM. A zona também tem de suportar o tipo de máquina a usar 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 especificar family/debian-10 como a imagem, especifique debian-cloud como o projeto de imagem.
  • IMAGE: a imagem para a nova VM. Pode especificar uma versão específica de uma imagem pública ou uma família de imagens. Por exemplo, se especificar family/debian-10 como a imagem e debian-cloud como o projeto de imagem, o Compute Engine cria uma VM a partir da versão mais recente da imagem do SO na família de imagens do Debian 10.
  • TIME: a hora em que quer que esta VM seja terminada automaticamente. A hora especificada tem de ser, pelo menos, 30 segundos no futuro e, no máximo, 120 dias no futuro. Formate a hora como uma indicação de tempo RFC 3339:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua o seguinte:

    • YYYY-MM-DD: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos separados por hífenes.
    • HH:MM:SS: Uma hora formatada como uma hora de 2 dígitos usando a hora 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 desvio do Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), que é 8 horas anterior à UTC, especifique -08:00. Em alternativa, para não usar nenhuma diferença (UTC+0), especifique Z.
  • TERMINATION_ACTION: A ação de rescisão para esta VM, que pode ser parar (STOP) ou eliminar (DELETE). Se este campo é obrigatório ou tem um valor predefinido varia consoante o modelo de aprovisionamento da VM::

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

Para mais informações sobre as opções que pode especificar quando cria uma VM, consulte o artigo Criar e iniciar uma instância de VM.

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

Pode limitar o tempo de execução de uma VM existente atualizando a agenda da VM. Se ainda não souber como configurar as definições dos limites de tempo, reveja primeiro as secções anteriores sobre como limitar o tempo de execução de uma nova VM.

Pode usar a Trusted Cloud consola, a CLI do Google Cloud ou a API Compute Engine para atualizar as propriedades relacionadas com o agendamento da VM, conforme descrito nesta secção. Este método requer que pare primeiro a VM, atualize as respetivas propriedades e, em seguida, reinicie-a. Em alternativa, se quiser atualizar simultaneamente propriedades adicionais da VM e parar e reiniciar automaticamente uma VM, consulte o artigo Atualize as propriedades da instância.

Consola

  1. Na Trusted Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Na coluna Nome, clique no nome da MV que quer atualizar.

  3. Na página Detalhes da instância de VM, conclua os seguintes passos:

    1. Se a VM estiver em execução, clique em Parar para a parar.
    2. Para editar a VM, clique em Editar.
    3. Na página Editar instância, conclua os seguintes passos:

      1. Na secção Políticas de disponibilidade, modifique a caixa de verificação Definir um limite de tempo para a VM e todos os campos abaixo, conforme pretendido.

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

      2. Para guardar as alterações, clique em Guardar.

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

gcloud

Para atualizar o limite de tempo de uma VM através da CLI gcloud, conclua os seguintes passos:

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

    gcloud compute instances stop VM_NAME
    

    Substitua VM_NAME pelo nome da MV que quer atualizar.

  2. Atualize o limite de tempo da VM através do 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 flags:

    • Tem de omitir o sinalizador --max-run-duration ou o sinalizador --termination-time para definir o limite de tempo como um tempo ou uma duração, respetivamente.
    • Inclua a flag --instance-termination-action para definir a ação de encerramento.
    • Se a VM tiver SSDs locais e definir a ação de rescisão (TERMINATION_ACTION) para parar (STOP), tem de incluir a flag --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 quer atualizar.
    • DURATION: A duração durante a qual quer que esta VM seja executada antes de ser terminada automaticamente. Formate a duração como o número de dias, horas, minutos e segundos seguido de d, h, m e s, respetivamente. 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 quer que esta VM seja terminada automaticamente. A hora especificada tem de ser, pelo menos, 30 segundos no futuro e, no máximo, 120 dias no futuro. Formate a hora como uma indicação de tempo RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Substitua o seguinte:

      • YYYY-MM-DD: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos separados por hífenes.
      • HH:MM:SS: uma hora formatada como uma hora de 2 dígitos com 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 desvio do Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), que é 8 horas anterior à UTC, especifique -08:00. Em alternativa, para não usar nenhuma diferença (UTC+0), especifique Z.
    • TERMINATION_ACTION: A ação de rescisão para esta VM, que pode ser parar (STOP) ou eliminar (DELETE). Se este campo é obrigatório ou tem um valor predefinido varia consoante o modelo de aprovisionamento da VM:

      • Se for uma VM de spot (se a VM usar a flag --provisioning-model=SPOT), a flag --instance-termination-action=TERMINATION_ACTION é opcional. Se esta flag for omitida, a ação de encerramento predefinida é stop.
      • Caso contrário (predefinição), a flag --instance-termination-action=TERMINATION_ACTION é obrigatória.
  3. Se quiser que a VM comece a ser executada, inicie-a com 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 através da API Compute Engine, conclua os seguintes passos:

  1. Se a VM estiver em execução, pare-a através do 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 do projeto que contém a VM.
    • ZONE: A zona que contém a VM.
    • VM_NAME: o nome da VM que quer atualizar.
  2. Atualize a propriedade scheduling da VM, incluindo campos para o limite de tempo da VM, através do método instances.setScheduling. Inclua o campo maxRunDuration ou o campo terminationTime para definir o limite de tempo como uma duração ou uma hora, respetivamente:

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

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "maxRunDuration":
        {
          "seconds": DURATION
        },
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      
    • Para definir uma hora, use o seguinte pedido:

      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 do projeto no qual criar a VM.
    • ZONE: a zona onde criar a VM. A zona também tem de suportar o tipo de máquina a usar 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 especificar family/debian-10 como a imagem, especifique debian-cloud como o projeto de imagem.
    • IMAGE: a imagem para a nova VM. Pode especificar uma versão específica de uma imagem pública ou uma família de imagens. Por exemplo, se especificar family/debian-10 como a imagem e debian-cloud como o projeto de imagem, o Compute Engine cria uma VM a partir da versão mais recente da imagem do SO na família de imagens do Debian 10.
    • DURATION: a duração em segundos que quer que esta VM seja executada antes de ser terminada 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 quer que esta VM seja terminada automaticamente. A hora especificada tem de ser, pelo menos, 30 segundos no futuro e, no máximo, 120 dias no futuro. Formate a hora como uma indicação de tempo RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Substitua o seguinte:

      • YYYY-MM-DD: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos separados por hífenes.
      • HH:MM:SS: Uma hora formatada como uma hora de 2 dígitos usando a hora 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 desvio do Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), que é 8 horas anterior à UTC, especifique -08:00. Em alternativa, para não usar nenhuma diferença (UTC+0), especifique Z.
    • TERMINATION_ACTION: A ação de rescisão para esta VM, que pode ser parar (STOP) ou eliminar (DELETE). Se este campo é obrigatório ou tem um valor predefinido varia consoante o modelo de aprovisionamento da VM:

      • Se for uma VM de Spot (se a VM usar o campo "provisioningModel": "SPOT"), o campo "instanceTerminationAction": "TERMINATION_ACTION" é opcional. Se este campo for omitido, a ação de encerramento predefinida é parar.
      • Caso contrário (predefinição), o campo "instanceTerminationAction": "TERMINATION_ACTION" é obrigatório.
  3. Se quiser que a VM comece a ser executada, inicie-a através do 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 do projeto que contém a VM.
    • ZONE: a zona que contém a VM.
    • VM_NAME: o nome da MV.

Monitorize o tempo de execução de uma VM

Pode monitorizar o tempo de execução de uma VM com um limite de tempo através das seguintes opções:

  • Para ver quando uma VM em execução está agendada para ser terminada automaticamente, veja a data/hora de terminação da VM:

    1. Veja os detalhes de uma VM.
    2. No resultado, veja o campo da VM para a data/hora de encerramento:
      • Se estiver a usar a Trusted Cloud consola, consulte o campo Duração máxima.
      • Se estiver a usar a CLI Google Cloud ou a API Compute Engine, consulte o campo terminationTimestamp.
  • Para verificar se uma VM foi terminada automaticamente, veja as operações da VM:

    1. Veja as operações da MV.
    2. Na saída, 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 terminação automática de paragem
      • compute.instances.deferredDelete indica uma ação de rescisão automática de eliminação

O que se segue?