Definir a política de manutenção do host para uma instância de computação,Definir a política de manutenção do host para uma instância de computação


Este documento explica como definir a política de manutenção do host para uma instância do Compute Engine para determinar seu comportamento durante eventos do host. Para saber mais sobre políticas de manutenção de host, consulte Política de manutenção de host .

Uma política de manutenção de host determina como sua instância responde quando o host no qual a instância está sendo executada requer manutenção ou encontra um erro. Configurar a política de manutenção do host para uma instância ajuda você a fazer o seguinte:

  • Minimize o tempo de inatividade.

  • Evite a perda de dados.

Limitações

Para políticas de manutenção de host, aplicam-se as seguintes limitações:

  • As instâncias de máquinas virtuais que usam tipos de máquinas E2 só podem migrar em tempo real durante eventos de manutenção do host, a menos que sejam VMs spot ou VMs preemptivas.

  • As instâncias a seguir só podem parar durante eventos de manutenção do host:

  • VMs spot e VMs preemptivas não podem reiniciar automaticamente após erros de host ou paradas programadas.

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.

Funções obrigatórias

Para obter as permissões necessárias para definir a política de manutenção do host para uma instância de computação, peça ao administrador para conceder a você a função do IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) em seu projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Essa função predefinida contém as permissões necessárias para definir a política de manutenção do host para uma instância de computação. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias :

Permissões necessárias

As seguintes permissões são necessárias para definir a política de manutenção do host 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 legada à 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 ao usar uma rede legada: 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 ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
    • Para definir metadados de instância de VM para a VM: compute.instances.setMetadata no projeto
    • Para definir tags para a VM: compute.instances.setTags na VM
    • Para definir rótulos 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 somente leitura ou leitura-gravação: compute.disks.use no disco
    • Para anexar um disco existente no modo somente 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 host para uma instância: compute.instances.setScheduling na instância

Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .

Propriedades de manutenção de host disponíveis

Você pode personalizar o comportamento da sua instância de computação durante a manutenção agendada ou eventos de host inesperados. A menos que você especifique o contrário, o Compute Engine usa configurações padrão quando você cria uminstância, instâncias em massa ou um modelo de instância.

É possível configurar as seguintes propriedades de manutenção do host:

  • Comportamento de manutenção ( onHostMaintenance ) : o que acontece com sua instância durante um evento de manutenção em seu host que pode fazer com que a instância seja reiniciada. Você pode definir essa propriedade como uma das seguintes opções:

    • Migrar : o Compute Engine migra automaticamente sua instância para outro host. Esta é a configuração padrão para todos os tipos de instâncias, exceto VMs spot e VMs preemptivas.

    • Encerrar : o Compute Engine interrompe sua instância. Essa é a configuração padrão para VMs spot ou VMs preemptivas e é a única configuração compatível para instâncias Z3, instâncias bare metal e instâncias com GPUs ou TPUs anexadas.

  • Reinicialização automática ( automaticRestart ) : se a instância será reiniciada em caso de falha ou se o Compute Engine a interromper para uma parada programada, como um evento de manutenção. Você pode definir essa propriedade como uma das seguintes opções:

    • Ativado : o Compute Engine reinicia automaticamente a instância. Esta é a configuração padrão para todos os tipos de instâncias, exceto VMs spot e VMs preemptivas. Você especifica essa configuração da seguinte maneira:

      • Para o console do Google Cloud, no painel Avançado , na lista Reinicialização automática , selecione Ativado (recomendado) .

      • Para a CLI do Google Cloud, use a sinalização --restart-on-failure .

      • Para REST, configure o campo automaticRestart como true .

    • Desativado : o Compute Engine não reinicia a instância. Esta é a configuração padrão para VMs spot ou VMs preemptivas. Você especifica essa configuração da seguinte maneira:

      • Para o console do Google Cloud, no painel Avançado , na lista Reinicialização automática , selecione Desativado .

      • Para a CLI gcloud, use a sinalização --no-restart-on-failure .

      • Para REST, configure o campo automaticRestart como false .

  • Tempo limite de recuperação de dados SSD local ( localSsdRecoveryTimeout ) : esta configuração se aplica apenas a instâncias que possuem discos SSD locais anexados. Ele determina quanto tempo o Compute Engine aguarda para recuperar dados dos discos SSD locais após erros de host. Por padrão, esta propriedade não está definida. Você pode definir essa propriedade como uma das seguintes opções:

    • Não definido : o Compute Engine usa o tempo de espera padrão:

      • 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 de espera. Definir essa propriedade como 0 significa que o Compute Engine não recupera dados do SSD local e reinicia a instância imediatamente.

  • Tempo limite de erro do host ( hostErrorTimeoutSeconds ) : esta propriedade determina quanto tempo o Compute Engine aguarda para reiniciar uma instância que não responde. Você deve definir essa configuração antes que a instância pare de responder. Use um tempo limite longo o suficiente para que uma instância se recupere da falta de resposta. Você pode definir essa propriedade como uma das seguintes opções:

    • Não definido : o Compute Engine aguarda até 330 segundos (5 minutos e 30 segundos). Esta é a configuração padrã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.

Definir a política de manutenção do host para uma instância

Por padrão, as instâncias de computação usam as configurações padrão para sua política de manutenção de host. Para personalizar essas configurações, use um dos seguintes métodos:

Definir a política para uma instância existente

Antes de alterar a política de manutenção do host de uma instância existente, verifique o seguinte:

  • Não é possível alterar o comportamento de manutenção ( onHostMaintenance ) dos seguintes tipos de instância:

  • Não é possível configurar VMs spot ou VMs preemptivas para reiniciar automaticamente após erros de host ou paradas programadas.

Para alterar o tempo limite de recuperação de dados do SSD local em uma instância que tenha discos SSD locais anexados, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:

Console

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

    Acesse as instâncias de VM

  2. Na coluna Nome , clique no nome da instância que você deseja atualizar. Uma página que fornece os detalhes da instância é exibida.

  3. Clique em Editar . Uma página que permite editar as propriedades da instância é exibida.

  4. Na seção Gerenciamento , você pode fazer um ou mais dos seguintes procedimentos:

    • Para alterar o comportamento durante eventos de manutenção, selecione outra opção na lista Na manutenção do host

    • Para alterar o período de tempo limite antes de reiniciar uma instância que não responde, selecione outra opção na lista Tempo limite de erro do host .

    • Para alterar se a instância deve ou não ser reiniciada após erros do host ou paradas programadas, selecione outra opção na lista Reinicialização automática .

  5. Clique em Salvar .

gcloud

Para alterar a política de manutenção do host em uma instância existente, use o comando gcloud compute instances set-scheduling com uma ou mais das seguintes sinalizações:

  • Para alterar o comportamento de manutenção do host, inclua o sinalizador --maintenance-policy .

  • Para alterar o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o sinalizador --restart-on-failure .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o sinalizador --no-restart-on-failure .

  • Para alterar o tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o sinalizador --local-ssd-recovery-timeout .

  • Para alterar o tempo limite de erro do host, inclua o sinalizador --host-error-timeout-seconds .

Por exemplo, para alterar o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, alterar o tempo limite de recuperação de dados do SSD local e alterar o tempo limite de erro do host, 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 que o Compute Engine reinicie uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE .

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • ZONE : a zona onde sua instância existe.

DESCANSAR

Para alterar a política de manutenção do host em uma instância existente, faça uma solicitação POST para o método instances.setScheduling . No corpo da solicitação, inclua um ou mais dos seguintes campos:

  • Para alterar o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para alterar o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o campo automaticRestart .

  • Para alterar o tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para alterar o tempo limite de erro do host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para alterar o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, alterar o tempo limite de recuperação de dados do SSD local e alterar o tempo limite de erro do host, faça uma solicitação 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 existe sua instância.

  • ZONE : a zona onde sua instância existe.

  • INSTANCE_NAME : o nome da sua instância.

  • AUTOMATIC_RESTART : o comportamento de reinicialização automática da instância caso ela trave ou o Compute Engine a interrompa para uma parada programada. Especifique um dos seguintes valores:

    • Para permitir que o Compute Engine reinicie automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE .

Defina a política ao criar uma instância

Você pode definir a política de manutenção do host de uma instância de computação ao criá-la.

Para definir o tempo limite de recuperação de dados do SSD local ao criar uma instância que tenha discos SSD locais anexados, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:

Console

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

    Vá para Criar uma instância

  2. No campo Nome , insira um nome para a instância.

  3. Nos campos Região e Zona , especifique em qual região e zona criar a instância.

  4. Especifique o tipo de máquina da instância.

  5. No menu de navegação, clique em Avançado .

  6. Na seção Modelo de provisionamento , expanda Configurações avançadas do modelo de provisionamento de VM e execute um ou mais dos seguintes procedimentos:

    • Para definir o comportamento durante eventos de manutenção, na lista Na manutenção do host , selecione uma das seguintes opções:

      • Para migrar a instância durante eventos de manutenção do host, selecione Migrar instância de VM (recomendado) .

      • Para interromper a instância durante eventos de manutenção do host, selecione Terminate VM instance .

    • Para definir o período de tempo limite antes de reiniciar uma instância que não responde, na lista Tempo limite de erro do host , selecione uma das seguintes opções:

      • Para não especificar um tempo limite de erro de host, selecione Unspecified (default) .

      • Para especificar um tempo limite de erro de host, selecione uma das opções disponíveis, até 5 minutos e 30 segundos .

    • Para definir se a instância deve ser reiniciada se ela travar ou for interrompida, na lista Reinicialização automática , selecione uma das seguintes opções:

      • Para reiniciar automaticamente a instância após erros de host ou paradas programadas, selecione Ativado (recomendado) .

      • Para evitar que a instância seja reiniciada automaticamente após erros de host ou paradas programadas, selecione Desligado .

  7. Clique em Criar .

gcloud

Para definir a política de manutenção do host de uma instância ao criá-la, use o comando gcloud compute instances create com uma ou mais das seguintes sinalizações:

  • Para definir o comportamento de manutenção do host, inclua o sinalizador --maintenance-policy .

  • Para definir o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o sinalizador --restart-on-failure .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o sinalizador --no-restart-on-failure .

  • Para definir um tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o sinalizador --local-ssd-recovery-timeout .

  • Para definir um tempo limite de erro do host, inclua o sinalizador --host-error-timeout-seconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite de recuperação de dados do SSD local e definir um tempo limite de erro do host, 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 deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MACHINE_TYPE : o tipo de máquina a ser usada.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE . Se você estiver criando uma VM Spot, uma VM preemptiva ou uma instância que não oferece suporte à migração em tempo real , só poderá usar TERMINATE .

  • ZONE : a zona na qual criar a instância.

DESCANSAR

Para definir a política de manutenção do host de uma instância ao criá-la, faça uma solicitação POST para o método instances.insert . No corpo da solicitação, inclua um ou mais dos seguintes campos no campo scheduling :

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro de host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite de recuperação de dados SSD local e definir um tempo limite de erro do host, faça uma solicitação 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 a instância será criada.

  • ZONE : a zona na qual criar a instância.

  • INSTANCE_NAME : o nome da instância.

  • MACHINE_TYPE : o tipo de máquina a ser usada.

  • IMAGE_PROJECT : o projeto de imagem que contém a imagem — por exemplo, debian-cloud . Para obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .

  • IMAGE : especifique um dos seguintes:

    • Uma versão específica da imagem do sistema operacional — por exemplo, debian-12-bookworm-v20240617 .

    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12 , a versão mais recente da família de imagens Debian 12 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .

  • AUTOMATIC_RESTART : o comportamento de reinicialização automática da instância caso ela trave ou o Compute Engine a interrompa para uma parada programada. Especifique um dos seguintes valores:

    • Para permitir que o Compute Engine reinicie automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE . Se você estiver criando uma VM Spot ou uma instância que não oferece suporte à migração em tempo real , você só poderá usar TERMINATE .

Para mais informações sobre como criar uma instância, consulte Criar e iniciar uma instância do Compute Engine .

Defina a política ao criar instâncias em massa

Para definir a política de manutenção do host ao criar instâncias em massa, selecione uma das seguintes opções:

gcloud

Para definir a política de manutenção do host ao criar instâncias em massa, use o comando gcloud compute instances bulk create com uma ou mais das seguintes sinalizações:

  • Para definir o comportamento de manutenção do host, inclua o sinalizador --maintenance-policy .

  • Para definir o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o sinalizador --restart-on-failure .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o sinalizador --no-restart-on-failure .

  • Para definir um tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o sinalizador --local-ssd-recovery-timeout .

  • Para definir um tempo limite de erro do host, inclua o sinalizador --host-error-timeout-seconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite de recuperação de dados do SSD local e definir um tempo limite de erro do host, execute o comando a seguir. O exemplo a seguir também cria instâncias em uma ú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 serem criadas.

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MACHINE_TYPE : o tipo de máquina a ser usada.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você estiver criando VMs spot, VMs preemptivas ou instâncias que não oferecem suporte à migração em tempo real , você só poderá usar TERMINATE .

  • NAME_PATTERN : o padrão de nome para as instâncias. Para substituir uma sequência de números em um nome de instância, use uma sequência de caracteres hash ( # ). Por exemplo, usar instance-# para o padrão de nome gera instâncias com nomes começando com instance-1 , instance-2 e continuando até o número de instâncias especificado por COUNT .

  • ZONE : a zona na qual criar as instâncias.

DESCANSAR

Para definir a política de manutenção do host ao criar instâncias em massa, faça uma solicitação POST para o método instances.bulkInsert . No corpo da solicitação, inclua um ou mais dos seguintes campos no campo scheduling :

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro de host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite de recuperação de dados SSD local e definir um tempo limite de erro do host, faça uma solicitação da seguinte maneira. O exemplo a seguir também cria instâncias em uma ú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 serão criadas as instâncias.

  • ZONE : a zona na qual criar as instâncias.

  • COUNT : o número de instâncias a serem criadas.

  • NAME_PATTERN : o padrão de nome para as instâncias. Para substituir uma sequência de números em um nome de instância, use uma sequência de caracteres hash ( # ). Por exemplo, usar instance-# para o padrão de nome gera instâncias com nomes começando com instance-1 , instance-2 e continuando até o número de instâncias especificado por COUNT .

  • MACHINE_TYPE : o tipo de máquina a ser usada.

  • IMAGE_PROJECT : o projeto de imagem que contém a imagem — por exemplo, debian-cloud . Para obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .

  • IMAGE : especifique um dos seguintes:

    • Uma versão específica da imagem do sistema operacional — por exemplo, debian-12-bookworm-v20240617 .

    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12 , a versão mais recente da família de imagens Debian 12 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .

  • AUTOMATIC_RESTART : o comportamento de reinicialização automática da instância caso ela trave ou o Compute Engine a interrompa para uma parada programada. Especifique um dos seguintes valores:

    • Para permitir que o Compute Engine reinicie automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você estiver criando VMs spot, VMs preemptivas ou instâncias que não oferecem suporte à migração em tempo real , você só poderá usar TERMINATE .

Para obter mais informações sobre como criar instâncias em massa, consulte Criar VMs em massa .

Defina a política ao criar um modelo de instância

Você pode definir a política de manutenção do host ao criar um modelo de instância. Todas as instâncias de computação criadas usando o modelo herdam a política de manutenção do host especificada no modelo.

Para definir o tempo limite de recuperação de dados do SSD local ao criar um modelo de instância que especifique discos SSD locais, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:

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 . A página Criar modelo de instância é exibida.

  3. No campo Nome , insira um nome para o modelo de instância.

  4. Na seção Localização , selecione uma das seguintes opções:

    • Para criar um modelo de instância regional, selecione Regional (recomendado) e selecione a região na qual deseja criar o modelo.

    • Para criar um modelo de instância global, selecione Global .

  5. Na seção Configuração da máquina , especifique o tipo de máquina para o modelo de instância.

  6. Na seção Modelo de provisionamento , expanda Configurações avançadas do modelo de provisionamento de VM e execute um ou mais dos seguintes procedimentos:

    • Para alterar o comportamento durante eventos de manutenção, na lista Na manutenção do host , selecione uma das seguintes opções:

      • Para migrar a instância durante eventos de manutenção do host, selecione Migrar instância de VM (recomendado) .

      • Para interromper a instância durante eventos de manutenção do host, selecione Terminate VM instance .

    • Para alterar o período de tempo limite antes de reiniciar uma instância que não responde, na lista Tempo limite de erro do host , selecione uma das seguintes opções:

      • Para não especificar um tempo limite de erro de host, selecione Unspecified (default) .

      • Para especificar um tempo limite de erro de host, selecione uma das opções disponíveis, até 5 minutos e 30 segundos .

    • Para alterar se a instância deve ser reiniciada se ela travar ou for interrompida, na lista Reinicialização automática , selecione uma das seguintes opções:

      • Para reiniciar automaticamente a instância após erros de host ou paradas programadas, selecione Ativado (recomendado) .

      • Para evitar que a instância seja reiniciada automaticamente após erros de host ou paradas programadas, selecione Desligado .

  7. Clique em Criar .

gcloud

Para definir a política de manutenção do host ao criar um modelo de instância, use o gcloud compute instance-templates create com uma ou mais das seguintes sinalizações:

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro de host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite de recuperação de dados do SSD local e definir um tempo limite de erro do host, execute o comando a seguir. O exemplo a seguir também cria um modelo de instância regional. Para criar um modelo de instância global, use o mesmo comando sem o sinalizador --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 deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • REGION : a região na qual o modelo de instância será criado.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MACHINE_TYPE : o tipo de máquina a ser usada.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você estiver especificando uma VM Spot, uma VM preemptiva ou um tipo de instância que não oferece suporte à migração em tempo real no modelo de instância, só poderá usar TERMINATE .

DESCANSAR

Para definir a política de manutenção do host ao criar um modelo de instância, faça uma solicitação POST para um dos seguintes métodos:

No corpo da solicitação, inclua um ou mais dos seguintes campos no campo scheduling :

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento de reinicialização automática, siga um destes procedimentos:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para evitar que a instância seja reiniciada automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite de recuperação de dados do SSD local se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro de host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite de recuperação de dados SSD local e definir um tempo limite de erro do host, faça uma solicitação da seguinte maneira. O exemplo a seguir 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 será criado o modelo de instância.

  • REGION : a região na qual o modelo de instância será criado.

  • 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 obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .

  • IMAGE : especifique um dos seguintes:

    • Uma versão específica da imagem do sistema operacional — por exemplo, debian-12-bookworm-v20240617 .

    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12 , a versão mais recente da família de imagens Debian 12 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .

  • MACHINE_TYPE : o tipo de máquina a ser usada.

  • AUTOMATIC_RESTART : o comportamento de reinicialização automática da instância caso ela trave ou o Compute Engine a interrompa para uma parada programada. Especifique um dos seguintes valores:

    • Para permitir que o Compute Engine reinicie automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos ou 5 minutos e 30 segundos). Somente incrementos de 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas gastas na recuperação de dados dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o Compute Engine não recupera dados do SSD local.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você estiver especificando uma VM Spot, uma VM preemptiva ou um tipo de instância que não oferece suporte à migração em tempo real no modelo de instância, só poderá usar TERMINATE .

Para obter mais informações sobre como criar um modelo de instância, consulte Criar modelos de instância .

Ver a política de manutenção do host de uma instância

Você pode visualizar a política de manutenção do host de uma instância visualizando os detalhes da instância .

Ao visualizar os detalhes da instância usando a CLI gcloud ou a API REST, você só poderá visualizar os campos localSsdRecoveryTimeout e hostErrorTimeoutSeconds se os tiver especificado ao criar ou atualizar a instância .

Para visualizar o tempo limite de recuperação de dados do SSD local em uma instância que tenha discos SSD locais anexados, use a CLI gcloud ou a API REST. Caso contrário, selecione qualquer uma das seguintes opções:

Console

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

    Acesse as instâncias de VM

  2. Na coluna Nome , clique na instância que deseja visualizar. Uma página que fornece os detalhes da instância é exibida.

  3. Na guia Detalhes , na seção Gerenciamento , na seção Políticas de disponibilidade , você pode visualizar o seguinte:

    • No campo Na manutenção do host , você pode ver os eventos de comportamento de manutenção do host da instância.

    • No campo Tempo limite de erro do host , você pode ver quanto tempo a instância espera antes de reiniciar ou parar a instância após detectar que ela não está respondendo. Se o valor não estiver definido ( ), o tempo de espera padrão será de 5 minutos e 30 segundos.

    • No campo de reinicialização automático , você pode ver se a instância reinicia automaticamente a instância depois que ela trava ou calcula o motor para uma parada programada.

gcloud

Para visualizar a política de manutenção do host para uma instância, use as gcloud compute instances describe o comando com o sinalizador --flatten definido para scheduling :

 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.

A saída é semelhante à seguinte:

---
scheduling:
  automaticRestart: true
  hostErrorTimeoutSeconds: 120
  localSsdRecoveryTimeout:
    nanos: 0
    seconds: '10800'
  onHostMaintenance: MIGRATE
  preemptible: false
  provisioningModel: STANDARD

DESCANSAR

Para visualizar a Política de Manutenção do Host para uma instância, faça uma solicitação para GET as instances.get . Na URL da solicitação, inclua o parâmetro de consulta fields e defina -o como scheduling :

  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.

A saída é semelhante à seguinte:

{
  "scheduling": {
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "preemptible": false,
    "provisioningModel": "STANDARD",
    "localSsdRecoveryTimeout": {
      "seconds": "10800",
      "nanos": 0
    }
  }
}

O que vem a seguir

,

Este documento explica como definir a política de manutenção do host para uma instância do mecanismo de computação para determinar seu comportamento durante os eventos do host. Para saber mais sobre as políticas de manutenção do host, consulte a política de manutenção do host .

Uma política de manutenção do host determina como sua instância responde quando o host em que a instância está em execução requer manutenção ou encontra um erro. Configurar a política de manutenção do host para uma instância ajuda você a fazer o seguinte:

  • Minimizar o tempo de inatividade.

  • Impedir a perda de dados.

Limitações

Para políticas de manutenção do host, as seguintes limitações se aplicam:

  • Instâncias de máquinas virtuais usando os tipos de máquina E2 só podem migrar durante os eventos de manutenção do host, a menos que sejam VMs spot ou VMs preventíveis.

  • As instâncias a seguir só podem parar durante os eventos de manutenção do host:

  • VMs de ponto e VMs preventíveis não podem reiniciar automaticamente após erros do host ou paradas programadas.

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.

Funções obrigatórias

Para obter as permissões de que você precisa definir a política de manutenção do host para uma instância de computação, peça ao seu administrador que conceda a função de IAM da instância de computação (V1) ( roles/compute.instanceAdmin.v1 ) em seu projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Essa função predefinida contém as permissões necessárias para definir a política de manutenção do host para uma instância de computação. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias :

Permissões necessárias

As seguintes permissões são necessárias para definir a política de manutenção do host 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 legada à 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 ao usar uma rede legada: 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 ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
    • Para definir metadados de instância de VM para a VM: compute.instances.setMetadata no projeto
    • Para definir tags para a VM: compute.instances.setTags na VM
    • Para definir rótulos 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 somente leitura ou leitura-gravação: compute.disks.use no disco
    • Para anexar um disco existente no modo somente 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 host para uma instância: compute.instances.setScheduling na instância

Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .

Propriedades de manutenção do host disponível

Você pode personalizar como sua instância de computação se comporta durante a manutenção programada ou eventos inesperados do host. A menos que você especifique o contrário, o mecanismo de computação usa configurações padrão ao criar uminstância, instâncias em massa ou modelo de instância.

Você pode configurar as seguintes propriedades de manutenção do host:

  • Comportamento de manutenção ( onHostMaintenance ) : o que acontece com sua instância durante um evento de manutenção em seu host que pode fazer com que a instância reinicie. Você pode definir esta propriedade como um dos seguintes:

    • Migrar : o mecanismo de computação ao vivo automaticamente migra sua instância para outro host. Esta é a configuração padrão para todos os tipos de instâncias, exceto VMs spot e VMs premiáveis.

    • Terminar : o mecanismo de computação interrompe sua instância. Essa é a configuração padrão para VMs à vista ou VMs preventíveis, e é a única configuração suportada para instâncias Z3, instâncias nuas e instâncias com GPUs ou TPUs.

  • Reinicialização automática ( automaticRestart ) : se sua instância reinicia se travar ou computar o motor o interrompe para uma parada programada, como um evento de manutenção. Você pode definir esta propriedade como um dos seguintes:

    • ON : O mecanismo de computação reinicia automaticamente a instância. Essa é a configuração padrão para todos os tipos de instâncias, exceto as VMs à vista e VMs premiáveis. Você especifica esta configuração da seguinte maneira:

      • Para o Google Cloud Console, no painel avançado , na lista de reinicialização automática , selecione em (recomendado) .

      • Para o Google Cloud CLI, use o sinalizador --restart-on-failure .

      • Para descansar, defina o campo automaticRestart como true .

    • OFF : o mecanismo de computação não reinicia a instância. Esta é a configuração padrão para VMs à vista ou VMs preventíveis. Você especifica esta configuração da seguinte maneira:

      • Para o Google Cloud Console, no painel avançado , na lista de reinicialização automática , selecione OFF .

      • Para o GCLOUD CLI, use o sinalizador --no-restart-on-failure .

      • Para descansar, defina o campo automaticRestart como false .

  • Tempo limite local de recuperação de dados SSD ( localSsdRecoveryTimeout ) : Essa configuração se aplica apenas a instâncias que possuem discos SSD locais anexados. Ele determina quanto tempo o mecanismo de computação espera para recuperar dados de seus discos SSD locais após os erros do host. Por padrão, esta propriedade não é definida. Você pode definir esta propriedade como um dos seguintes:

    • Unset : Compute Engine usa o tempo de espera padrão:

      • Para Z3 VMs, 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 para esperar. Definir essa propriedade como 0 significa que o mecanismo de computação não recupera dados locais do SSD e reinicia a instância imediatamente.

  • Timeout de erro do host ( hostErrorTimeoutSeconds ) : Esta propriedade determina quanto tempo o mecanismo de computação aguarda para reiniciar uma instância que não responde. Você deve definir essa configuração antes que a instância se torne sem resposta. Use um tempo limite longo o suficiente para que uma instância se recupere de não responder. Você pode definir esta propriedade como um dos seguintes:

    • Unset : O mecanismo de computação aguarda até 330 segundos (5 minutos e 30 segundos). Esta é a configuração padrã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 host para uma instância

Por padrão, as instâncias de computação usam as configurações padrão para a política de manutenção do host. Para personalizar essas configurações, use um dos seguintes métodos:

Defina a política para uma instância existente

Antes de alterar a política de manutenção do host de uma instância existente, verifique o seguinte:

  • Você não pode alterar o comportamento de manutenção ( onHostMaintenance ) dos seguintes tipos de instâncias:

  • Você não pode configurar VMs spot ou VMs preventíveis para reiniciar automaticamente após erros do host ou paradas programadas.

Para alterar o tempo limite local de recuperação de dados do SSD em uma instância que possui discos SSD locais anexados, use a API GCLOUD CLI ou REST. Caso contrário, selecione qualquer uma das seguintes opções:

Console

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

    Acesse as instâncias de VM

  2. Na coluna Nome , clique no nome da instância que você deseja atualizar. Uma página que fornece os detalhes da instância é exibida.

  3. Clique em Editar . Uma página que permite editar propriedades da instância aparece.

  4. Na seção de gerenciamento , você pode fazer um ou mais dos seguintes:

    • Para alterar o comportamento durante os eventos de manutenção, selecione outra opção na lista de manutenção do host

    • Para alterar o período de tempo limite antes de reiniciar uma instância que não responde, selecione outra opção na lista de tempo limite de erro do host .

    • Para alterar se deve reiniciar a instância ou não após erros do host ou paradas programadas, selecione outra opção na lista de reinicialização automática .

  5. Clique em Salvar .

gcloud

Para alterar a política de manutenção do host em uma instância existente, use o comando gcloud compute instances set-scheduling com um ou mais dos seguintes sinalizadores:

  • Para alterar o comportamento de manutenção do host, inclua a bandeira --maintenance-policy .

  • Para alterar o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o sinalizador --restart-on-failure .

    • Para impedir que a instância reinicie automaticamente, inclua o sinalizador --no-restart-on-failure .

  • Para alterar o tempo limite local de recuperação de dados do SSD, se sua instância tiver discos SSD locais anexados, inclua o sinalizador --local-ssd-recovery-timeout .

  • Para alterar o tempo limite do erro do host, inclua o sinalizador --host-error-timeout-seconds .

Por exemplo, para alterar o comportamento de manutenção do host, reinicie automaticamente a instância após erros do host ou paradas programadas, alterar o tempo limite local de recuperação de dados do SSD e alterar o tempo limite do erro do host, 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 do mecanismo de computação reinicia uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE .

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • ZONE : a zona onde sua instância existe.

DESCANSAR

Para alterar a política de manutenção do host em uma instância existente, faça uma solicitação POST para as instances.setScheduling . No órgão de solicitação, inclua um ou mais dos seguintes campos:

  • Para alterar o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para alterar o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para impedir que a instância reinicie automaticamente, inclua o campo automaticRestart .

  • Para alterar o tempo limite local de recuperação de dados do SSD se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para alterar o tempo limite do erro do host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para alterar o comportamento de manutenção do host, reinicie automaticamente a instância após erros do host ou paradas programadas, altere o tempo limite local de recuperação de dados do SSD e altere o tempo limite do erro do host, faça uma solicitação 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 em que sua instância existe.

  • ZONE : a zona onde sua instância existe.

  • INSTANCE_NAME : o nome da sua instância.

  • AUTOMATIC_RESTART : o comportamento automático de reinicialização da instância se ele travar ou calcular o motor o interrompe para uma parada programada. Especifique um dos seguintes valores:

    • Para deixar o mecanismo de computação reiniciar automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE .

Defina a política ao criar uma instância

Você pode definir a política de manutenção do host de uma instância de computação ao criá -la.

Para definir o tempo limite local de recuperação de dados do SSD, criando uma instância que possui discos SSD locais anexados, use a API GCLOUD CLI ou REST. Caso contrário, selecione qualquer uma das seguintes opções:

Console

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

    Vá para Criar uma instância

  2. No campo Nome , insira um nome para a instância.

  3. Nos campos de região e zona , especifique em qual região e zona para criar a instância.

  4. Especifique o tipo de máquina para a instância.

  5. No menu de navegação, clique em Advanced .

  6. Na seção Modelo de provisionamento , expanda as configurações avançadas do modelo de provisionamento da VM e, em seguida, faça um ou mais dos seguintes:

    • Para definir o comportamento durante os eventos de manutenção, na lista de manutenção do host , selecione uma das seguintes opções:

      • Para migrar a instância durante os eventos de manutenção do host, selecione Migrar a instância da VM (recomendada) .

      • Para interromper a instância durante os eventos de manutenção do host, selecione encerrar a instância da VM .

    • Para definir o período de tempo limite antes de reiniciar uma instância que não responde, na lista de tempo limite de erro do host , selecione uma das seguintes opções:

      • Para não especificar um tempo limite de erro do host, selecione não especificado (padrão) .

      • Para especificar um tempo limite de erro do host, selecione uma das opções disponíveis, até 5 minutos e 30 segundos .

    • Para definir se deve reiniciar a instância se ela travar ou for interrompida, na lista de reinicialização automática , selecione uma das seguintes opções:

      • Para reiniciar automaticamente a instância após erros do host ou paradas programadas, selecione em (recomendado) .

      • Para impedir que a instância reinicie automaticamente após erros do host ou paradas programadas, selecione OFF .

  7. Clique em Criar .

gcloud

Para definir a política de manutenção do host de uma instância ao criá -la, use o gcloud compute instances create com um ou mais dos seguintes sinalizadores:

  • Para definir o comportamento de manutenção do host, inclua a bandeira --maintenance-policy .

  • Para definir o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o sinalizador --restart-on-failure .

    • Para impedir que a instância reinicie automaticamente, inclua o sinalizador --no-restart-on-failure .

  • Para definir um tempo limite local de recuperação de dados SSD, se sua instância tiver discos SSD locais anexados, inclua o sinalizador --local-ssd-recovery-timeout .

  • Para definir um tempo limite de erro do host, inclua o sinalizador --host-error-timeout-seconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite local de recuperação de dados e defina um tempo limite de erro do host, 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 deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MACHINE_TYPE : o tipo de máquina a ser usado.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE . Se você estiver criando uma VM spot, VM preventível ou uma instância que não suporta migração ao vivo , você só poderá usar TERMINATE .

  • ZONE : a zona para criar a instância.

DESCANSAR

Para definir a política de manutenção do host de uma instância ao criá -la, faça uma solicitação POST para o método instances.insert . No órgão de solicitação, inclua um ou mais dos campos a seguir no campo scheduling :

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para impedir que a instância reinicie automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite local de recuperação de dados SSD se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro do host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite local de recuperação de dados e defina um tempo limite de erro do host, faça uma solicitação 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 para criar a instância.

  • ZONE : a zona para criar a instância.

  • INSTANCE_NAME : o nome da instância.

  • MACHINE_TYPE : o tipo de máquina a ser usado.

  • IMAGE_PROJECT : o projeto de imagem que contém a imagem-por exemplo, debian-cloud . Para obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .

  • IMAGE : Especifique um dos seguintes:

    • Uma versão específica da imagem do sistema operacional-por exemplo, debian-12-bookworm-v20240617 .

    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso especifica a imagem do sistema operacional mais recente e não deprecida. Por exemplo, se você especificar family/debian-12 , a versão mais recente da família Debian 12 Image é usada. Para obter mais informações sobre o uso de famílias da imagem, consulte as melhores práticas das famílias .

  • AUTOMATIC_RESTART : o comportamento automático de reinicialização da instância se ele travar ou calcular o motor o interrompe para uma parada programada. Especifique um dos seguintes valores:

    • Para deixar o mecanismo de computação reiniciar automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MAINTENANCE_POLICY : o comportamento de manutenção da instância. O valor pode ser TERMINATE ou MIGRATE . Se você está criando uma VM spot ou uma instância que não suporta migração ao vivo , só poderá usar TERMINATE .

Para obter mais informações sobre como criar uma instância, consulte Criar e iniciar uma instância do mecanismo de computação .

Defina a política ao criar instâncias em massa

Para definir a Política de Manutenção do Host enquanto cria instâncias a granel, selecione uma das seguintes opções:

gcloud

Para definir a Política de Manutenção do Host enquanto cria instâncias a granel, use o comando gcloud compute instances bulk create com um ou mais dos seguintes sinalizadores:

  • Para definir o comportamento de manutenção do host, inclua a bandeira --maintenance-policy .

  • Para definir o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o sinalizador --restart-on-failure .

    • Para impedir que a instância reinicie automaticamente, inclua o sinalizador --no-restart-on-failure .

  • Para definir um tempo limite local de recuperação de dados SSD, se sua instância tiver discos SSD locais anexados, inclua o sinalizador --local-ssd-recovery-timeout .

  • Para definir um tempo limite de erro do host, inclua o sinalizador --host-error-timeout-seconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite local de recuperação de dados SSD e definir um tempo limite de erro no host, execute o seguinte comando. O exemplo a seguir também cria instâncias em uma ú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 para criar.

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MACHINE_TYPE : o tipo de máquina a ser usado.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você está criando VMs à vista, VMs preventíveis ou instâncias que não suportam migração ao vivo , você só poderá usar TERMINATE .

  • NAME_PATTERN : o padrão de nome para as instâncias. Para substituir uma sequência de números em um nome de instância, use uma sequência de caracteres de hash ( # ). Por exemplo, usando instance-# para o padrão de nome, gera instâncias com nomes começando com instance-1 , instance-2 e continuando até o número de instância especificada pela COUNT .

  • ZONE : a zona para criar as instâncias.

DESCANSAR

Para definir a Política de Manutenção do Host, criando instâncias a granel, faça uma solicitação POST para o método instances.bulkInsert . No órgão de solicitação, inclua um ou mais dos campos a seguir no campo scheduling :

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para impedir que a instância reinicie automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite local de recuperação de dados SSD se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro do host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite local de recuperação de dados e defina um tempo limite de erro do host, faça uma solicitação da seguinte forma. O exemplo a seguir também cria instâncias em uma ú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 para criar as instâncias.

  • ZONE : a zona para criar as instâncias.

  • COUNT : o número de instâncias para criar.

  • NAME_PATTERN : o padrão de nome para as instâncias. Para substituir uma sequência de números em um nome de instância, use uma sequência de caracteres de hash ( # ). Por exemplo, usando instance-# para o padrão de nome, gera instâncias com nomes começando com instance-1 , instance-2 e continuando até o número de instância especificada pela COUNT .

  • MACHINE_TYPE : o tipo de máquina a ser usado.

  • IMAGE_PROJECT : o projeto de imagem que contém a imagem-por exemplo, debian-cloud . Para obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .

  • IMAGE : Especifique um dos seguintes:

    • Uma versão específica da imagem do sistema operacional-por exemplo, debian-12-bookworm-v20240617 .

    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso especifica a imagem do sistema operacional mais recente e não deprecida. Por exemplo, se você especificar family/debian-12 , a versão mais recente da família Debian 12 Image é usada. Para obter mais informações sobre o uso de famílias da imagem, consulte as melhores práticas das famílias .

  • AUTOMATIC_RESTART : o comportamento automático de reinicialização da instância se ele travar ou calcular o motor o interrompe para uma parada programada. Especifique um dos seguintes valores:

    • Para deixar o mecanismo de computação reiniciar automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você está criando VMs à vista, VMs preventíveis ou instâncias que não suportam migração ao vivo , você só poderá usar TERMINATE .

Para obter mais informações sobre a criação de instâncias em massa, consulte Crie VMs a granel .

Defina a política ao criar um modelo de instância

Você pode definir a política de manutenção do host enquanto cria um modelo de instância. Todas as instâncias de computação que você cria usando o modelo herdam a política de manutenção do host especificada no modelo.

Para definir o tempo limite local de recuperação de dados SSD enquanto cria um modelo de instância que especifica discos SSD locais, use a API GCLOUD CLI ou REST. Caso contrário, selecione qualquer uma das seguintes opções:

Console

  1. No Google Cloud Console, vá para a página Modelos de instância .

    Vá para modelos de instância

  2. Clique em Criar modelo de instância . A página do modelo Create Instância é exibida.

  3. No campo Nome , insira um nome para o modelo de instância.

  4. Na seção Localização , selecione uma das seguintes opções:

    • Para criar um modelo de instância regional, selecione Regional (recomendado) e selecione a região para criar o modelo.

    • Para criar um modelo de instância global, selecione Global .

  5. Na seção Configuração da máquina , especifique o tipo de máquina para o modelo de instância.

  6. Na seção Modelo de provisionamento , expanda as configurações avançadas do modelo de provisionamento da VM e, em seguida, faça um ou mais dos seguintes:

    • Para alterar o comportamento durante os eventos de manutenção, na lista de manutenção do host , selecione uma das seguintes opções:

      • Para migrar a instância durante os eventos de manutenção do host, selecione Migrar a instância da VM (recomendada) .

      • Para interromper a instância durante os eventos de manutenção do host, selecione encerrar a instância da VM .

    • Para alterar o período de tempo limite antes de reiniciar uma instância que não responde, na lista de tempo limite de erro do host , selecione uma das seguintes opções:

      • Para não especificar um tempo limite de erro do host, selecione não especificado (padrão) .

      • Para especificar um tempo limite de erro do host, selecione uma das opções disponíveis, até 5 minutos e 30 segundos .

    • Para alterar se deve reiniciar a instância se ela travar ou for interrompida, na lista de reinicialização automática , selecione uma das seguintes opções:

      • Para reiniciar automaticamente a instância após erros do host ou paradas programadas, selecione em (recomendado) .

      • Para impedir que a instância reinicie automaticamente após erros do host ou paradas programadas, selecione OFF .

  7. Clique em Criar .

gcloud

Para definir a Política de Manutenção do Host enquanto cria um modelo de instância, use o gcloud compute instance-templates create comando com um ou mais dos seguintes sinalizadores:

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para impedir que a instância reinicie automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite local de recuperação de dados SSD se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro do host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite local de recuperação de dados SSD e definir um tempo limite de erro no host, execute o seguinte comando. O exemplo a seguir também cria um modelo de instância regional. Para criar um modelo de instância global, use o mesmo comando sem o sinalizador --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 deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • REGION : a região para criar o modelo de instância.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MACHINE_TYPE : o tipo de máquina a ser usado.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você estiver especificando uma VM spot, VM preventível ou tipo de instância que não suporta migração ao vivo no modelo de instância, você só poderá usar TERMINATE .

DESCANSAR

Para definir a política de manutenção do host enquanto cria um modelo de instância, faça uma solicitação POST para um dos seguintes métodos:

No órgão de solicitação, inclua um ou mais dos campos a seguir no campo scheduling :

  • Para definir o comportamento de manutenção do host, inclua o campo onHostMaintenance .

  • Para definir o comportamento automático de reinicialização, faça um dos seguintes:

    • Para reiniciar automaticamente a instância, inclua o campo automaticRestart .

    • Para impedir que a instância reinicie automaticamente, inclua o campo automaticRestart .

  • Para definir um tempo limite local de recuperação de dados SSD se sua instância tiver discos SSD locais anexados, inclua o campo localSsdRecoveryTimeout .

  • Para definir um tempo limite de erro do host, inclua o campo hostErrorTimeoutSeconds .

Por exemplo, para definir o comportamento de manutenção do host, reiniciar automaticamente a instância após erros do host ou paradas programadas, definir um tempo limite local de recuperação de dados e defina um tempo limite de erro do host, faça uma solicitação da seguinte forma. O exemplo a seguir 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 para criar o modelo de instância.

  • REGION : a região para 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 obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .

  • IMAGE : Especifique um dos seguintes:

    • Uma versão específica da imagem do sistema operacional-por exemplo, debian-12-bookworm-v20240617 .

    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso especifica a imagem do sistema operacional mais recente e não deprecida. Por exemplo, se você especificar family/debian-12 , a versão mais recente da família Debian 12 Image é usada. Para obter mais informações sobre o uso de famílias da imagem, consulte as melhores práticas das famílias .

  • MACHINE_TYPE : o tipo de máquina a ser usado.

  • AUTOMATIC_RESTART : o comportamento automático de reinicialização da instância se ele travar ou calcular o motor o interrompe para uma parada programada. Especifique um dos seguintes valores:

    • Para deixar o mecanismo de computação reiniciar automaticamente sua instância: true

    • Para evitar reinicializações automáticas: false

  • ERROR_DETECTION_TIMEOUT : o número de segundos antes de reiniciar uma instância que não responde. O valor deve estar entre 90 (90 segundos) e 330 (330 segundos, ou 5 minutos e 30 segundos). Apenas 30 segundos são permitidos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : o número de horas para gastar dados de recuperação dos discos SSD locais anexados. O valor deve estar entre 0 (0 horas) e 168 (168 horas ou 7 dias). Definir esse campo como 0 significa que o mecanismo de computação não recupera dados SSD locais.

  • MAINTENANCE_POLICY : o comportamento de manutenção das instâncias. O valor pode ser TERMINATE ou MIGRATE . Se você estiver especificando uma VM spot, VM preventível ou tipo de instância que não suporta migração ao vivo no modelo de instância, você só poderá usar TERMINATE .

Para obter mais informações sobre como criar um modelo de instância, consulte Criar modelos de instância .

Veja a política de manutenção do host de uma instância

Você pode visualizar a política de manutenção do host de uma instância visualizando os detalhes da instância .

Ao visualizar os detalhes da instância usando a API GCLOUD CLI ou REST, você só pode visualizar os campos localSsdRecoveryTimeout e hostErrorTimeoutSeconds .

To view the Local SSD data recovery timeout in an instance that has Local SSD disks attached, use the gcloud CLI or REST API. Otherwise, select any of the following options:

Console

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

    Acesse as instâncias de VM

  2. In the Name column, click the instance that you want to view. A page that gives the details of the instance appears.

  3. On the Details tab, in the Management section, in the Availability policies section, you can view the following:

    • In the On host maintenance field, you can see the instance's host maintenance behavior events.

    • In the Host error timeout field, you can see the amount of time the instance waits before restarting or stopping the instance after detecting that it's unresponsive. If the value is unset ( ), then the default wait time is 5 minutes and 30 seconds.

    • In the Automatic restart restart field, you can see whether the instance automatically restarts the instance after it crashes or Compute Engine stops it for a programmed stop.

gcloud

To view the host maintenance policy for an instance, use the gcloud compute instances describe command with the --flatten flag set to scheduling :

 gcloud compute instances describe INSTANCE_NAME \
    --flatten=scheduling \
    --zone=ZONE

Substitua o seguinte:

  • INSTANCE_NAME : o nome da instância.

  • ZONE : the zone where the instance is located.

A saída é semelhante à seguinte:

---
scheduling:
  automaticRestart: true
  hostErrorTimeoutSeconds: 120
  localSsdRecoveryTimeout:
    nanos: 0
    seconds: '10800'
  onHostMaintenance: MIGRATE
  preemptible: false
  provisioningModel: STANDARD

DESCANSAR

To view the host maintenance policy for an instance, make a GET request to the instances.get method . In the request URL, include the fields query parameter and set it to scheduling :

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling

Substitua o seguinte:

  • PROJECT_ID : the project where the instance exists.

  • ZONE : the zone where the instance exists.

  • INSTANCE_NAME : o nome da instância.

A saída é semelhante à seguinte:

{
  "scheduling": {
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "preemptible": false,
    "provisioningModel": "STANDARD",
    "localSsdRecoveryTimeout": {
      "seconds": "10800",
      "nanos": 0
    }
  }
}

O que vem a seguir