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
-
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.
- Set a default region and zone.
- Limite de tempo como duração da execução
- Prazo como prazo de rescisão
Crie um modelo de instância com duração de execução para VMs ou com tempo de encerramento para VMs .
Use o modelo de instância para criar um MIG ou atualizar um MIG existente .
Você deve cumprir as restrições para limitar o tempo de execução de VMs autônomas .
Ao criar um modelo de instância para especificar um limite de tempo para VMs em um MIG, as seguintes limitações se aplicam:
- Você não pode definir a ação de encerramento como
STOP
. MIGs suportam apenasDELETE
. - Você não pode usar VMs spot.
- Você não pode definir a ação de encerramento como
Não é possível criar uma solicitação de redimensionamento em um MIG que use um modelo de instância que limite o tempo de execução da VM.
Você não pode limitar o tempo de execução de VMs em um MIG regional com o formato de distribuição de destino
EVEN
e a redistribuição proativa de instâncias habilitadas.No console do Google Cloud, acesse a página Modelos de instância .
Clique em Criar modelo de instância .
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 .
Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.
Na seção Políticas de disponibilidade , expanda configurações avançadas do modelo de provisionamento de VM .
Marque a caixa de seleção Definir um limite de tempo para a VM .
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.
Na lista No encerramento da VM , selecione Excluir .
Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.
Clique em Criar .
-
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
es
respectivamente. Por exemplo, especifique30m
para uma duração de 30 minutos ou especifique1d2h3m4s
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
).-
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
ouIMAGE_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ê especificarfamily/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
es
respectivamente. Por exemplo, especifique30m
para uma duração de 30 minutos ou especifique1d2h3m4s
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
).No console do Google Cloud, acesse a página Modelos de instância .
Clique em Criar modelo de instância .
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 .
Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.
Na seção Políticas de disponibilidade , expanda configurações avançadas do modelo de provisionamento de VM .
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.Na lista No encerramento da VM , selecione Excluir .
Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.
Clique em Criar .
-
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), especifiqueZ
.
-
-
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
ouIMAGE_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ê especificarfamily/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), especifiqueZ
.
-
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 .
- Aprenda sobre os cenários básicos para criação de MIGs .
- Saiba mais sobre como aplicar um novo modelo de instância a um MIG existente .
- 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
-
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.
- Set a default region and zone.
- Limite de tempo como duração da execução
- Prazo como prazo de rescisão
Crie um modelo de instância com duração de execução para VMs ou com tempo de encerramento para VMs .
Use o modelo de instância para criar um MIG ou atualizar um MIG existente .
Você deve cumprir as restrições para limitar o tempo de execução de VMs autônomas .
Ao criar um modelo de instância para especificar um limite de tempo para VMs em um MIG, as seguintes limitações se aplicam:
- Você não pode definir a ação de encerramento como
STOP
. MIGs suportam apenasDELETE
. - Você não pode usar VMs spot.
- Você não pode definir a ação de encerramento como
Não é possível criar uma solicitação de redimensionamento em um MIG que use um modelo de instância que limite o tempo de execução da VM.
Você não pode limitar o tempo de execução de VMs em um MIG regional com formato de distribuição de destino
EVEN
e redistribuição proativa de instâncias habilitados.No console do Google Cloud, acesse a página Modelos de instância .
Clique em Criar modelo de instância .
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 .
Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.
Na seção Políticas de disponibilidade , expanda configurações avançadas do modelo de provisionamento de VM .
Marque a caixa de seleção Definir um limite de tempo para a VM .
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.
Na lista No encerramento da VM , selecione Excluir .
Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.
Clique em Criar .
-
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
es
respectivamente. Por exemplo, especifique30m
para uma duração de 30 minutos ou especifique1d2h3m4s
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
).-
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
ouIMAGE_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ê especificarfamily/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
es
respectivamente. Por exemplo, especifique30m
para uma duração de 30 minutos ou especifique1d2h3m4s
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
).No console do Google Cloud, acesse a página Modelos de instância .
Clique em Criar modelo de instância .
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 .
Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.
Na seção Políticas de disponibilidade , expanda configurações avançadas do modelo de provisionamento de VM .
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.Na lista No encerramento da VM , selecione Excluir .
Para os outros campos, aceite os valores padrão ou modifique-os conforme necessário.
Clique em Criar .
-
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), especifiqueZ
.
-
-
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
ouIMAGE_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ê especificarfamily/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), especifiqueZ
.
-
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 .
- Aprenda sobre os cenários básicos para criação de MIGs .
- Saiba mais sobre como aplicar um novo modelo de instância a um MIG existente .
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:
Para especificar um limite de tempo para as VMs em um MIG, siga estas etapas:
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
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
comoDELETE
da seguinte maneira:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
Substitua o seguinte:
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 argumentomax_run_duration
e definir o argumentoinstance_termination_action
comoDELETE
.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 campomaxRunDuration
e defina o campoinstanceTerminationAction
comoDELETE
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:
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
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
comoDELETE
da seguinte maneira:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
Substitua o seguinte:
DESCANSAR
Use o método
instanceTemplates.insert
. Para excluir VMs automaticamente em um horário específico, inclua o campoterminationTime
e defina o campoinstanceTerminationAction
comoDELETE
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:
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:
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
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-
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:
Para especificar um limite de tempo para as VMs em um MIG, siga estas etapas:
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
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
comoDELETE
da seguinte maneira:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
Substitua o seguinte:
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 argumentomax_run_duration
e definir o argumentoinstance_termination_action
comoDELETE
.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 campomaxRunDuration
e defina o campoinstanceTerminationAction
comoDELETE
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:
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
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
comoDELETE
da seguinte maneira:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
Substitua o seguinte:
DESCANSAR
Use o método
instanceTemplates.insert
. Para excluir VMs automaticamente em um horário específico, inclua o campoterminationTime
e defina o campoinstanceTerminationAction
comoDELETE
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:
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:
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
-