Instâncias de VM preemptivas

Esta página descreve instâncias de máquina virtual preemptiva (VM). Para saber como criar uma instância preemptiva, leia Criar e usar VMs preemptivas. Para saber mais sobre instâncias em geral, leia a documentação Instâncias de máquina virtual.

O que é uma instância preemptiva?

As instâncias preemptivas de VM estão disponíveis por um preço muito mais baixo (um desconto de 60% a 91%) em comparação com o preço das VMs padrão. No entanto, o Compute Engine poderá interromper essas instâncias (ou seja, forçar a interrupção delas) caso precise recuperar esses recursos para outras tarefas. Instâncias preemptivas são usadas como capacidade extra do Compute Engine, por isso a disponibilidade delas varia com o uso.

Se seus apps forem tolerantes a falhas e puderem resistir a possíveis preempções de instância, as instâncias preemptivas poderão reduzir consideravelmente os custos do Compute Engine. Por exemplo, jobs de processamento em lote podem ser executados em instâncias preemptivas. Quando algumas dessas instâncias são interrompidas durante o processamento, o job fica lento, mas não para por completo. As instâncias preemptivas concluem as tarefas de processamento em lote sem colocar carga de trabalho extra nas instâncias atuais e sem exigir que você pague o preço total de instâncias normais extra.

Limitações das instâncias preemptivas

As instâncias preemptivas funcionam como instâncias normais, mas têm as seguintes limitações:

  • O Compute Engine pode interromper instâncias preemptivas a qualquer momento devido a eventos do sistema. A probabilidade de isso acontecer geralmente é baixa, mas pode variar de um dia para o outro e de uma zona para a outra, dependendo das condições atuais.
  • O Compute Engine sempre interrompe instâncias preemptivas que estão em execução há mais de 24 horas. Certas ações redefinem esse contador de 24 horas.
  • As instâncias preemptivas são recursos finitos do Compute Engine. Por isso, pode ser que elas nem sempre estejam disponíveis.
  • Não é possível fazer migração em tempo real das instâncias preemptivas para uma instância normal de VM e nem configurá-las para reiniciar automaticamente quando há um evento de manutenção.
  • Devido às limitações anteriores, as instâncias preemptivas não são cobertas por nenhum contrato de nível de serviço e são excluídas do SLA do Compute Engine.
  • Os créditos de Nível gratuito do Google Cloud para o Compute Engine não se aplicam a instâncias preemptivas.

Suspensão de VMs preemptivas

Nesta seção, descrevemos como as VMs preemptivas são interrompidas pelo Compute Engine e quais VMs são selecionadas para preempção.

Processo de preempção

O Compute Engine executa as seguintes etapas para forçar a interrupção de uma instância:

  1. O Compute Engine envia um aviso de preempção para a instância na forma de um sinal ACPI G2 Soft Off (em inglês). É possível usar um script de encerramento para processar o aviso de preempção e concluir as ações de limpeza antes que a instância pare.
  2. Quando a instância não para depois de 30 segundos, o Compute Engine envia um sinal ACPI G3 Mechanical Off para o sistema operacional.
  3. O Compute Engine faz a transição da instância para um estado TERMINATED.

Você pode simular a preempção de uma instância ao pará-la.

As instâncias interrompidas continuarão aparecendo no projeto, mas você não será cobrado pelas horas da instância enquanto ela permanecer no estado TERMINATED. É possível acessar e recuperar dados de todos os discos permanentes que estejam conectados à instância, mas eles continuarão gerando custos de armazenamento até serem excluídos. Como acontece com instâncias normais, os discos permanentes marcados para exclusão automática são excluídos quando a instância preemptiva é excluída. Você pode reiniciar uma instância interrompida quantas vezes quiser, desde que haja capacidade. Reiniciar uma instância preemptiva reconfigura o processo preemptivo.

Se o Compute Engine interromper uma instância preemptiva menos de um minuto depois que ela tiver sido criada, você não será cobrado pelo uso dessa instância de VM. Isso garante que você só pague por instâncias preemptivas que tenham tido tempo para concluir uma quantidade significativa de trabalho. No entanto, as cobranças de sistemas operacionais premium continuarão sendo calculadas normalmente.

Você pode reiniciar uma instância interrompida quantas vezes quiser, desde que haja capacidade. Reiniciar uma instância preemptiva reconfigura o processo preemptivo.

Seleção de preempção

Consulte nossas práticas recomendadas para ver sugestões sobre como reduzir sua taxa de preempção. O Compute Engine não cobra por instâncias interrompidas no primeiro minuto de execução.

Certas ações redefinem o contador de 24 horas para instâncias preemptivas. Especificamente, se você interromper e iniciar uma instância, o Compute Engine redefinirá o contador porque a instância fará a transição para o estado TERMINATED. No entanto, outras ações em que a instância permanece no estado RUNNING não redefinem o contador, por exemplo, redefinindo uma instância ou executando o sudo reboot de dentro da VM.

Preços

VMs preemptivas usam preços Spot, o mesmo modelo de preços que as VMs Spot. Para mais informações sobre os preços das VMs preemptivas, consulte preços das VMs do Spot. Para ver os preços atuais, consulte as páginas de preços do Compute Engine.

Como usar VMs preemptivas com o Compute Engine

Nesta seção, você encontra informações importantes sobre o uso de VMs preemptivas com outras ofertas do Compute Engine. Saiba mais sobre o uso de VMs preemptivas com grupos de instâncias gerenciadas, sistemas operacionais premium, SSDs locais e GPUs. Além disso, entenda como as VMs preemptivas afetam suas cotas para recursos do Compute Engine.

Instâncias preemptivas em um grupo de instâncias gerenciadas

É possível criar instâncias preemptivas em um grupo de instâncias gerenciadas. Especifique a opção preemptiva no modelo de instância antes de criar ou atualizar o grupo.

Os grupos de instâncias gerenciadas só podem criar ou adicionar novas instâncias preemptivas quando há recursos adicionais do Compute Engine disponíveis. Se esses recursos forem limitados, os grupos de instâncias gerenciadas não serão capazes de redimensionar ou escalonar automaticamente o número de instâncias preemptivas no grupo.

Os grupos de instâncias gerenciadas sempre tentam manter o tamanho de destino ou o tamanho especificado pelo autoescalador para o grupo. Se o Compute Engine interromper uma instância preemptiva em um grupo de instâncias gerenciadas, o grupo tentará repetidamente recriar essa instância usando o modelo de instância especificado. Se os recursos necessários ficarem disponíveis novamente, o grupo recriará a instância e manterá o tamanho do grupo de destino.

Sistemas operacionais premium em instâncias preemptivas

As instâncias preemptivas não reduzem o custo de sistemas operacionais premium e não alteram a maneira como você é cobrado pelo uso desses sistemas operacionais. Se o Compute Engine interromper uma instância preemptiva que executa um sistema operacional premium, você será cobrado por esse sistema como se tivesse interrompido a instância por conta própria. As cobranças por uso mínimo continuarão em vigor, e as faturas por sistemas operacionais premium continuarão sendo calculadas com arredondamento até o incremento de uso mais próximo.

Os tipos de máquina em instâncias preemptivas que executam sistemas operacionais premium são sempre cobrados por segundo e seguem os preços listados na página Preços de instância de VM.

SSDs locais em instâncias preemptivas

É possível iniciar uma instância de VM preemptiva com um SSD local. Nesse caso, o Compute Engine cobra os preços spot pelo uso do SSD local. Os SSDs locais conectados a instâncias preemptivas funcionam como SSDs locais normais, mantêm as mesmas características de persistência de dados e permanecem vinculados por toda a vida útil da instância.

No Compute Engine, não haverá cobrança pelos SSDs locais se as instâncias deles forem definidas como preemptivas a partir do primeiro minuto de execução.

Para mais informações sobre SSDs locais, consulte Como adicionar SSDs locais.

GPUs em instâncias preemptivas

É possível adicionar GPUs às instâncias de VM preemptivas com preços de spot menores para as GPUs. As GPUs anexadas a instâncias preemptivas funcionam como GPUs normais, mas persistem apenas durante a vida útil da instância. Instâncias preemptivas com GPUs seguem o mesmo processo de preempção de todas as instâncias preemptivas.

Considere solicitar a cota Preemptible GPU dedicada a ser usada para GPUs em instâncias preemptivas. Para mais informações, consulte Cotas para instâncias de VM preemptiva.

Durante os eventos de manutenção, as instâncias preemptivas com GPUs são interrompidas por padrão e não podem ser reiniciadas automaticamente. Para recriar suas instâncias após a interrupção forçada, use um grupo de instâncias gerenciadas. Os grupos de instâncias gerenciadas recriarão as instâncias se os recursos de vCPU, memória e GPU estiverem disponíveis.

Se você quiser receber um aviso antes que as instâncias sejam interrompidas ou se quiser configurar a instância para reiniciar automaticamente após um evento de manutenção, use uma instância padrão com uma GPU. Para instâncias padrão com GPUs, o Google fornece notificação com uma hora de antecedência da preempção.

O Compute Engine não cobrará pelas GPUs se as instâncias forem interrompidas no primeiro minuto de execução.

Para saber as etapas de reinício automático de uma instância padrão, consulte Como atualizar opções para uma instância.

Para saber como criar instâncias preemptivas com GPUs anexadas, leia Como criar VMs com GPUs anexadas.

Cotas para instâncias de VM preemptivas

Assim como outras VMs, as VMs preemptivas requerem cotas de CPU disponíveis. Além disso, se você planeja usar VMs preemptivas com SSDs locais ou com GPUs, as VMs preemptivas também exigem cota de disco e cota de GPU, respectivamente.

Se você usar VMs preemptivas com esses recursos e não tiver solicitado a cota preemptiva, elas consumirão sua cota padrão para esses recursos. Se você planeja usar VMs preemptivas, solicite uma cota preemptiva para esses recursos para evitar que elas consumam suas cotas.

Assim que essa cota for concedida para uma região no Compute Engine, todas as VMs preemptivas (e qualquer VM do Spot) nessa região serão contabilizadas. Todas as VMs padrão nessa região continuam a ser descontadas da cota padrão. Em regiões onde não há cotas preemptivas, é possível usar a cota padrão para iniciar VMs preemptivas.

A cota de CPU preemptiva não é visível na ferramenta gcloud ou nas páginas de cota do Console do Cloud, a menos que ela tenha sido concedida no Compute Engine.

Saiba como solicitar cotas preemptivas.

A seguir

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Compute Engine em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça uma avaliação gratuita do Compute Engine