Este documento explica como definir a política de manutenção do anfitrião para uma instância do Compute Engine de modo a determinar o respetivo comportamento durante eventos do anfitrião. Para saber mais sobre as políticas de manutenção de anfitriões, consulte a Política de manutenção de anfitriões.
Uma política de manutenção do anfitrião determina a forma como a sua instância responde quando o anfitrião no qual a instância está a ser executada requer manutenção ou encontra um erro. A configuração da política de manutenção do anfitrião para uma instância ajuda a fazer o seguinte:
Minimizar o tempo de inatividade.
Impeça a perda de dados.
Limitações
Para as políticas de manutenção de anfitriões, aplicam-se as seguintes limitações:
As instâncias de máquinas virtuais que usam tipos de máquinas E2 só podem ser migradas em direto durante eventos de manutenção do anfitrião, a menos que sejam VMs Spot ou VMs preemptíveis.
As seguintes instâncias só podem parar durante eventos de manutenção do anfitrião:
Instâncias que não suportam a migração em direto, como instâncias Z3 com mais de 18 TiB de SSD de titânio anexado, instâncias bare metal ou VMs com GPUs anexadas.
VMs do Spot ou VMs preemptivas.
As VMs do Spot e as VMs preemptíveis não podem ser reiniciadas automaticamente após erros do anfitrião ou paragens programadas.
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 Google Cloud 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- 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. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações de que precisa para definir a política de manutenção do anfitrião para uma instância de computação, peça ao seu administrador para lhe conceder a função de IAM Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) no seu 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.Esta função predefinida contém as autorizações necessárias para definir a política de manutenção do anfitrião para uma instância de computação. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para definir a política de manutenção do anfitrião para uma instância de computação:
-
Para criar uma instância:
compute.instances.create
no projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Para atribuir uma rede antiga à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir etiquetas para a VM:
compute.instances.setTags
na VM - Para definir etiquetas para a VM:
compute.instances.setLabels
na VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Para criar um novo disco para a VM:
compute.disks.create
no projeto - Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.use
no disco - Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnly
no disco
-
Para criar um modelo de instância:
compute.instanceTemplates.create
no projeto -
Para atualizar a política de manutenção do anfitrião de uma instância:
compute.instances.setScheduling
na instância
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Propriedades de manutenção do anfitrião disponíveis
Pode personalizar o comportamento da instância de computação durante a manutenção agendada ou eventos de anfitrião inesperados. Salvo indicação em contrário, o Compute Engine usa as predefinições quando cria uma instância, várias instâncias ou um modelo de instância.
Pode configurar as seguintes propriedades de manutenção do anfitrião:
Comportamento de manutenção (
onHostMaintenance
): o que acontece à sua instância durante um evento de manutenção no respetivo anfitrião que pode fazer com que a instância seja reiniciada. Pode definir esta propriedade para um dos seguintes valores:Migrar: o Compute Engine migra automaticamente a sua instância em tempo real para outro anfitrião. Esta é a predefinição para todos os tipos de instâncias, exceto VMs de spot e VMs preemptíveis.
Terminar: o Compute Engine para a sua instância. Esta é a definição predefinida para VMs Spot ou VMs preemptíveis e é a única definição suportada para instâncias Z3 com mais de 18 TiB de SSD Titanium anexado, instâncias bare metal e instâncias com GPUs ou TPUs anexados.
Reinício automático (
automaticRestart
): se a instância é reiniciada em caso de falha ou se o Compute Engine a para devido a uma paragem programada, como um evento de manutenção. Pode definir esta propriedade para um dos seguintes valores:Ativado: o Compute Engine reinicia automaticamente a instância. Esta é a predefinição para todos os tipos de instâncias, exceto para VMs de spot e VMs preemptíveis. Especifique esta definição da seguinte forma:
Para a Google Cloud consola, no painel Avançadas, na lista Reinício automático, selecione Ativado (recomendado).
Para a Google Cloud CLI, use a flag
--restart-on-failure
.Para REST, defina o campo
automaticRestart
comotrue
.
Desativado: o Compute Engine não reinicia a instância. Esta é a predefinição para VMs Spot ou VMs preemptíveis. Pode especificar esta definição da seguinte forma:
Para a Google Cloud consola, no painel Avançadas, na lista Reinício automático, selecione Desativado.
Para a CLI gcloud, use a flag
--no-restart-on-failure
.Para REST, defina o campo
automaticRestart
comofalse
.
Limite de tempo da recuperação de dados do SSD local (
localSsdRecoveryTimeout
): esta definição aplica-se apenas a instâncias com discos SSD locais associados. Determina durante quanto tempo o Compute Engine aguarda para recuperar dados dos seus discos SSD locais após erros do anfitrião. Por predefinição, esta propriedade não está definida. Pode definir esta propriedade como uma das seguintes opções:Não definido: o Compute Engine usa o tempo de espera predefinido:
Para VMs Z3, 6 horas
Para todos os outros tipos de instâncias: 1 hora
Um número inteiro de 0 a 168: o número de horas a aguardar. Definir esta propriedade como
0
significa que o Compute Engine não recupera os dados do SSD local e reinicia a instância imediatamente.
Tempo limite de erro do anfitrião (
hostErrorTimeoutSeconds
): esta propriedade determina durante quanto tempo o Compute Engine aguarda para reiniciar uma instância que não responde. Tem de configurar esta definição antes de a instância deixar de responder. Use um limite de tempo suficientemente longo para que uma instância recupere de uma situação de não resposta. Pode definir esta propriedade para um dos seguintes valores:Unset: o Compute Engine aguarda até 330 segundos (5 minutos e 30 segundos). Esta é a predefinição para qualquer tipo de instância.
Um número inteiro de 90 a 330: o tempo de espera em segundos, em incrementos de 30 segundos.
Defina a política de manutenção do anfitrião para uma instância
Por predefinição, as instâncias de computação usam as predefinições para a respetiva política de manutenção do anfitrião. Para personalizar estas definições, use um dos seguintes métodos:
- Defina a política para uma instância existente
- Defina a política ao criar uma instância
- Defina a política ao criar instâncias em massa
- Defina a política ao criar um modelo de instância
Defina a política para uma instância existente
Antes de alterar a política de manutenção do anfitrião de uma instância existente, certifique-se de que:
Não pode alterar o comportamento de manutenção (
onHostMaintenance
) dos seguintes tipos de instâncias:VMs que usam tipos de máquinas E2.
VMs do Spot ou VMs preemptivas.
Instâncias que não suportam a migração em direto.
Não pode configurar VMs do Spot nem VMs com capacidade de interrupção para serem reiniciadas automaticamente após erros do anfitrião ou paragens programadas.
Para alterar o limite de tempo da recuperação de dados do SSD local numa instância com discos SSD local anexados, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
Na coluna Nome, clique no nome da instância que quer atualizar. É apresentada uma página com os detalhes da instância.
Clique em
Editar. É apresentada uma página que lhe permite editar as propriedades da instância.Na secção Gestão, pode realizar uma ou mais das seguintes ações:
Para alterar o comportamento durante eventos de manutenção, selecione outra opção na lista Na manutenção do anfitrião
Para alterar o período de limite de tempo antes de reiniciar uma instância que não responde, selecione outra opção na lista Limite de tempo de erro do anfitrião.
Para alterar se a instância deve ou não ser reiniciada após erros do anfitrião ou paragens programadas, selecione outra opção na lista Reinício automático.
Clique em Guardar.
gcloud
Para alterar a política de manutenção do anfitrião numa instância existente, use o comando
gcloud compute instances set-scheduling
com uma ou mais das seguintes flags:Para alterar o comportamento de manutenção do anfitrião, inclua a flag
--maintenance-policy
.Para alterar o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua a flag
--restart-on-failure
.Para impedir que a instância seja reiniciada automaticamente, inclua a flag
--no-restart-on-failure
.
Para alterar o limite de tempo da recuperação de dados do SSD local se a sua instância tiver discos SSD local anexados, inclua a flag
--local-ssd-recovery-timeout
.Para alterar o limite de tempo de erro do anfitrião, inclua a flag
--host-error-timeout-seconds
.
Por exemplo, para alterar o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, alterar o limite de tempo de recuperação de dados do SSD local e alterar o limite de tempo de erro do anfitrião, execute o seguinte comando:
gcloud compute instances set-scheduling INSTANCE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure \ --zone=ZONE
Substitua o seguinte:
INSTANCE_NAME
: o nome da sua instância.ERROR_DETECTION_TIMEOUT
: o número de segundos antes de o Compute Engine reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.MAINTENANCE_POLICY
: o comportamento de manutenção da instância. O valor pode serTERMINATE
ouMIGRATE
.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a gastar na recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.ZONE
: a zona onde a sua instância existe.
REST
Para alterar a política de manutenção do anfitrião numa instância existente, faça um pedido ao método
instances.setScheduling
.POST
No corpo do pedido, inclua um ou mais dos seguintes campos:Para alterar o comportamento de manutenção do anfitrião, inclua o campo
onHostMaintenance
.Para alterar o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua o campo
automaticRestart
.Para impedir que a instância seja reiniciada automaticamente, inclua o campo
automaticRestart
.
Para alterar o limite de tempo da recuperação de dados do SSD local se a sua instância tiver discos SSD locais anexados, inclua o campo
localSsdRecoveryTimeout
.Para alterar o limite de tempo de erro do anfitrião, inclua o campo
hostErrorTimeoutSeconds
.
Por exemplo, para alterar o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, alterar o limite de tempo de recuperação de dados do SSD local e alterar o limite de tempo de erro do anfitrião, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde a sua instância existe.ZONE
: a zona onde a sua instância existe.INSTANCE_NAME
: o nome da sua instância.AUTOMATIC_RESTART
: o comportamento de reinício automático da instância se esta falhar ou o Compute Engine a parar para uma paragem programada. Especifique um dos seguintes valores:Para permitir que o Compute Engine reinicie automaticamente a sua instância:
true
Para impedir os reinícios automáticos:
false
ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a gastar na recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MAINTENANCE_POLICY
: o comportamento de manutenção da instância. O valor pode serTERMINATE
ouMIGRATE
.
Defina a política durante a criação de uma instância
Pode definir a política de manutenção do anfitrião de uma instância de computação durante a sua criação.
Para definir o limite de tempo da recuperação de dados do SSD local enquanto cria uma instância com discos SSD local anexados, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Criar uma instância.
No campo Nome, introduza um nome para a instância.
Nos campos Região e Zona, especifique em que região e zona criar a instância.
Especifique o tipo de máquina para a instância.
No menu de navegação, clique em Avançadas.
Na secção Modelo de aprovisionamento, expanda Definições avançadas do modelo de aprovisionamento de VMs e, de seguida, faça uma ou mais das seguintes ações:
Para definir o comportamento durante eventos de manutenção, na lista Manutenção no anfitrião, selecione uma das seguintes opções:
Para migrar a instância durante eventos de manutenção do anfitrião, selecione Migrar instância de VM (recomendado).
Para parar a instância durante eventos de manutenção do anfitrião, selecione Terminar instância de VM.
Para definir o período de limite de tempo antes de reiniciar uma instância que não responde, na lista Limite de tempo de erro do anfitrião, selecione uma das seguintes opções:
Para não especificar um limite de tempo de erro do anfitrião, selecione Não especificado (predefinição).
Para especificar um limite de tempo de erro do anfitrião, selecione uma das opções disponíveis, até 5 minutos e 30 segundos.
Para definir se a instância deve ser reiniciada em caso de falha ou se for parada, na lista Reinício automático, selecione uma das seguintes opções:
Para reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, selecione Ativado (recomendado).
Para impedir que a instância seja reiniciada automaticamente após erros do anfitrião ou paragens programadas, selecione Desativado.
Clique em Criar.
gcloud
Para definir a política de manutenção do anfitrião de uma instância durante a sua criação, use o comando
gcloud compute instances create
com uma ou mais das seguintes flags:Para definir o comportamento de manutenção do anfitrião, inclua a flag
--maintenance-policy
.Para definir o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua a flag
--restart-on-failure
.Para impedir que a instância seja reiniciada automaticamente, inclua a flag
--no-restart-on-failure
.
Para definir um limite de tempo para a recuperação de dados de um SSD local se a sua instância tiver discos SSD locais anexados, inclua a flag
--local-ssd-recovery-timeout
.Para definir um limite de tempo de erro do anfitrião, inclua a flag
--host-error-timeout-seconds
.
Por exemplo, para definir o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, definir um limite de tempo de recuperação de dados do SSD local e definir um limite de tempo de erro do anfitrião, execute o seguinte comando:
gcloud compute instances create INSTANCE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure \ --zone=ZONE
Substitua o seguinte:
INSTANCE_NAME
: o nome da instância.ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a gastar na recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MACHINE_TYPE
: o tipo de máquina a usar.MAINTENANCE_POLICY
: o comportamento de manutenção da instância. O valor pode serTERMINATE
ouMIGRATE
. Se estiver a criar uma VM Spot, uma VM preemptível ou uma instância que não suporta a migração em direto, só pode usar oTERMINATE
.ZONE
: a zona na qual criar a instância.
REST
Para definir a política de manutenção do anfitrião de uma instância durante a sua criação, faça um pedido
POST
ao métodoinstances.insert
. No corpo do pedido, inclua um ou mais dos seguintes campos no camposcheduling
:Para definir o comportamento de manutenção do anfitrião, inclua o campo
onHostMaintenance
.Para definir o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua o campo
automaticRestart
.Para impedir que a instância seja reiniciada automaticamente, inclua o campo
automaticRestart
.
Para definir um limite de tempo para a recuperação de dados de um SSD local se a sua instância tiver discos SSD locais anexados, inclua o campo
localSsdRecoveryTimeout
.Para definir um limite de tempo de erro do anfitrião, inclua o campo
hostErrorTimeoutSeconds
.
Por exemplo, para definir o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, definir um limite de tempo de recuperação de dados do SSD local e definir um limite de tempo de erro do anfitrião, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto no qual criar a instância.ZONE
: a zona na qual criar a instância.INSTANCE_NAME
: o nome da instância.MACHINE_TYPE
: o tipo de máquina a usar.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de estar formatada como
family/IMAGE_FAMILY
. Isto especifica a imagem do SO não descontinuada mais recente. Por exemplo, se especificarfamily/debian-12
, é usada a versão mais recente na família de imagens do Debian 12. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.
AUTOMATIC_RESTART
: o comportamento de reinício automático da instância se esta falhar ou o Compute Engine a parar para uma paragem programada. Especifique um dos seguintes valores:Para permitir que o Compute Engine reinicie automaticamente a sua instância:
true
Para impedir os reinícios automáticos:
false
ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a dedicar à recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MAINTENANCE_POLICY
: o comportamento de manutenção da instância. O valor pode serTERMINATE
ouMIGRATE
. Se estiver a criar uma VM Spot ou uma instância que não suporta a migração em direto, só pode usarTERMINATE
.
Para mais informações sobre como criar uma instância, consulte o artigo Crie e inicie uma instância do Compute Engine.
Defina a política enquanto cria instâncias em massa
Para definir a política de manutenção do anfitrião ao criar instâncias em massa, selecione uma das seguintes opções:
gcloud
Para definir a política de manutenção do anfitrião ao criar instâncias em massa, use o comando
gcloud compute instances bulk create
com uma ou mais das seguintes flags:Para definir o comportamento de manutenção do anfitrião, inclua a flag
--maintenance-policy
.Para definir o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua a flag
--restart-on-failure
.Para impedir que a instância seja reiniciada automaticamente, inclua a flag
--no-restart-on-failure
.
Para definir um limite de tempo para a recuperação de dados de um SSD local se a sua instância tiver discos SSD locais anexados, inclua a flag
--local-ssd-recovery-timeout
.Para definir um limite de tempo de erro do anfitrião, inclua a flag
--host-error-timeout-seconds
.
Por exemplo, para definir o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, definir um limite de tempo de recuperação de dados do SSD local e definir um limite de tempo de erro do anfitrião, execute o seguinte comando. O exemplo seguinte também cria instâncias numa única zona e especifica um padrão de nome para as instâncias:
gcloud compute instances bulk create \ --count=COUNT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --restart-on-failure \ --zone=ZONE
Substitua o seguinte:
COUNT
: o número de instâncias a criar.ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a gastar na recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MACHINE_TYPE
: o tipo de máquina a usar.MAINTENANCE_POLICY
: o comportamento de manutenção das instâncias. O valor pode serTERMINATE
ouMIGRATE
. Se estiver a criar VMs Spot, VMs preemptíveis ou instâncias que não suportam a migração em direto, só pode usar oTERMINATE
.NAME_PATTERN
: o padrão de nome para as instâncias. Para substituir uma sequência de números num nome de instância, use uma sequência de carateres de cardinal (#
). Por exemplo, usarinstance-#
para o padrão de nome gera instâncias com nomes que começam porinstance-1
,instance-2
e continuam até ao número de instâncias especificado porCOUNT
.ZONE
: a zona na qual criar as instâncias.
REST
Para definir a política de manutenção do anfitrião enquanto cria instâncias em massa, faça um pedido
POST
ao métodoinstances.bulkInsert
. No corpo do pedido, inclua um ou mais dos seguintes campos no camposcheduling
:Para definir o comportamento de manutenção do anfitrião, inclua o campo
onHostMaintenance
.Para definir o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua o campo
automaticRestart
.Para impedir que a instância seja reiniciada automaticamente, inclua o campo
automaticRestart
.
Para definir um limite de tempo para a recuperação de dados de um SSD local se a sua instância tiver discos SSD locais anexados, inclua o campo
localSsdRecoveryTimeout
.Para definir um limite de tempo de erro do anfitrião, inclua o campo
hostErrorTimeoutSeconds
.
Por exemplo, para definir o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, definir um limite de tempo de recuperação de dados do SSD local e definir um limite de tempo de erro do anfitrião, faça um pedido da seguinte forma. O exemplo seguinte também cria instâncias numa única zona e especifica um padrão de nome para as instâncias:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto no qual criar as instâncias.ZONE
: a zona na qual criar as instâncias.COUNT
: o número de instâncias a criar.NAME_PATTERN
: o padrão de nome para as instâncias. Para substituir uma sequência de números num nome de instância, use uma sequência de carateres de cardinal (#
). Por exemplo, usarinstance-#
para o padrão de nome gera instâncias com nomes que começam porinstance-1
,instance-2
e continuam até ao número de instâncias especificado porCOUNT
.MACHINE_TYPE
: o tipo de máquina a usar.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de estar formatada como
family/IMAGE_FAMILY
. Isto especifica a imagem do SO não descontinuada mais recente. Por exemplo, se especificarfamily/debian-12
, é usada a versão mais recente na família de imagens do Debian 12. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.
AUTOMATIC_RESTART
: o comportamento de reinício automático da instância se esta falhar ou o Compute Engine a parar para uma paragem programada. Especifique um dos seguintes valores:Para permitir que o Compute Engine reinicie automaticamente a sua instância:
true
Para impedir os reinícios automáticos:
false
ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a dedicar à recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MAINTENANCE_POLICY
: o comportamento de manutenção das instâncias. O valor pode serTERMINATE
ouMIGRATE
. Se estiver a criar VMs Spot, VMs preemptíveis ou instâncias que não suportam a migração em direto, só pode usar oTERMINATE
.
Para mais informações sobre como criar instâncias em massa, consulte o artigo Crie VMs em massa.
Defina a política ao criar um modelo de instância
Pode definir a política de manutenção do anfitrião ao criar um modelo de instância. Todas as instâncias de computação que criar através do modelo herdam a política de manutenção do anfitrião especificada no modelo.
Para definir o limite de tempo da recuperação de dados do SSD local ao criar um modelo de instância que especifica discos SSD local, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Modelos de instâncias.
Clique em Criar modelo de instância. É apresentada a página Criar modelo de instância.
No campo Nome, introduza um nome para o modelo de instância.
Na secção Localização, selecione uma das seguintes opções:
Para criar um modelo de instância regional, selecione Regional (recomendado) e, de seguida, selecione a região na qual criar o modelo.
Para criar um modelo de instância global, selecione Global.
Na secção Configuração da máquina, especifique o tipo de máquina para o modelo de instância.
Na secção Modelo de aprovisionamento, expanda Definições avançadas do modelo de aprovisionamento de VMs e, de seguida, faça uma ou mais das seguintes ações:
Para alterar o comportamento durante eventos de manutenção, na lista Manutenção no anfitrião, selecione uma das seguintes opções:
Para migrar a instância durante eventos de manutenção do anfitrião, selecione Migrar instância de VM (recomendado).
Para parar a instância durante eventos de manutenção do anfitrião, selecione Terminar instância de VM.
Para alterar o período de limite de tempo antes de reiniciar uma instância que não responde, na lista Limite de tempo de erro do anfitrião, selecione uma das seguintes opções:
Para não especificar um limite de tempo de erro do anfitrião, selecione Não especificado (predefinição).
Para especificar um limite de tempo de erro do anfitrião, selecione uma das opções disponíveis, até 5 minutos e 30 segundos.
Para alterar se deve reiniciar a instância se esta falhar ou for parada, na lista Reinício automático, selecione uma das seguintes opções:
Para reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, selecione Ativado (recomendado).
Para impedir que a instância seja reiniciada automaticamente após erros do anfitrião ou paragens programadas, selecione Desativado.
Clique em Criar.
gcloud
Para definir a política de manutenção do anfitrião ao criar um modelo de instância, use o comando
gcloud compute instance-templates create
com um ou mais dos seguintes flags:Para definir o comportamento de manutenção do anfitrião, inclua o campo
onHostMaintenance
.Para definir o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua o campo
automaticRestart
.Para impedir que a instância seja reiniciada automaticamente, inclua o campo
automaticRestart
.
Para definir um limite de tempo para a recuperação de dados de um SSD local se a sua instância tiver discos SSD locais anexados, inclua o campo
localSsdRecoveryTimeout
.Para definir um limite de tempo de erro do anfitrião, inclua o campo
hostErrorTimeoutSeconds
.
Por exemplo, para definir o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, definir um limite de tempo de recuperação de dados do SSD local e definir um limite de tempo de erro do anfitrião, execute o seguinte comando. O exemplo seguinte também cria um modelo de instância regional. Para criar um modelo de instância global, use o mesmo comando sem a flag
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --instance-template-region=REGION \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure
Substitua o seguinte:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.REGION
: a região na qual criar o modelo de instância.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a gastar na recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MACHINE_TYPE
: o tipo de máquina a usar.MAINTENANCE_POLICY
: o comportamento de manutenção das instâncias. O valor pode serTERMINATE
ouMIGRATE
. Se estiver a especificar uma VM Spot, uma VM preemptível ou um tipo de instância que não suporta a migração em direto no modelo de instância, só pode usarTERMINATE
.
REST
Para definir a política de manutenção do anfitrião ao criar um modelo de instância, faça um pedido
POST
a um dos seguintes métodos:Para criar um modelo de instância regional: Método
regionInstanceTemplates.insert
Para criar um modelo de instância global: Método
instanceTemplates.insert
No corpo do pedido, inclua um ou mais dos seguintes campos no campo
scheduling
:Para definir o comportamento de manutenção do anfitrião, inclua o campo
onHostMaintenance
.Para definir o comportamento de reinício automático, faça uma das seguintes ações:
Para reiniciar automaticamente a instância, inclua o campo
automaticRestart
.Para impedir que a instância seja reiniciada automaticamente, inclua o campo
automaticRestart
.
Para definir um limite de tempo para a recuperação de dados de um SSD local se a sua instância tiver discos SSD locais anexados, inclua o campo
localSsdRecoveryTimeout
.Para definir um limite de tempo de erro do anfitrião, inclua o campo
hostErrorTimeoutSeconds
.
Por exemplo, para definir o comportamento de manutenção do anfitrião, reiniciar automaticamente a instância após erros do anfitrião ou paragens programadas, definir um limite de tempo de recuperação de dados do SSD local e definir um limite de tempo de erro do anfitrião, faça um pedido da seguinte forma. O exemplo seguinte também cria um modelo de instância regional.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto no qual criar o modelo de instância.REGION
: a região na qual criar o modelo de instância.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de estar formatada como
family/IMAGE_FAMILY
. Isto especifica a imagem do SO não descontinuada mais recente. Por exemplo, se especificarfamily/debian-12
, é usada a versão mais recente na família de imagens do Debian 12. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.
MACHINE_TYPE
: o tipo de máquina a usar.AUTOMATIC_RESTART
: o comportamento de reinício automático da instância se esta falhar ou o Compute Engine a parar para uma paragem programada. Especifique um dos seguintes valores:Para permitir que o Compute Engine reinicie automaticamente a sua instância:
true
Para impedir os reinícios automáticos:
false
ERROR_DETECTION_TIMEOUT
: o número de segundos antes de reiniciar uma instância que não responde. O valor tem de estar compreendido entre90
(90 segundos) e330
(330 segundos ou 5 minutos e 30 segundos). Só são permitidos incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: o número de horas a gastar na recuperação de dados dos discos SSD locais anexados. O valor tem de estar compreendido entre0
(0 horas) e168
(168 horas ou 7 dias). Se definir este campo como0
, significa que o Compute Engine não recupera os dados do SSD local.MAINTENANCE_POLICY
: o comportamento de manutenção das instâncias. O valor pode serTERMINATE
ouMIGRATE
. Se estiver a especificar uma VM Spot, uma VM preemptível ou um tipo de instância que não suporta a migração em direto no modelo de instância, só pode usarTERMINATE
.
Para mais informações sobre como criar um modelo de instância, consulte o artigo Crie modelos de instância.
Veja a política de manutenção do anfitrião de uma instância
Pode ver a política de manutenção do anfitrião de uma instância consultando os detalhes da instância.
Quando vê os detalhes da instância através da CLI gcloud ou da API REST, só pode ver os campos
localSsdRecoveryTimeout
ehostErrorTimeoutSeconds
se os tiver especificado durante a criação ou a atualização da instância.Para ver o limite de tempo da recuperação de dados do SSD local numa instância com discos SSD local anexados, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
Na coluna Nome, clique na instância que quer ver. É apresentada uma página com os detalhes da instância.
No separador Detalhes, na secção Gestão, na secção Políticas de disponibilidade, pode ver o seguinte:
No campo Manutenção no anfitrião, pode ver os eventos de comportamento de manutenção do anfitrião da instância.
No campo Limite de tempo de erro do anfitrião, pode ver o período de tempo que a instância aguarda antes de reiniciar ou parar a instância depois de detetar que não está a responder. Se o valor não estiver definido (—), o tempo de espera predefinido é de 5 minutos e 30 segundos.
No campo de reinício automático, pode ver se a instância reinicia automaticamente a instância após uma falha ou se o Compute Engine a para para uma paragem programada.
gcloud
Para ver a política de manutenção do anfitrião de uma instância, use o comando
gcloud compute instances describe
com a flag--flatten
definida comoscheduling
:gcloud compute instances describe INSTANCE_NAME \ --flatten=scheduling \ --zone=ZONE
Substitua o seguinte:
INSTANCE_NAME
: o nome da instância.ZONE
: a zona onde a instância está localizada.
O resultado é semelhante ao seguinte:
--- scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
Para ver a política de manutenção do anfitrião de uma instância, faça um pedido
GET
ao métodoinstances.get
. No URL do pedido, inclua o parâmetro de consultafields
e defina-o comoscheduling
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling
Substitua o seguinte:
PROJECT_ID
: o projeto onde a instância existe.ZONE
: a zona onde a instância existe.INSTANCE_NAME
: o nome da instância.
O resultado é semelhante ao seguinte:
{ "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } } }
O que se segue?
Processo de migração em direto durante eventos de manutenção
Consultar o servidor de metadados para ver avisos de eventos de manutenção
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-09-19 UTC.
-