Limitar o tempo de execução de VMs em um MIG,Limitar o tempo de execução de VMs em um MIG


Este documento descreve como encerrar automaticamente máquinas virtuais (VMs) em um grupo de instâncias gerenciadas (MIG) especificando um limite de tempo para as VMs. Ele também descreve como funciona o limite de tempo para VMs em um MIG.

Você pode otimizar cargas de trabalho temporárias especificando um limite de tempo para as VMs em um MIG. Quando uma VM atinge seu limite de tempo, o MIG encerra (exclui) automaticamente essa VM. Limitar o tempo de execução das VMs em um MIG por um limite de tempo ajuda a minimizar custos e liberar cota.

Para saber como especificar um limite de tempo para uma VM autônoma, consulte Limitar o tempo de execução de uma VM . Se você deseja que um MIG adicione ou exclua VMs automaticamente com base em suas cargas de trabalho, consulte Dimensionamento automático de grupos de instâncias .

Antes de começar

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

Limite o tempo de execução de VMs em um MIG

Você pode limitar o tempo de execução de VMs em um MIG especificando um limite de tempo no modelo de instância usado para o MIG. Quando o MIG cria VMs com base no modelo, o limite de tempo é aplicado a cada VM.

Você pode especificar um dos dois tipos de limites de tempo:

  • Limite de tempo como duração da execução
  • Prazo como prazo de rescisão

Para especificar um limite de tempo para as VMs em um MIG, siga estas etapas:

  1. Crie um modelo de instância com duração de execução para VMs ou com tempo de encerramento para VMs .

  2. Use o modelo de instância para criar um MIG ou atualizar um MIG existente .

Limitações

Crie um modelo de instância com duração de execução para VMs

Para encerrar automaticamente VMs em um MIG após sua execução por um determinado período, defina uma duração máxima de execução ( maxRunDuration ) no modelo de instância.

Console

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

    Vá para modelos de instância

  2. Clique em Criar modelo de instância .

  3. Selecione o local da seguinte forma:

    • Se quiser usar o modelo de instância entre regiões, escolha Global .
    • Se quiser reduzir a dependência entre regiões, escolha Regional .
  4. Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.

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

  6. Marque a caixa de seleção Definir um limite de tempo para a VM .

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

  8. Na lista No encerramento da VM , selecione Excluir .

  9. Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.

  10. Clique em Criar .

gcloud

Use o comando instance-templates create . Para excluir VMs automaticamente após um período específico, inclua o sinalizador --max-run-duration e defina o sinalizador --instance-termination-action como DELETE da seguinte maneira:

  gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
      --max-run-duration=DURATION \
      --instance-termination-action=DELETE

Substitua o seguinte:

  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • DURATION : a duração que você deseja que as VMs sejam executadas. O MIG exclui automaticamente a VM após o período especificado.

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

Terraforma

Para criar um modelo de instância usando Terraform, use o recurso google_compute_instance_template . Para criar um modelo de instância que exclua VMs automaticamente após um período específico, você deve incluir o argumento max_run_duration e definir o argumento instance_termination_action como DELETE .

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

DESCANSAR

Use o método instanceTemplates.insert . Para excluir VMs automaticamente após um período específico, inclua o campo maxRunDuration e defina o campo instanceTerminationAction como DELETE da seguinte forma:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default",
        "accessConfigs": [
          {
            "name": "external-IP",
            "type": "ONE_TO_ONE_NAT"
          }
        ]
      }
    ],
    "disks": [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ]
    "scheduling": {
      "maxRunDuration":
      {
        "seconds": DURATION
      },
      "instanceTerminationAction": "DELETE"
    }
  }
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto no qual você deseja criar o modelo de instância.
  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para as VMs do grupo.
  • IMAGE_PROJECT : o projeto de imagem que contém a imagem; por exemplo, debian-cloud .
  • IMAGE ou IMAGE_FAMILY : especifique um dos seguintes:

    • IMAGE : uma versão específica da imagem do SO; por exemplo, debian-10-buster-v20200309 .

    • IMAGE_FAMILY : uma família de imagens . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-10 , a versão mais recente da família de imagens Debian 10 será usada.

  • DURATION : a duração que você deseja que as VMs sejam executadas. O MIG exclui automaticamente a VM após o período especificado.

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

Crie um modelo de instância com um horário de encerramento para VMs

Para encerrar automaticamente as VMs em um MIG em um horário específico, defina um horário de encerramento ( terminationTime ) no modelo de instância. Você pode definir uma data e hora em que deseja que um MIG encerre as VMs.

Console

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

    Vá para modelos de instância

  2. Clique em Criar modelo de instância .

  3. Selecione o local da seguinte forma:

    • Se quiser usar o modelo de instância entre regiões, escolha Global .
    • Se quiser reduzir a dependência entre regiões, escolha Regional .
  4. Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.

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

  6. No campo Tipo de limite de tempo , selecione Por data para especificar o limite de tempo como hora e data. No próximo campo, clique em Selecione data e hora e selecione a data, hora e fuso horário para encerramento automático.

  7. Na lista No encerramento da VM , selecione Excluir .

  8. Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.

  9. Clique em Criar .

gcloud

Use o comando instance-templates create . Para excluir VMs automaticamente em um horário específico, inclua o sinalizador --termination-time e defina o sinalizador --instance-termination-action como DELETE da seguinte maneira:

  gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
      --termination-time=TIME \
      --instance-termination-action=DELETE

Substitua o seguinte:

  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • TIME : o horário 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 .

DESCANSAR

Use o método instanceTemplates.insert . Para excluir VMs automaticamente em um horário específico, inclua o campo terminationTime e defina o campo instanceTerminationAction como DELETE da seguinte maneira:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default",
        "accessConfigs": [
          {
            "name": "external-IP",
            "type": "ONE_TO_ONE_NAT"
          }
        ]
      }
    ],
    "disks": [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ]
    "scheduling": {
      "terminationTime": TIME,
      "instanceTerminationAction": "DELETE"
    }
  }
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto no qual você deseja criar o modelo de instância.
  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para as VMs do grupo.
  • IMAGE_PROJECT : o projeto de imagem que contém a imagem; por exemplo, debian-cloud .
  • IMAGE ou IMAGE_FAMILY : especifique um dos seguintes:

    • IMAGE : uma versão específica da imagem do SO; por exemplo, debian-10-buster-v20200309 .

    • IMAGE_FAMILY : uma família de imagens . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-10 , a versão mais recente da família de imagens Debian 10 será usada.

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

Como funciona o limite de tempo para VMs em um MIG

Quando você especifica um limite de tempo para VMs em um MIG, o horário em que um MIG encerrará uma VM é automaticamente definido no campo carimbo de data/hora de término ( terminationTimestamp ) da VM.

Com base no tipo de limite de tempo especificado, o carimbo de data/hora de encerramento de uma VM é definido da seguinte forma:

  • Limite de tempo como duração da execução ( maxRunDuration ):

    terminationTimestamp de uma VM = última criação ou hora de início da VM + maxRunDuration

    Quando você especifica uma duração, o carimbo de data/hora de término é definido em relação à última criação ou hora de início da VM. Se a VM for recriada, reiniciada, retomada ou substituída, o carimbo de data/hora de encerramento será recalculado. O carimbo de data/hora de encerramento pode variar entre as VMs em um MIG com base na hora em que cada VM foi criada ou iniciada pela última vez. Por exemplo, se uma VM for reparada, o carimbo de data/hora de término da VM será recalculado adicionando a duração ao tempo em que a VM foi recriada durante o reparo.

  • Limite de tempo como tempo de rescisão ( terminationTime ):

    terminationTimestamp de uma VM = terminationTime

    Quando você especifica um horário, o carimbo de data/hora de término é definido para esse horário, desde que o horário seja no futuro. Se o tempo de encerramento tiver passado, qualquer ação MIG que tente criar, reiniciar ou substituir uma VM falhará com um erro . Para resolver esse erro, você deve criar um novo modelo de instância com um horário de encerramento no futuro e aplicar esse modelo ao MIG. Se desejar usar as propriedades do modelo existente no novo modelo, crie um modelo de instância com base no modelo existente .

Durante uma atualização de VM, o carimbo de data/hora de encerramento não muda. Por exemplo, se você definir o nível de interrupção para atualizações como REFRESH , o carimbo de data/hora de encerramento será retido sempre que o MIG atualizar a VM.

Quando você suspende ou interrompe uma VM em um MIG, o carimbo de data/hora de encerramento é automaticamente apagado, independentemente do tipo de limite de tempo. Quando você retoma ou inicia uma VM, o carimbo de data/hora de encerramento é definido novamente com base no tipo de limite de tempo, conforme explicado anteriormente nesta seção.

Como funciona o escalonamento automático quando um limite de tempo é definido

O escalonamento automático permite que seu MIG adicione ou remova VMs automaticamente com base em aumentos ou diminuições na carga. Quando um MIG exclui VMs que atingiram seus carimbos de data/hora de término, o MIG cria novas VMs para manter o tamanho recomendado pelo escalonador automático. As novas VMs são executadas pelo limite de tempo especificado. Se a recomendação do escalonador automático for reduzir o número de VMs, o MIG excluirá as VMs antes mesmo que elas atinjam seus limites de tempo.

Se você tiver configurado agendamentos de escalabilidade , as VMs serão executadas somente até o final de um agendamento ou até que uma VM atinja seu carimbo de data/hora de término, o que ocorrer primeiro.

O que vem a seguir

,

Este documento descreve como encerrar automaticamente máquinas virtuais (VMs) em um grupo de instâncias gerenciadas (MIG) especificando um limite de tempo para as VMs. Ele também descreve como funciona o limite de tempo para VMs em um MIG.

Você pode otimizar cargas de trabalho temporárias especificando um limite de tempo para as VMs em um MIG. Quando uma VM atinge seu limite de tempo, o MIG encerra (exclui) automaticamente essa VM. Limitar o tempo de execução das VMs em um MIG por um limite de tempo ajuda a minimizar custos e liberar cota.

Para saber como especificar um limite de tempo para uma VM autônoma, consulte Limitar o tempo de execução de uma VM . Se você deseja que um MIG adicione ou exclua VMs automaticamente com base em suas cargas de trabalho, consulte Dimensionamento automático de grupos de instâncias .

Antes de começar

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

Limite o tempo de execução de VMs em um MIG

Você pode limitar o tempo de execução de VMs em um MIG especificando um limite de tempo no modelo de instância usado para o MIG. Quando o MIG cria VMs com base no modelo, o limite de tempo é aplicado a cada VM.

Você pode especificar um dos dois tipos de limites de tempo:

  • Limite de tempo como duração da execução
  • Prazo como prazo de rescisão

Para especificar um limite de tempo para as VMs em um MIG, siga estas etapas:

  1. Crie um modelo de instância com duração de execução para VMs ou com tempo de encerramento para VMs .

  2. Use o modelo de instância para criar um MIG ou atualizar um MIG existente .

Limitações

Crie um modelo de instância com duração de execução para VMs

Para encerrar automaticamente VMs em um MIG após sua execução por um determinado período, defina uma duração máxima de execução ( maxRunDuration ) no modelo de instância.

Console

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

    Vá para modelos de instância

  2. Clique em Criar modelo de instância .

  3. Selecione o local da seguinte forma:

    • Se quiser usar o modelo de instância entre regiões, escolha Global .
    • Se quiser reduzir a dependência entre regiões, escolha Regional .
  4. Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.

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

  6. Marque a caixa de seleção Definir um limite de tempo para a VM .

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

  8. Na lista No encerramento da VM , selecione Excluir .

  9. Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.

  10. Clique em Criar .

gcloud

Use o comando instance-templates create . Para excluir VMs automaticamente após um período específico, inclua o sinalizador --max-run-duration e defina o sinalizador --instance-termination-action como DELETE da seguinte maneira:

  gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
      --max-run-duration=DURATION \
      --instance-termination-action=DELETE

Substitua o seguinte:

  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • DURATION : a duração que você deseja que as VMs sejam executadas. O MIG exclui automaticamente a VM após o período especificado.

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

Terraforma

Para criar um modelo de instância usando Terraform, use o recurso google_compute_instance_template . Para criar um modelo de instância que exclua VMs automaticamente após um período específico, você deve incluir o argumento max_run_duration e definir o argumento instance_termination_action como DELETE .

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

DESCANSAR

Use o método instanceTemplates.insert . Para excluir VMs automaticamente após um período específico, inclua o campo maxRunDuration e defina o campo instanceTerminationAction como DELETE da seguinte maneira:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default",
        "accessConfigs": [
          {
            "name": "external-IP",
            "type": "ONE_TO_ONE_NAT"
          }
        ]
      }
    ],
    "disks": [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ]
    "scheduling": {
      "maxRunDuration":
      {
        "seconds": DURATION
      },
      "instanceTerminationAction": "DELETE"
    }
  }
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto no qual você deseja criar o modelo de instância.
  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para as VMs do grupo.
  • IMAGE_PROJECT : o projeto de imagem que contém a imagem; por exemplo, debian-cloud .
  • IMAGE ou IMAGE_FAMILY : especifique um dos seguintes:

    • IMAGE : uma versão específica da imagem do SO; por exemplo, debian-10-buster-v20200309 .

    • IMAGE_FAMILY : uma família de imagens . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-10 , a versão mais recente da família de imagens Debian 10 será usada.

  • DURATION : a duração que você deseja que as VMs sejam executadas. O MIG exclui automaticamente a VM após o período especificado.

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

Crie um modelo de instância com um horário de encerramento para VMs

Para encerrar automaticamente as VMs em um MIG em um horário específico, defina um horário de encerramento ( terminationTime ) no modelo de instância. Você pode definir uma data e hora em que deseja que um MIG encerre as VMs.

Console

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

    Vá para modelos de instância

  2. Clique em Criar modelo de instância .

  3. Selecione o local da seguinte forma:

    • Se quiser usar o modelo de instância entre regiões, escolha Global .
    • Se quiser reduzir a dependência entre regiões, escolha Regional .
  4. Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.

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

  6. No campo Tipo de limite de tempo , selecione Por data para especificar o limite de tempo como hora e data. No próximo campo, clique em Selecione data e hora e selecione a data, hora e fuso horário para encerramento automático.

  7. Na lista No encerramento da VM , selecione Excluir .

  8. Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.

  9. Clique em Criar .

gcloud

Use o comando instance-templates create . Para excluir VMs automaticamente em um horário específico, inclua o sinalizador --termination-time e defina o sinalizador --instance-termination-action como DELETE da seguinte maneira:

  gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
      --termination-time=TIME \
      --instance-termination-action=DELETE

Substitua o seguinte:

  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • TIME : o horário 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 .

DESCANSAR

Use o método instanceTemplates.insert . Para excluir VMs automaticamente em um horário específico, inclua o campo terminationTime e defina o campo instanceTerminationAction como DELETE da seguinte maneira:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default",
        "accessConfigs": [
          {
            "name": "external-IP",
            "type": "ONE_TO_ONE_NAT"
          }
        ]
      }
    ],
    "disks": [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ]
    "scheduling": {
      "terminationTime": TIME,
      "instanceTerminationAction": "DELETE"
    }
  }
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto no qual você deseja criar o modelo de instância.
  • INSTANCE_TEMPLATE_NAME : o nome do modelo de instância.
  • MACHINE_TYPE : o tipo de máquina predefinido ou personalizado para as VMs do grupo.
  • IMAGE_PROJECT : o projeto de imagem que contém a imagem; por exemplo, debian-cloud .
  • IMAGE ou IMAGE_FAMILY : especifique um dos seguintes:

    • IMAGE : uma versão específica da imagem do SO; por exemplo, debian-10-buster-v20200309 .

    • IMAGE_FAMILY : uma família de imagens . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-10 , a versão mais recente da família de imagens Debian 10 será usada.

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

Como funciona o limite de tempo para VMs em um MIG

Quando você especifica um limite de tempo para VMs em um MIG, o horário em que um MIG encerrará uma VM é automaticamente definido no campo carimbo de data/hora de término ( terminationTimestamp ) da VM.

Com base no tipo de limite de tempo especificado, o carimbo de data/hora de encerramento de uma VM é definido da seguinte maneira:

  • Limite de tempo como duração da execução ( maxRunDuration ):

    terminationTimestamp de uma VM = última criação ou hora de início da VM + maxRunDuration

    Quando você especifica uma duração, o carimbo de data/hora de término é definido em relação à última criação ou hora de início da VM. Se a VM for recriada, reiniciada, retomada ou substituída, o carimbo de data/hora de encerramento será recalculado. O carimbo de data/hora de encerramento pode variar entre as VMs em um MIG com base na hora em que cada VM foi criada ou iniciada pela última vez. Por exemplo, se uma VM for reparada, o carimbo de data/hora de término da VM será recalculado adicionando a duração ao tempo em que a VM foi recriada durante o reparo.

  • Limite de tempo como tempo de rescisão ( terminationTime ):

    terminationTimestamp de uma VM = terminationTime

    Quando você especifica um horário, o carimbo de data/hora de término é definido para esse horário, desde que o horário seja no futuro. Se o tempo de encerramento tiver passado, qualquer ação MIG que tente criar, reiniciar ou substituir uma VM falhará com um erro . Para resolver esse erro, você deve criar um novo modelo de instância com um horário de encerramento no futuro e aplicar esse modelo ao MIG. Se desejar usar as propriedades do modelo existente no novo modelo, crie um modelo de instância com base no modelo existente .

Durante uma atualização de VM, o carimbo de data/hora de encerramento não muda. Por exemplo, se você definir o nível de interrupção para atualizações como REFRESH , o carimbo de data/hora de encerramento será retido sempre que o MIG atualizar a VM.

Quando você suspende ou interrompe uma VM em um MIG, o carimbo de data/hora de encerramento é automaticamente apagado, independentemente do tipo de limite de tempo. Quando você retoma ou inicia uma VM, o carimbo de data/hora de encerramento é definido novamente com base no tipo de limite de tempo, conforme explicado anteriormente nesta seção.

Como funciona o escalonamento automático quando um limite de tempo é definido

O escalonamento automático permite que seu MIG adicione ou remova VMs automaticamente com base em aumentos ou diminuições na carga. Quando um MIG exclui VMs que atingiram seus carimbos de data/hora de término, o MIG cria novas VMs para manter o tamanho recomendado pelo escalonador automático. As novas VMs são executadas pelo limite de tempo especificado. Se a recomendação do escalonador automático for reduzir o número de VMs, o MIG excluirá as VMs antes mesmo que elas atinjam seus limites de tempo.

Se você tiver configurado agendamentos de escalabilidade , as VMs serão executadas somente até o final de um agendamento ou até que uma VM atinja seu carimbo de data/hora de término, o que ocorrer primeiro.

O que vem a seguir