Conferir a taxa de preempção e os preços das VMs spot

Neste documento, explicamos como visualizar a taxa de preempção e os preços das VMs spot.

Antes de criar VMs spot, confira as taxas de preempção e os preços históricos e atuais do tipo de máquina que você quer que as VMs spot usem. A visualização desses dados ajuda a comparar a estabilidade e o custo de diferentes tipos de máquina e locais para encontrar a melhor opção para sua carga de trabalho e orçamento.

Se você quiser ver dados em tempo real sobre VMs spot, consulte o seguinte:

Limitações

Não é possível conferir a taxa de remoção e a tendência de preços para tipos de máquina N1 com GPUs anexadas, tipos de máquina personalizados ou TPUs.

Entender a taxa de preempção e os preços das VMs spot

Quando você envia uma solicitação para a API advice.capacityHistory, a saída mostra as seguintes métricas. Ao entender essas métricas, é possível ver e comparar a tendência da taxa de remoção e a tendência de preços em diferentes tipos de máquinas e zonas. Em seguida, use esses dados para tomar decisões ao criar VMs Spot.

Taxa de preempção histórica

A taxa de remoção histórica (preemptionHistory) mostra as taxas diárias de remoção para o tipo de máquina e a zona especificados nos últimos 30 dias. O Compute Engine define os limites de dados para essa taxa à meia-noite do horário do Pacífico (PT). A taxa de preempção do dia atual pode mudar ao longo do dia.

O Compute Engine calcula a taxa de preempção dividindo o número de VMs spot interrompidas em um dia em Google Cloud pelo número de VMs spot que pararam de ser executadas no mesmo dia, conforme mostrado na fórmula a seguir. Essas interrupções incluem quando os usuários ou ações programáticas (como tempos de execução limitados) suspendem, interrompem ou excluem VMs spot, ou quando o Compute Engine as interrompe à força.

$${preemptionHistory}=\frac{\text{Total preempted Spot VMs in a day}}{\text{Total Spot VMs that stopped running in a day}}$$

A taxa de substituição varia de 0.00 a 1.00. Por exemplo, uma taxa de 0.50 indica que, entre as VMs spot com um tipo de máquina específico e em uma zona específica que pararam de ser executadas naquele dia em Google Cloud, o Compute Engine fez a remoção preventiva de 50% delas.

Preços históricos

Os preços históricos (priceHistory) mostram as mudanças de preço em USD para o tipo de máquina e a região especificados no último ano. Cada entrada indica o preço por hora do intervalo em que o preço estava ativo. O Compute Engine define as mudanças de preço à meia-noite (0h) do horário do Pacífico (PT). Se os dados não estiverem disponíveis, os intervalos de tempo terão lacunas.

Antes de começar

  • A API advice.capacityHistory inclui zonas de IA por padrão na saída. Para garantir que você possa criar VMs Spot em zonas de IA se a API recomendar a criação de VMs em uma dessas zonas, verifique se as zonas de IA estão ativadas para seu projeto.
  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console Google Cloud para acessar os serviços e as APIs Google Cloud , não é necessário configurar a autenticação.

    gcloud

    1. Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  • Defina uma região e uma zona padrão.
  • REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a CLI do Google Cloud.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para visualizar a taxa de preempção e os preços das VMs spot, peça ao administrador para conceder a você o papel do IAM de Leitor do Compute (roles/compute.viewer) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para conferir a taxa de remoção e os preços das VMs Spot. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para visualizar a taxa de preempção e os preços das VMs spot:

  • Para conferir a taxa de preempção e os preços das VMs spot: compute.advice.capacityHistory no projeto

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Conferir a taxa de preempção e os preços das VMs spot

Para conferir a taxa histórica de preempção e os preços das VMs spot, especifique o tipo de máquina e a região ou zona em que você quer criar VMs. Com base nos resultados, você pode criar as VMs spot ou conferir a taxa de remoção e os preços em outro local ou para uma máquina diferente.

Para conferir a taxa de remoção e os preços das VMs spot, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud , acesse a página Consultor de capacidade.

    Acessar o consultor de capacidade

  2. No painel Filtros, siga estas etapas:

    1. Na seção Local, na lista Região, selecione as regiões em que você quer criar VMs spot.

    2. Na seção Especificações da máquina, especifique a configuração da máquina e o número de VMs Spot que você quer criar:

      1. Na lista Família de máquinas, selecione uma família de máquinas.

      2. Na lista Série, selecione até três séries de máquinas.

      3. Na lista Tipo de máquina, selecione até cinco tipos de máquina.

      4. No campo Número de VMs, insira o número de VMs spot.

      5. Opcional: por padrão, as zonas com recursos limitados disponíveis ficam ocultas. Para ver essas zonas, desmarque a caixa de seleção Ocultar regiões com disponibilidade limitada.

    3. Clique em Pesquisar.

  3. Com base no seu caso de uso, selecione uma das seguintes opções:

    • Para conferir os preços, a disponibilidade e as taxas de remoção de um local específico, siga estas etapas:

      1. No painel Resultados do modelo de provisionamento, clique na guia Mapa.

      2. No mapa, clique em uma região. Um painel que mostra os preços e as taxas de remoção preventiva zonais para essa região aparece.

    • Para comparar os preços históricos e as taxas de preempção em diferentes tipos de máquina, siga estas etapas:

      1. No painel Resultados do modelo de provisionamento, clique na guia Lista.

      2. Selecione duas ou mais linhas que contenham os tipos de máquina que você quer comparar.

      3. Clique em Comparar preços. O painel Comparação entre tipos de máquina aparece.

      4. Para conferir dados de preços ou taxas de remoção, clique na guia Preço ou Remoção.

      5. Opcional: para mudar os tipos de máquinas a serem comparados, faça uma das seguintes ações:

        • Para adicionar um tipo de máquina, clique em Adicionar tipo de máquina e selecione a opção desejada.

        • Para remover um tipo de máquina, na coluna Ações do tipo de máquina que você quer remover, clique em Remover linha.

gcloud

Para conferir a taxa de remoção e os preços das VMs spot, use o comando gcloud beta compute advice capacity-history.

Dependendo do seu caso de uso, inclua as seguintes flags:

  • Para conferir a taxa de substituição e os preços em uma região, inclua as flags --types=PREEMPTION,PRICE e --region:

    gcloud beta compute advice capacity-history \
        --provisioning-model=SPOT \
        --machine-type=MACHINE_TYPE \
        --types=PREEMPTION,PRICE \
        --region=REGION
    
  • Para conferir a taxa de remoção em uma zona, inclua as flags --types=PREEMPTION e --zone:

    gcloud beta compute advice capacity-history \
        --provisioning-model=SPOT \
        --machine-type=MACHINE_TYPE \
        --types=PREEMPTION \
        --zone=ZONE
    

Substitua:

  • MACHINE_TYPE: o tipo de máquina que você quer que as VMs Spot usem.

  • REGION: a região em que você quer criar VMs Spot.

  • ZONE: a zona em que você quer criar VMs Spot.

O resultado será o seguinte:

location: https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a
machineType: n2-standard-32
preemptionHistory:
- interval:
    endTime: "2026-04-21T07:00:00Z"
    startTime: "2026-04-20T07:00:00Z"
  preemptionRate: 0.52
- interval:
    endTime: "2026-04-22T07:00:00Z"
    startTime: "2026-04-21T07:00:00Z"
  preemptionRate: 0.64
...
priceHistory:
- interval:
    endTime: "2026-05-11T07:00:00Z"
    startTime: "2026-04-27T07:00:00Z"
  listPrice:
    currencyCode: "USD"
    nanos: "478720000"
- interval:
    endTime: "2026-05-12T07:00:00Z"
    startTime: "2026-05-11T07:00:00Z"
  listPrice:
    currencyCode: "USD"
    nanos: "502720000"
...

REST

Para conferir a taxa de preempção e os preços das VMs spot, faça uma solicitação POST para o método advice.capacityHistory da versão Beta.

Com base no seu caso de uso, faça uma das seguintes solicitações:

  • Para conferir a taxa de remoção e os preços em uma região, faça a seguinte solicitação:

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacityHistory
    
    {
      "types": [
        "PREEMPTION",
        "PRICE"
      ],
      "instanceProperties": {
        "scheduling": {
          "provisioningModel": "SPOT"
        },
        "machineType": "MACHINE_TYPE"
      }
    }
    
  • Para conferir a taxa de remoção em uma zona, faça a seguinte solicitação:

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacityHistory
    
    {
      "types": [
        "PREEMPTION"
      ],
      "instanceProperties": {
        "scheduling": {
          "provisioningModel": "SPOT"
        },
        "machineType": "MACHINE_TYPE"
      },
      "locationPolicy": {
        "location": "zones/ZONE"
      }
    }
    

Substitua:

  • PROJECT_ID: ID do projeto.

  • REGION: a região em que você quer criar VMs spot.

  • MACHINE_TYPE: o tipo de máquina que você quer que as VMs Spot usem.

  • ZONE: a zona, que precisa estar dentro de REGION, em que você quer criar VMs Spot.

O resultado será o seguinte:

{
  "machineType": "n2-standard-32",
  "location": "https://compute.googleapis.com/compute/beta/projects/example-project/regions/us-central1",
  "preemptionHistory": [
    {
      "interval": {
        "startTime": "2026-04-20T07:00:00Z",
        "endTime": "2026-04-21T07:00:00Z"
      },
      "preemptionRate": 0.52
    },
    {
      "interval": {
        "startTime": "2026-04-21T07:00:00Z",
        "endTime": "2026-04-22T07:00:00Z"
      },
      "preemptionRate": 0.64
    },
    ...
  ],
  "priceHistory": [
    {
      "interval": {
        "startTime": "2026-04-27T07:00:00Z",
        "endTime": "2026-05-11T07:00:00Z"
      },
      "listPrice": {
        "currencyCode": "USD",
        "nanos": "478720000"
      }
    },
    {
      "interval": {
        "startTime": "2026-05-11T07:00:00Z",
        "endTime": "2026-05-12T07:00:00Z"
      },
      "listPrice": {
        "currencyCode": "USD",
        "nanos": "502720000"
      }
    },
    ...
  ]
}

A seguir