Este documento descreve como terminar automaticamente máquinas virtuais (VMs) num grupo de instâncias geridas (GIG) especificando um limite de tempo para as VMs. Também descreve como funciona o limite de tempo para VMs num MIG.
Pode otimizar as cargas de trabalho temporárias especificando um limite de tempo para as VMs num MIG. Quando uma VM atinge o respetivo limite de tempo, o MIG termina automaticamente (elimina) essa VM. Limitar o tempo de execução das VMs num MIG por um limite de tempo ajuda a minimizar os custos e libertar a quota.
Para saber como especificar um limite de tempo para uma VM autónoma, consulte o artigo Limite o tempo de execução de uma VM. Se quiser que um GIG adicione ou elimine automaticamente VMs com base nas suas cargas de trabalho, consulte o artigo Grupos de instâncias de escala automática.
Antes de começar
-
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
-
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
- 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.
Limite o tempo de execução das VMs num MIG
Pode limitar o tempo de execução das VMs num 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.
Pode especificar um de dois tipos de limites de tempo:
- Limite de tempo como duração da apresentação
- Limite de tempo como hora de rescisão
Para especificar um limite de tempo para as VMs num MIG, siga estes passos:
Crie um modelo de instância com uma duração de execução para VMs ou com uma hora de rescisão para VMs.
Use o modelo de instância para criar um MIG ou atualizar um MIG existente.
Limitações
Tem de agir em conformidade com as restrições para limitar o tempo de execução de VMs autónomas.
Quando cria um modelo de instância para especificar um limite de tempo para VMs num MIG, aplicam-se as seguintes limitações:
Só pode definir a ação de rescisão como
DELETE
.Só pode usar o modelo de instância se especificar o modelo de aprovisionamento padrão ou flex-start.
Não pode limitar o tempo de execução das VMs num GIG regional se o GIG especificar ambos os seguintes:
EVEN
forma de distribuição do alvo
Crie um modelo de instância com uma duração de execução para VMs
Para terminar automaticamente as VMs num GIG depois de serem executadas durante uma determinada duração, defina uma duração máxima de execução (
maxRunDuration
) no modelo de instância.Consola
Na Trusted Cloud consola, aceda à página Modelos de instâncias.
Clique em Criar modelo de instância.
Selecione a Localização da seguinte forma:
- Se quiser usar o modelo de instância em várias regiões, escolha Global.
- Se quiser reduzir a dependência entre regiões, escolha Regional.
Se escolheu regional, selecione a Região onde quer criar o modelo de instância.
Na secção Políticas de disponibilidade, expanda Definições avançadas do modelo de aprovisionamento de VMs.
Selecione a caixa de verificação Definir um limite de tempo para a VM.
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.
Na lista On VM termination, selecione Delete.
Para os restantes campos, aceite os valores predefinidos ou modifique-os conforme necessário.
Clique em Criar.
gcloud
Use o comando
instance-templates create
. Para eliminar automaticamente VMs após uma duração específica, inclua a flag--max-run-duration
e defina a flag--instance-termination-action
comoDELETE
da seguinte forma: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 durante a qual quer que as VMs sejam executadas. O MIG elimina automaticamente a VM após a duração especificada.Formate a duração como o número de dias, horas, minutos e segundos, seguido de
d
,h
,m
es
, respetivamente. 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
).
Terraform
Para criar um modelo de instância com o Terraform, use o recurso
google_compute_instance_template
. Para criar um modelo de instância que elimine automaticamente VMs após uma duração específica, tem de incluir o argumentomax_run_duration
e definir o argumentoinstance_termination_action
comoDELETE
.Para mais informações, consulte a documentação do Terraform para o recurso
google_compute_instance_template
.REST
Use o método
instanceTemplates.insert
. Para eliminar automaticamente VMs após uma duração específica, 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:
PROJECT_ID
: o ID do projeto no qual quer 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 no grupo.IMAGE_PROJECT
: o projeto de imagem que contém a imagem; por exemplo,debian-cloud
.IMAGE
ouIMAGE_FAMILY
: especifique uma das seguintes opções:IMAGE
: uma versão específica da imagem do SO; por exemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: uma família de imagens. Isto especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se especificarfamily/debian-10
, é usada a versão mais recente na família de imagens Debian 10.
DURATION
: a duração durante a qual quer que as VMs sejam executadas. O MIG elimina automaticamente a VM após a duração especificada.Formate a duração como o número de dias, horas, minutos e segundos, seguido de
d
,h
,m
es
, respetivamente. 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
).
Crie um modelo de instância com um tempo de rescisão para VMs
Para terminar automaticamente VMs num GIG a uma hora específica, defina uma hora de terminação (
terminationTime
) no modelo de instância. Pode definir uma data e uma hora em que quer que um MIG termine as VMs.Consola
Na Trusted Cloud consola, aceda à página Modelos de instâncias.
Clique em Criar modelo de instância.
Selecione a Localização da seguinte forma:
- Se quiser usar o modelo de instância em várias regiões, escolha Global.
- Se quiser reduzir a dependência entre regiões, escolha Regional.
Se escolheu regional, selecione a Região onde quer criar o modelo de instância.
Na secção Políticas de disponibilidade, expanda Definições avançadas do modelo de aprovisionamento de VMs.
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 encerramento automático.Na lista On VM termination, selecione Delete.
Para os restantes campos, aceite os valores predefinidos ou modifique-os conforme necessário.
Clique em Criar.
gcloud
Use o comando
instance-templates create
. Para eliminar automaticamente VMs a uma hora específica, inclua a flag--termination-time
e defina a flag--instance-termination-action
comoDELETE
da seguinte forma: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
: 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), especifiqueZ
.
REST
Use o método
instanceTemplates.insert
. Para eliminar automaticamente VMs a uma hora específica, inclua o campoterminationTime
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": { "terminationTime": TIME, "instanceTerminationAction": "DELETE" } } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto no qual quer 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 no grupo.IMAGE_PROJECT
: o projeto de imagem que contém a imagem; por exemplo,debian-cloud
.IMAGE
ouIMAGE_FAMILY
: especifique uma das seguintes opções:IMAGE
: uma versão específica da imagem do SO; por exemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: uma família de imagens. Isto especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se especificarfamily/debian-10
, é usada a versão mais recente na família de imagens 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), especifiqueZ
.
Como funciona o limite de tempo para VMs num MIG
Quando especifica um limite de tempo para VMs num GIG, a hora em que um GIG termina uma VM é definida automaticamente no campo de data/hora de rescisão (
terminationTimestamp
) da VM.Com base no tipo de limite de tempo especificado, a data/hora de rescisão de uma VM é definida da seguinte forma:
Limite de tempo como duração da execução (
maxRunDuration
):terminationTimestamp
de uma VM = data/hora de criação ou de início mais recente da VM +maxRunDuration
Quando especifica uma duração, a data/hora de rescisão é definida relativamente à data/hora de criação ou de início mais recente da VM. Se a VM for recriada, reiniciada, retomada ou substituída, a data/hora de conclusão é recalculada. A data/hora de terminação pode variar entre as VMs num MIG com base na data/hora em que cada VM foi criada ou iniciada pela última vez. Por exemplo, se uma VM for reparada, a data/hora da rescisão da VM é recalculada adicionando a duração à data/hora em que a VM foi recriada durante a reparação.
Limite de tempo como hora de rescisão (
terminationTime
):terminationTimestamp
de uma VM =terminationTime
Quando especifica uma hora, a data/hora de rescisão é definida para essa hora, desde que seja no futuro. Se o tempo de rescisão tiver passado, qualquer ação do MIG que tente criar, reiniciar ou substituir uma VM falha com um erro. Para resolver este erro, tem de criar um novo modelo de instância com uma hora de rescisão no futuro e aplicar esse modelo ao MIG. Se quiser usar as propriedades do modelo existente no novo modelo, crie um modelo de instância com base no modelo existente.
Durante uma atualização da VM, a data/hora de rescisão não é alterada. Por exemplo, se definir o nível de interrupção para atualizações como
REFRESH
, a data/hora de conclusão é mantida sempre que o MIG atualiza a VM.Quando suspende ou para uma VM num MIG, a data/hora de rescisão é automaticamente limpa, independentemente do tipo de limite de tempo. Quando retoma ou inicia uma VM, a data/hora de encerramento é definida novamente com base no tipo de limite de tempo, conforme explicado anteriormente nesta secção.
Como funciona o ajuste de escala automático quando é definido um limite de tempo
A escalabilidade automática permite que o MIG adicione ou remova automaticamente VMs com base em aumentos ou diminuições na carga. Quando um GIG elimina VMs que atingiram as respetivas datas/horas de rescisão, o GIG cria novas VMs para manter o tamanho recomendado pelo escalador automático. As novas VMs são executadas durante o limite de tempo especificado. Se a recomendação do escalador automático for reduzir o número de VMs, o MIG elimina VMs mesmo antes de atingirem os respetivos limites de tempo.
Se tiver configurado agendamentos de escalabilidade, as VMs são executadas apenas até ao fim de um agendamento ou até uma VM atingir a respetiva data/hora de rescisão, consoante o que ocorrer primeiro.
O que se segue?
- Saiba mais sobre os cenários básicos para criar MIGs.
- Saiba como aplicar um novo modelo de instância a um MIG existente.
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-10-02 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-02 UTC."],[],[],null,[]] -