Como reservar recursos por zona do Compute Engine

Crie reservas para instâncias de máquina virtual (VM) em uma zona específica, usando tipos de máquina predefinidos ou personalizados, com ou sem GPUs extras ou SSDs locais, para garantir que os recursos estejam disponíveis para suas cargas de trabalho quando você precisar deles. Depois de criar uma reserva, você começa a pagar pelos recursos reservados imediatamente e eles permanecem disponíveis indefinidamente para uso no seu projeto até que a reserva seja excluída.

Use reservas para garantir que seu projeto tenha recursos para aumentos futuros na demanda, incluindo picos planejados ou não, migração de grande número de VMs, backup e recuperação de desastres ou para crescimento e buffer planejados.

Quando você não precisar mais de uma reserva, exclua-a para interromper as cobranças por ela. Como as reservas consomem recursos como VMs normais, cada uma delas é cobrada com base nas taxas atuais sob demanda, que incluem descontos por uso prolongado, e estão qualificadas para descontos por uso contínuo.

Antes de começar

Benefícios

As reservas oferecem os benefícios a seguir:

  • As máquinas estão sempre disponíveis, mesmo que você não as utilize imediatamente.
  • Não há restrições de tempo. Crie uma reserva a qualquer momento e exclua-a quando quiser para deixar de pagar por ela.

  • Descontos. Como cobramos as reservas da mesma maneira e com a mesma taxa que os recursos que estão sendo reservados, os recursos reservados se qualificam para descontos por uso prolongado e contínuo.

Limitações e restrições

As reservas têm as limitações e restrições a seguir:

  • As reservas se aplicam somente ao uso de VMs do Compute Engine, do Dataproc e do Google Kubernetes Engine.
  • As reservas não se aplicam a tipos de máquina f1-micro ou g1-small, VMs preemptivas, nós de locatário individual ou outros serviços não listados acima, como Cloud SQL e Dataflow.
  • É possível reservar até 1.000 instâncias de VM por reserva.
  • É preciso ter cota suficiente em seu projeto para os recursos que você está reservando. Se a reserva for bem-sucedida, a cota desse recurso será cobrada de acordo.
  • Os recursos são alocados quando a reserva é criada. Se não houver recursos suficientes na zona no momento da solicitação, a reserva falhará com um erro de capacidade insuficiente.
  • Quando combinadas com um desconto por uso contínuo:
    • Para preços com desconto por uso contínuo para GPUs e SSDs locais, é necessário criar uma reserva ao comprar o compromisso.
    • Se a reserva estiver anexada a um compromisso, ela não poderá ser excluída.
    • Só é possível comprar um compromisso de um ano em GPUs K80.
  • As reservas que não estão anexadas a um desconto por uso contínuo podem ser retidas por qualquer duração, mas é feita uma cobrança mínima de um minuto, assim como ocorre com as instâncias regulares.

Como funcionam as reservas

Crie reservas para conservar as instâncias de VM necessárias. Depois de criar uma reserva, ela garante que esses recursos estejam sempre disponíveis para uso. Durante o processo de criação, é possível escolher como uma reserva precisa ser usada. Por exemplo, é possível definir que uma reserva seja aplicada automaticamente a instâncias novas ou atuais que correspondam às propriedades dessa reserva (o comportamento padrão) ou que somente uma instância de VM específica consuma uma reserva.

Em todos os casos, uma instância de VM só poderá usar uma reserva se as propriedades dela corresponderem exatamente às propriedades da reserva. Especificamente, para uma instância consumir uma reserva, as seguintes propriedades da instância precisam corresponder às da reserva:

  • Zona
  • Tipo de máquina (núcleos e memória)
  • Plataforma mínima de CPU
  • Tipo de GPU
  • Contagem de GPUs
  • Interface SSD local
  • Tamanho do SSD local

Se uma instância de VM corresponder às propriedades de uma reserva, o comportamento padrão será todas as instâncias atuais e novas consumirem a reserva automaticamente, a menos que especificado de outra forma. Por exemplo, por padrão, se você criar uma reserva para dez instâncias custom-8-10240 e já tiver cinco instâncias custom-8-10240 correspondentes, essas instâncias consumirão cinco reservas. Se você criar mais três instâncias correspondentes, outras três reservas serão consumidas.

É possível modificar esse comportamento padrão especificando determinadas opções ao criar reservas e instâncias.

  • Para criar uma reserva que você não quer que seja consumida automaticamente, use a opção specificReservationRequired. Essas reservas só poderão ser usadas se você especificar explicitamente a reserva durante a criação da instância.
  • Para especificar que você quer que uma instância consuma uma reserva, use a opção reservationAffinity ao criar a instância ou no modelo de instância. É possível especificar que uma instância consuma automaticamente de qualquer reserva correspondente, que não consuma automaticamente de reservas correspondentes, ou ainda, que consuma apenas de uma reserva específica.

Se você interromper ou excluir uma instância que está usando uma reserva, essa instância não ocupará mais a reserva, e os recursos reservados estarão disponíveis novamente.

Se você excluir uma reserva, mas não excluir as instâncias que estão usando os recursos reservados, as instâncias persistirão e você pagará por elas como de costume.

Como criar uma reserva

Crie uma reserva para instâncias de VM usando o console, a ferramenta de linha de comando gcloud ou a API. Por padrão, qualquer instância de VM que corresponda às propriedades de uma reserva consumirá automaticamente essa reserva. Para criar uma reserva que não seja consumida automaticamente, use a opção specificReservationRequired.

Não é necessário criar um compromisso para reservar recursos. No entanto, se você quiser usar o preço com desconto por uso contínuo em GPUs ou SSDs locais, crie uma reserva que inclua esses recursos quando estiver comprando seu compromisso. Para mais informações, consulte Como combinar reservas com descontos por uso contínuo.

Console

  1. No Console do Google Cloud, acesse a página Descontos por uso contínuo.

    Acesse "Descontos por uso contínuo"

  2. Clique em Criar reserva para criar uma reserva autônoma sem compromisso pai.

  3. Nomeie sua reserva.

  4. Se quiser usar apenas os recursos desta reserva ao criar instâncias correspondentes que visam especificamente essa reserva por nome, escolha Selecionar reserva específica em Usar com instância da VM.

  5. Escolha a Região e a Zona em que você quer reservar recursos.

  6. Especifique o Número de instâncias de VM que você quer reservar.

  7. Especifique os recursos a serem reservados para cada instância:

    • Se você tiver um modelo de instância, clique em Usar modelo de instância e selecione um modelo na lista.
    • Caso contrário, clique em Especificar tipo de máquina.
      1. Para tipos de máquina predefinidos, selecione o que você precisa na lista.
      2. Para tipos de máquina personalizados, incluindo uma plataforma de CPU mínima, ou para adicionar GPUs, clique em Personalizar e faça suas seleções.
      3. Como alternativa, especifique o número de discos SSD locais que você quer adicionar a cada instância e o tipo de interface a ser usado.
  8. Clique em Criar para criar a reserva.

gcloud

Use o comando gcloud compute reservations create para criar uma nova reserva.

gcloud compute reservations create RESERVATION_NAME \
        --machine-type=MACHINE_TYPE \
        --min-cpu-platform MINIMUM_CPU_PLATFORM \
        --vm-count=NUMBER_OF_VMS \
        --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
        --local-ssd=size=SIZE_IN_GB,interface=INTERFACE \
        --require-specific-reservation \
        --zone=ZONE
    

Substitua:

  • RESERVATION_NAME: o nome da reserva a ser criada.
  • MACHINE_TYPE: o tipo de máquina Por exemplo, n1-standard-1. Para tipos de máquina personalizados, use o formato custom-CPUS-MEMORY, substituindo o seguinte:
    • CPUS: o número de vCPUs.
    • MEMORY: a memória total para esta instância. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB. Por exemplo, 5 GB de memória equivalem a 5.120 MB: custom-4-5120. Para ver uma lista completa de restrições, leia as especificações para tipos de máquina personalizados.
  • MINIMUM_CPU_PLATFORM: a CPU mínima a ser usada em cada instância.
  • NUMBER_OF_VMS: a quantidade de instâncias de VM a serem reservadas.
  • NUMBER_OF_ACCELERATORS: o número de GPUs a serem adicionadas, por instância.
  • ACCELERATOR_TYPE: o tipo de acelerador.
  • SIZE_IN_GB: a quantidade, em GB, da SSD local a ser conectada a cada instância. O valor precisa ser um múltiplo de 375;
  • INTERFACE: o tipo de interface que você quer que a SSD local use em cada instância. As opções válidas são: scsi e nvme.
  • ZONE: a zona em que os recursos serão reservados.

Se quiser, adicione a sinalização --require-specific-reservation para indicar que apenas instâncias de VM que visam explicitamente essa reserva podem usá-la. Para mais informações sobre as opções de configuração de consumo de recursos reservados, consulte Como funcionam as reservas.

Por exemplo, para fazer uma reserva em us-central1-a que só pode ser usada quando essa reserva é especificamente visada, use um comando semelhante ao seguinte. Este exemplo reserva 10 máquinas personalizadas, cada uma com 8 vCPUs Intel Haswell (ou mais recentes), 10 GB de memória, 2 V100 GPUs, e 375 GB SSD local:

gcloud compute reservations create my-reservation \
        --machine-type=custom-8-10240 \
        --min-cpu-platform "Intel Haswell" \
        --vm-count=10 \
        --accelerator=count=2,type=nvidia-tesla-v100 \
        --local-ssd=size=375,interface=scsi \
        --require-specific-reservation \
        --zone us-central1-c

Para ver uma lista de todas as sinalizações disponíveis, consulte a referência gcloud compute reservations create.

API

Na API, crie uma solicitação POST para o método reservations.insert. No corpo da solicitação, inclua os parâmetros a seguir:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

    {
      "name":"RESERVATION_NAME",
      "specificReservation":{
        "count":"NUMBER_OF_VMS",
        "instanceProperties":{
          "machineType":"MACHINE_TYPE",
          "minCpuPlatform": "MINIMUM_CPU_PLATFORM",
          "guestAccelerators":[
            {
              "acceleratorCount":"NUMBER_OF_ACCELERATORS",
              "acceleratorType":"ACCELERATOR_TYPE"
            }
          ],
          "localSsds":[
            {
              "diskSizeGb":"SIZE_IN_GB",
              "interface":"INTERFACE"
            }
          ]
        }
      }
    }

Substitua:

  • PROJECT_ID: o ID do projeto para a solicitação.
  • ZONE: a zona em que os recursos serão reservados.
  • RESERVATION_NAME: o nome da reserva a ser criada.
  • NUMBER_OF_VMS: a quantidade de instâncias de VM a serem reservadas.
  • MACHINE_TYPE: um tipo de máquina predefinido ou personalizado. Por exemplo, n1-standard-1. Para tipos de máquina personalizados, use o formato custom-CPUS-MEMORY, substituindo o seguinte:
    • CPUS: o número de vCPUs.
    • MEMORY: a memória total para esta instância. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB. Por exemplo, 5 GB de memória equivalem a 5.120 MB: custom-4-5120. Para ver uma lista completa de restrições, leia as especificações para tipos de máquina personalizados.
  • MINIMUM_CPU_PLATFORM: a CPU mínima a ser usada em cada instância.
  • NUMBER_OF_ACCELERATORS: o número de GPUs a serem adicionadas, por instância.
  • ACCELERATOR_TYPE: o tipo de acelerador.
  • SIZE_IN_GB: a quantidade, em GB, da SSD local a ser conectada a cada instância. O valor precisa ser um múltiplo de 375;
  • INTERFACE: o tipo de interface que você quer que a SSD local use em cada instância. As opções válidas são: scsi e nvme.

Se quiser, inclua o campo booleano specificReservationRequired para especificar que apenas as instâncias de VM que visam especificamente essa reserva pelo nome podem usá-la. Para mais informações sobre as opções de configuração para usar as instâncias nas reservas, consulte Como funcionam as reservas.

Por exemplo, para fazer uma reserva em us-central1-a que só pode ser usada quando essa reserva é especificamente visada, use um comando semelhante ao seguinte. Este exemplo reserva 10 máquinas personalizadas, cada uma com 8 vCPUs Intel Haswell ou mais recentes, 10 GB de memória, 2 GPUs V100 e uma SSD local de 375 GB:

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations

    {
      "name": "reservation-1",
      "specificReservation":
      {
        "count": "10",
        "instanceProperties":
        {
          "machineType": "custom-8-10240",
          "minCpuPlatform": "Intel Haswell",
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            }
          ]
        }
      },
      "specificReservationRequired": true
    }

Como consumir instâncias reservadas

Ao criar uma instância, defina a sinalização de afinidade de reserva dela para escolher se a ela pode usar qualquer reserva correspondente disponível (padrão), usar uma reserva específica ou não usar reservas. Para uma instância consumir de uma reserva específica, essa reserva precisa ser criada com a sinalização de solicitação de reserva específica correspondente.

Para consumir a reserva, as instâncias que você criar precisam corresponder às propriedades da instância dessa reserva. Veja Como funcionam as reservas.

Como consumir instâncias de qualquer reserva correspondente

Neste modelo, as instâncias atuais e novas contam automaticamente com a reserva se as propriedades dessa instância corresponderem às propriedades da instância reservada. Esse modelo é útil quando você cria e exclui muitas VMs e quer que as reservas sejam utilizadas sempre que possível.

Ao criar suas reservas, exclua a sinalização --require-specific-reservation para que as instâncias correspondentes possam consumir essas reservas automaticamente.

Console

  1. Crie uma reserva aberta.

    1. No Console do Cloud, acesse a página Descontos por uso contínuo.

      Acesse "Descontos por uso contínuo"

    2. Para criar uma reserva independente sem uso contínuo pai, clique em Criar reserva.

    3. Nomeie sua reserva, por exemplo: reservation-01.

    4. Em Usar com instância de VM, selecione Usar reserva automaticamente para que qualquer instância correspondente possa usar essa reserva automaticamente.

    5. Escolha a Região e a Zona em que você quer reservar recursos.

    6. Especifique o Número de instâncias de VM que você quer reservar.

    7. Especifique os recursos que você quer que cada instância tenha:

      • Número de vCPUs
      • Plataforma mínima de CPU
      • Quantidade de memória
      • GPUs
      • SSD local (conforme necessário)
    8. Clique no botão Criar para criar a reserva.

  2. Crie uma instância de VM que vise qualquer reserva aberta e que corresponda às propriedades da instância em reservation-01, incluindo a zona, tipo de máquina (contagem de vCPUs e quantidade de memória), plataforma mínima de CPU, quantidade e tipo de GPU e tamanho e interface do SSD local.

    1. No Console do Cloud, acesse a página Instâncias de VM.

      Acessar instâncias de VM

    2. Selecione o projeto e clique em Continuar.

    3. Clique em Criar instância.

    4. Especifique um Nome para sua instância.

    5. Especifique um Tipo de máquina que corresponda às propriedades de reservation-01. Por exemplo, para consumir uma reserva com especificação de uma plataforma de CPU mínima ou GPUs, personalize esta instância para corresponder à reserva.

    6. Se sua reserva incluir SSDs locais, em Discos, clique em Adicionar novo disco para adicionar SSDs locais que correspondam à interface e quantidade de SSDs locais da reserva.

    7. Em Gerenciamento e Reservas, selecione Usar reservas criadas automaticamente.

    8. Clique em Criar

gcloud

  1. Crie uma reserva aberta chamada reservation-01.

        gcloud compute reservations create reservation-01 \
            --machine-type=n1-standard-32 \
            --min-cpu-platform "Intel Skylake" \
            --vm-count=2 \
            --zone=us-central1-a
        
  2. Crie uma instância de VM que vise qualquer reserva aberta e que corresponda às propriedades da instância em reservation-01, incluindo a zona, tipo de máquina (contagem de vCPUs e quantidade de memória), plataforma mínima de CPU, quantidade e tipo de GPU e tamanho e interface do SSD local.

        gcloud compute instances create instance-1 \
            --machine-type=n1-standard-32 \
            --min-cpu-platform "Intel Skylake" \
            --zone=us-central1-a \
            --reservation-affinity=any
        

API

  1. Crie uma reserva aberta chamada reservation-01.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
        {
          "name":"reservation-01",
          "specificReservation":{
            "count":"2",
            "instanceProperties":{
              "machineType":"n1-standard-32",
              "minCpuPlatform": "Intel Haswell",
            }
          },
          "specificReservationRequired": false
        }
        
  2. Crie uma instância de VM que vise qualquer reserva aberta e que corresponda às propriedades da instância em reservation-01, incluindo a zona, tipo de máquina (contagem de vCPUs e quantidade de memória), plataforma mínima de CPU, quantidade e tipo de GPU e tamanho e interface do SSD local.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
        {
          "name": "instance-1",
          "machineType": "zones/us-central1-a/machineTypes/n1-standard-32",
          "minCpuPlatform": "Intel Haswell",
          "reservationAffinity":
          {
            "consumeReservationType": "ANY_RESERVATION"
          },
          ...
        }
        

Como consumir instâncias de uma reserva específica

Neste modelo, apenas novas instâncias que visam uma reserva específica pelo nome consomem essa reserva. Este modelo é útil quando você quer manter uma certa quantidade de capacidade como backup para eventos especiais.

Ao criar a reserva, especifique que ela não poderá ser usada automaticamente. Em seguida, crie VMs que tenham como alvo específico essa reserva, e que correspondam às propriedades dela.

Se você estiver usando um modelo de instância para criar VMs em um grupo de instâncias gerenciado e regional, crie reservas idênticas com o mesmo nome em cada zona aplicável. Em seguida, escolha as reservas mencionando-as por nome no modelo de instância do grupo.

Por exemplo, crie uma reserva específica chamada reservation-02 e, em seguida, crie uma instância correspondente que vise essa reserva e que corresponda às propriedades da instância da reserva.

Console

  1. Crie uma reserva com recursos que só podem ser usados por instâncias que visam especificamente essa reserva por nome.

    1. No Console do Cloud, acesse a página Descontos por uso contínuo.

      Acesse "Descontos por uso contínuo"

    2. Clique em Criar reserva para criar uma reserva autônoma sem compromisso pai.

    3. Nomeie sua reserva, por exemplo: reservation-02.

    4. Em Usar com instância da VM, marque Selecionar reserva específica para que apenas instâncias correspondentes que visam especificamente essa reserva por nome possam usá-la.

    5. Escolha a Região e a Zona em que você quer reservar recursos.

    6. Especifique o Número de instâncias de VM que você quer reservar.

    7. Especifique os recursos que você quer que cada instância tenha:

      • Número de vCPUs
      • Plataforma mínima de CPU
      • Quantidade de memória
      • GPUs
      • SSD local
    8. Clique em Criar

  2. Crie uma instância de VM que vise essa reserva específica pelo nome.

    Certifique-se de que as propriedades da instância correspondam às propriedades dessa reserva específica, incluindo zona, tipo de máquina (contagem de vCPUs e quantidade de memória), plataforma mínima de CPU, quantidade e tipo de GPU e tamanho e interface do SSD local.

    1. No Console do Cloud, acesse a página Instâncias de VM.

      Acessar instâncias de VM

    2. Selecione o projeto e clique em Continuar.

    3. Clique no botão Criar instância.

    4. Especifique um Nome para sua instância.

    5. Especifique um Tipo de máquina que corresponda às propriedades de reservation-01. Por exemplo, para consumir uma reserva com especificação de uma plataforma de CPU mínima, personalize esta instância para corresponder a ela.

    6. Se sua reserva incluir SSDs locais, em Discos, clique em Adicionar novo disco para adicionar SSDs locais que correspondam à interface e quantidade de SSDs locais da reserva.

    7. Em Gerenciamento, em Reservas, selecione uma reserva disponível com propriedades correspondentes, por exemplo: reservation-02

    8. Clique em Criar para criar a instância.

gcloud

  1. Crie uma reserva com o nome reservation-02 com a sinalização --require-specific-reservation. Esses recursos reservados só podem ser usados por instâncias que visem especificamente essa reserva pelo nome.

        gcloud compute reservations create reservation-02 \
            --machine-type=n1-standard-32 \
            --min-cpu-platform "Intel Skylake" \
            --vm-count=10 \
            --zone=us-central1-a \
            --require-specific-reservation
        
  2. Crie uma instância de VM que vise reservation-02 pelo nome usando as sinalizações --reservation-affinity e --reservation.

    Certifique-se de que as propriedades da instância correspondam às propriedades da instância da reserva, incluindo a zona, tipo de máquina (contagem de vCPUs e quantidade de memória), plataforma mínima de CPU, quantidade e tipo de GPU e tamanho e interface do SSD local.

        gcloud compute instances create instance-2 \
            --machine-type=n1-standard-32 \
            --min-cpu-platform "Intel Skylake" \
            --zone=us-central1-a \
            --reservation-affinity=specific \
            --reservation=reservation-02
        

API

  1. Crie uma reserva chamada reservation-02 com o campo specificReservationRequired definido como true.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
        {
          "name":"reservation-02",
          "specificReservation":{
            "count":"10",
            "instanceProperties":{
              "machineType":"n1-standard-32",
              "minCpuPlatform": "Intel Haswell",
            }
          },
          "specificReservationRequired": true
        }
  2. Crie uma instância de VM que vise reservation-02 pelo nome usando o campo reservationAffinity.

    Certifique-se de que as propriedades da instância correspondam às propriedades da instância da reserva, incluindo a zona, tipo de máquina (contagem de vCPUs e quantidade de memória), plataforma mínima de CPU, quantidade e tipo de GPU e tamanho e interface do SSD local.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
        {
          "name": "instance-2",
          "machineType": "zones/us-central1-a/machineTypes/n1-standard-32",
          "minCpuPlatform": "Intel Haswell",
          "reservationAffinity":
          {
            "consumeReservationType": "SPECIFIC_RESERVATION",
            "key": "compute.googleapis.com/reservation-name",
            "values":
            ["reservation-02"
            ]
          },
          ...
        }

Como criar instâncias sem consumir reservas

Para evitar explicitamente o consumo de recursos de qualquer reserva, defina a sinalização de afinidade de reserva como "nenhuma" ao criar a VM. Ou, para evitar implicitamente o uso de qualquer uma das suas reservas, crie uma instância que não corresponda às propriedades de instância de nenhuma das suas reservas.

Console

  1. Crie uma instância que não consuma explicitamente de uma reserva.

    1. No Console do Cloud, acesse a página Instâncias de VM.

      Acessar instâncias de VM

    2. Clique em Criar instância.

    3. Crie uma instância como de costume.

    4. Em Gerenciamento, em Reservas, selecione Não usar para garantir que essa instância não consuma nenhuma reserva atual.

    5. Clique em Criar

gcloud

Crie uma instância que não consuma explicitamente uma reserva.

    gcloud compute instances create instance-3 --reservation-affinity=none
    

Ou crie uma instância que não corresponda às propriedades da instância em nenhuma de suas reservas. Para revisar suas propriedades de reserva, consulte como listar e descrever reservas.

API

Crie uma instância que não consuma explicitamente uma reserva.

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances

    {
      "machineType": "zones/us-central1-a/machineTypes/n1-standard-16",
      "name": "instance-3",
      "reservationAffinity":
      {
        "consumeReservationType": "NO_RESERVATION"
      },
      ...
    }

Ou crie uma instância que não corresponda às propriedades da instância em nenhuma de suas reservas. Para revisar suas propriedades de reserva, consulte como listar e descrever reservas.

Como garantir a utilização de reservas

Se você não conseguir consumir seus recursos reservados, revise as propriedades da reserva e as propriedades da instância. Para verificar se as propriedades da instância correspondem às propriedades da reserva, crie uma reserva específica e crie uma instância que vise essa reserva específica.

Verificar propriedades da reserva

As propriedades da instância da reserva precisam corresponder às propriedades no comando de criação da instância. Para verificar:

  1. Verifique as propriedades da reserva especificamente para:

    • zone
    • specificReservationRequired
      • Se definido como true, seu comando de criação de instância precisa visar esta reserva pelo nome.
    • machineType
    • guestAccelerators.acceleratorType
    • guestAccelerators.acceleratorCount
    • minCpuPlatform
      • Se você tiver uma instância de VM com minCpuPlatform e quiser criar uma reserva que use a instância, crie-a com propriedades correspondentes, incluindo minCpuPlatform correspondente.
      • Se você tiver uma reserva com minCpuPlatform e quiser criar uma instância que use a reserva, crie-a com propriedades correspondentes, incluindo um minCpuPlatform correspondente.
    • localSsds.diskSizeGb
    • localSsds.interface
  2. Crie uma instância que corresponda a essas propriedades.

  3. Descreva a instância para verificar se suas propriedades correspondem às da reserva. Por exemplo, com a ferramenta gcloud, use o comando instances describe.

  4. Descreva sua reserva para verificar se inUseCount foi incrementado.

    • Se o parâmetro inUseCount não tiver sido alterado, as propriedades não são correspondentes.
    • Se a inUseCount tiver sido incrementada, sua reserva está sendo usada.

Visar uma reserva específica

Se você tentar criar uma instância que vise uma reserva específica, ela não poderá ser criada a menos que corresponda às propriedades da reserva. Use este método para verificar se você tem as propriedades corretas da instância.

  1. Crie uma reserva com a opção specificReservationRequired.
  2. Crie uma instância que explicitamente corresponda às propriedades da instância da reserva e que vise a reserva pelo nome por meio da propriedade de afinidade da reserva.
    • Se as propriedades da instância forem incompatíveis, você verá um erro.
    • Se as propriedades da instância forem correspondentes, sua reserva está sendo usada.

Como listar e descrever reservas

Liste e visualize detalhes sobre sua reserva usando o console, a ferramenta gcloud ou a API.

Console

  1. No Console do Cloud, acesse a página Descontos por uso contínuo.

    Acesse "Descontos por uso contínuo"

  2. Clique em Reservas.

A lista de reservas inclui detalhes sobre cada uma. Use a coluna Máquinas usadas (total) para determinar a utilização de cada reserva.

gcloud

Liste suas reservas com o comando gcloud compute reservations list:

    gcloud compute reservations list [--filter="zone:('ZONE')"]
    
    NAME             IN_USE_COUNT   COUNT   ZONE
    reservation-04   25             50      us-central1-a
    reservation-05   0              100     us-central1-b
    

Descreva suas reservas com o comando gcloud compute reservations describe:

    gcloud compute reservations describe RESERVATION_NAME --zone=ZONE
    
    kind: compute#reservation
    name: reservation-05
    selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-05
    specificReservation:
      count: '50'
      inUseCount: '25'
      instanceProperties:
        guestAccelerators:
        - acceleratorCount: 1
          acceleratorType: nvidia-tesla-k80
        localSsds:
        - diskSizeGb: '375'
          interface: SCSI
        machineType: n1-standard-1
        minCpuPlatform: Any CPU Platform
    specificReservationRequired: false
    status: READY
    zone: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d    

É possível usar os valores count e inUseCount para determinar a utilização de cada reserva. Neste exemplo, 50 instâncias estão reservadas e 25 delas estão sendo usadas.

Para criar uma instância que usa essa reserva, lembre-se de associar as propriedades da instância da reserva. Por exemplo:

gcloud compute instances create my-instance \
        --accelerator=type=nvidia-tesla-k80,count=1 \
        --maintenance-policy terminate \
        --local-ssd=interface=SCSI \
        --machine-type n1-standard-1 \
        --zone us-east1-d 

API

Na API, liste suas reservas fazendo uma solicitação GET para o método reservations.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
    

Descreva uma reserva chamando o método reservations.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
    
    {
      "id": "2533514314332214789",
      "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
      "selfLink": "https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-05",
      "zone": "https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d",
      "name": "reservation-05",
      "specificReservationRequired": false,
      "status": "READY",
      "kind": "compute#reservation",
      "specificReservation": {
        "instanceProperties": {
          "machineType": "n1-standard-1",
          "guestAccelerators": [
            {
              "acceleratorType": "nvidia-tesla-k80",
              "acceleratorCount": 1
            }
          ],
          "minCpuPlatform": "Any CPU Platform",
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            }
          ]
        },
        "count": "50",
        "inUseCount": "25"
      }
    }

É possível usar os valores count e inUseCount para determinar a utilização de cada reserva. Neste exemplo, 50 instâncias estão reservadas e 25 delas estão sendo usadas.

Como modificar reservas

Será possível redimensionar ou excluir uma reserva se ela não estiver anexada a um compromisso.

Como redimensionar uma reserva

É possível redimensionar o número de VMs em uma reserva que não está vinculada a um compromisso usando a ferramenta gcloud ou a API.

gcloud

Redimensione sua reserva usando o comando gcloud compute reservations update. Por exemplo:

Crie uma reserva para duas instâncias de VM:

    gcloud compute reservations create reservation-01 \
        --machine-type=n1-standard-32 \
        --zone=us-central1-a \
        --vm-count=2
    

Redimensione a reserva de duas a dez instâncias de VM:

    gcloud compute reservations update reservation-01 \
        --zone=us-central1-a \
        --vm-count=10
    

API

Na API, construa uma solicitação POST para o método reservations.resize e inclua o specificSkuCount novo no corpo da solicitação. O corpo da solicitação a seguir atualiza a contagem de VMs da reserva para 10.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/resize

    {"specificSkuCount": "10"}
    

A solicitação de atualização será bem-sucedida se, no momento da solicitação, houver recursos suficientes na zona de destino e uma cota suficiente na região de destino.

Como excluir uma reserva

É possível excluir reservas que não estão vinculadas a um compromisso usando o console, a ferramenta gcloud ou a API.

Console

  1. No Console do Cloud, acesse a página Descontos por uso contínuo.

    Acesse "Descontos por uso contínuo"

  2. Clique em Reservas para ver uma lista delas.

  3. Marque a caixa de seleção ao lado de cada reserva que você quer excluir.

  4. Clique em Excluir reserva.

gcloud

É possível liberar reservas usando o comando delete:

gcloud compute reservations delete RESERVATION_NAME --zone ZONE
    

API

Na API, crie uma solicitação DELETE para o método reservation.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
    

Depois que o comando de exclusão for concluído com sucesso, você não será mais cobrado pela reserva, e os recursos não serão mais reservados para você. A exclusão de uma reserva não influencia nenhuma instância em execução vinculada a essa reserva. Você ainda é cobrado por essas instâncias.

Como combinar reservas com descontos por uso contínuo

Um desconto por uso contínuo fornece um contrato de um ou três anos com desconto, mas não reserva capacidade em uma zona específica. Uma reserva garante que a capacidade seja mantida em uma zona específica, mesmo que as VMs reservadas não estejam em execução. Ao combinar uma reserva com um compromisso, é possível conseguir recursos reservados e com desconto.

Por padrão, quando você cria uma reserva, qualquer desconto por uso contínuo aplicável para núcleos e memória se aplicará automaticamente às suas instâncias de VM. No entanto, para receber o desconto em GPUs e SSDs locais, é preciso criar uma reserva para esses recursos ao comprar o compromisso.

Depois de comprar um compromisso, não é possível cancelá-lo. Para mais informações, consulte descontos por uso contínuo.

Como comprar um compromisso para GPUs ou SSDs locais

Para adquirir um compromisso para GPUs ou SSDs locais:

  • Adquira um compromisso N1 de uso geral. As GPUs são compatíveis apenas com os tipos de máquinas N1.
  • Crie uma reserva que inclua GPUs ou SSDs locais enquanto estiver adquirindo o compromisso.
  • Não é preciso se comprometer com vCPUs ou memória.

É preciso adquirir compromissos por tipos específicos de GPU. Por exemplo, é possível adquirir Tesla P100s ou Tesla V100s, mas não é possível adquirir compromissos para as GPUs Tesla P100 e aplicá-los a outros tipos de GPU.

A quantidade de GPUs e SSDs locais reservada precisa ser igual ao valor com que você se comprometeu. Por exemplo, se você quer reservar quatro GPUs V100, é preciso se comprometer com quatro GPUs V100. No entanto, a quantidade de vCPU e memória que você reserva pode ser maior ou menor do que a que você se compromete.

Se você quer se comprometer somente com GPUs ou SSDs locais, é possível especificar para compromissos de memória e vCPU. No entanto, a reserva que você anexa ao seu compromisso precisa conter as mesmas GPUs e SSDs locais que o compromisso, bem como os tipos de máquina, com vCPUs e memória, que você quer reservar.

Adquira um compromisso com uma reserva anexada usando o Console do Cloud, a ferramenta gcloud ou a API.

Console

  1. No Console do Google Cloud, acesse a página Descontos por uso contínuo.

    Acesse "Descontos por uso contínuo"

  2. Para adquirir um novo compromisso, clique em Comprar compromisso.

  3. Dê um nome ao compromisso e escolha a região em que ele será aplicado.

  4. Para Tipo de compromisso, selecione Propósito geral.

  5. Escolha uma Duração de compromisso de 1 ou 3 anos.

  6. Insira a quantidade de Núcleos e Memória que você quer adquirir. Se você só quiser se comprometer e reservar GPUs ou SSDs locais sem se comprometer com vCPUs e memória, especifique para as quantidade de compromissos de vCPU e memória.

  7. Clique em Adicionar GPUs e selecione o Tipo de GPU e o Número de GPUs com que você quer se comprometer.

  8. Clique em Adicionar SSD local e especifique o número de discos que você quer se comprometer.

  9. Clique em Adicionar nova reserva para criar uma ou mais reservas para instâncias que usarão as GPUs e os SSDs locais.

    1. Nomeie sua reserva.
    2. Em Usar com instância de VM:
      • Escolha Selecionar reserva específica se quiser usar os recursos desta reserva apenas ao criar instâncias correspondentes que visam especificamente essa reserva por nome.
      • Selecione Usar reserva automaticamente, se quiser que instâncias correspondentes usem essa reserva de forma automática.
    3. Escolha a Zona em que você quer reservar recursos.
    4. Especifique o Número de instâncias de VM que você quer reservar.
    5. Especifique os recursos a serem reservados para cada instância:
      • Se você tiver um modelo de instância, clique em Usar modelo de instância e selecione um na lista.
      • Caso contrário, clique em Especificar tipo de máquina.
        1. Clique em Personalizar para usar o controle deslizante e selecionar Núcleos e Memória para seu tipo de máquina.
        2. Especifique a plataforma de CPU.
        3. Para adicionar GPUs, digite o número de GPUs e o tipo de GPU.
        4. Como opção, especifique o número de SSDs locais que você quer adicionar a cada instância e especifique o Tipo de interface a ser usado.
    6. Clique no botão Concluído para criar a reserva.
  10. Clique no botão Comprar para adquirir o compromisso.

  11. Leia os Termos de compra e clique em Comprar quando estiver pronto para adquirir o compromisso.

gcloud

Use o comando gcloud compute commmitments create para adquirir um compromisso e inclua sinalizações para criar uma reserva anexada.

Por exemplo, o compromisso a seguir inclui quatro GPUs e uma nova reserva para que elas sejam usadas em duas instâncias n1-standard-32 em us-central1-a.

    gcloud compute commitments create commitment-01 \
        --region=us-central1 \
        --resources=vcpu=96,memory=624GB \
        --resources-accelerator=type=nvidia-tesla-v100,count=4 \
        --plan 12-month \
        --reservation=reservation-01 \
        --reservation-zone=us-central1-a \
        --machine-type=n1-standard-16 \
        --accelerator=type=nvidia-tesla-v100,count=2 \
        --vm-count=2
    

Se você quiser se comprometer e reservar GPUs ou SSDs locais sem compromisso com vCPUs e memória, especifique para as quantidades desses itens.

    gcloud compute commitments create commitment-01 \
        --region=us-west2 \
        --resources=vcpu=0,memory=0 \
        --resources-accelerator=type=nvidia-tesla-p4,count=1 \
        --plan 12-month \
        --reservation=reservation-01 \
        --reservation-zone=us-west2-b \
        --machine-type=n1-standard-1 \
        --accelerator=type=nvidia-tesla-p4,count=1 \
        --vm-count=1
    

Para criar várias reservas ao adquirir um compromisso, use um arquivo YAML que contenha as propriedades da reserva. Exemplo:

    gcloud compute commitments create commitment-01 \
        --region=us-central1 \
        --resources=vcpu=96,memory=624,local-ssd=750 \
        --resources-accelerator=type=nvidia-tesla-v100,count=1 \
        --plan 12-month \
        --reservations-from-file=YAML_FILE
    

Por exemplo, o arquivo YAML a seguir contém duas reservas. A primeira reserva, res-01, contém uma instância n1-standard-1 com uma GPU e é uma reserva visada, o que significa que você precisa solicitar especificamente essa reserva, mencionando-a pelo nome, para usar suas instâncias reservadas. A segunda reserva, res-02, contém uma instância de VM n1-standard-1 com dois tipos de SSDs locais anexados.

    ‐ reservation: res-01
      reservation_zone: us-central1-a
      require_specific_reservation: true
      vm_count: 1
      machine_type: n1-standard-1
      accelerator:
      ‐ count: 1
        type: nvidia-tesla-v100
    ‐ reservation: res-02
      reservation_zone: us-central1-a
      vm_count: 1
      machine_type: n1-standard-1
      local_ssd:
      ‐ interface: scsi
        size: 375
      ‐ interface: nvme
        size: 375
    

API

Use o método regionCommitments.insert e inclua o campo reservations para definir as propriedades da reserva. Por exemplo, o compromisso a seguir inclui quatro GPUs e uma reserva para que elas sejam usadas em duas instâncias em us-central1-a.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

    {
      "name": "commitment-01",
      "plan": "TWELVE_MONTH",
      "resources":
      [
        {
          "amount": "96",
          "type": "VCPU"
        },
        {
          "amount": "638976",
          "type": "MEMORY"
        },
        {
          "acceleratorType": "nvidia-tesla-v100",
          "amount": "4",
          "type": "ACCELERATOR"
        }
      ],
      "reservations":
      [
        {
          "name": "reservation-01",
          "specificReservation":
          {
            "count": "2",
            "instanceProperties":
            {
              "guestAccelerators":
              [
                {
                  "acceleratorCount": 2,
                  "acceleratorType": "nvidia-tesla-v100"
                }
              ],
              "machineType": "n1-standard-8"
            }
          },
          "specificReservationRequired": false,
          "zone": "us-central1-a"
        }
      ]
    }

Se você só quiser se comprometer e reservar GPUs ou SSDs locais sem se comprometer com vCPUs e memória, especifique 0 para as quantidade de compromissos de vCPU e memória. Exemplo:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

    {
      "name": "commitment-01",
      "plan": "TWELVE_MONTH",
      "resources":
      [
        {
          "amount": "0",
          "type": "VCPU"
        },
        {
          "amount": "0",
          "type": "MEMORY"
        },
        {
          "acceleratorType": "nvidia-tesla-v100",
          "amount": "4",
          "type": "ACCELERATOR"
        }
      ],
      "reservations":
      [
        {
          "name": "reservation-01",
          "specificReservation":
          {
            "count": "2",
            "instanceProperties":
            {
              "guestAccelerators":
              [
                {
                  "acceleratorCount": 2,
                  "acceleratorType": "nvidia-tesla-v100"
                }
              ],
              "machineType": "n1-standard-8"
            }
          },
          "specificReservationRequired": false,
          "zone": "us-central1-a"
        }
      ]
    }

O compromisso será criado somente se houver recursos suficientes na zona de destino e uma cota suficiente no momento da solicitação.

Quando você cria um compromisso com uma reserva anexada, não é possível excluí-la durante a vigência do compromisso. Quando o compromisso expirar, o Compute Engine excluirá automaticamente todas as reservas anexadas.

Se você precisa transferir GPUs ou SSDs locais através de reservas comprometidas, consulte Como modificar reservas anexadas a compromissos.

Como modificar reservas anexadas a compromissos

Se um compromisso tiver uma ou mais reservas com GPUs ou SSDs locais, será possível usar a ferramenta gcloud ou a API para transferir GPUs ou SSDs locais nessas reservas. Por exemplo, é possível mover as GPUs de uma reserva para outra nova.

Limitações:

  • Só é possível mover recursos entre duas reservas. Uma é a reserva de origem e a outra é a de destino. A reserva de origem já precisa existir. O destino pode ser uma reserva atual ou nova.
  • As reservas de origem e destino precisam estar na mesma zona.
  • Não é possível modificar as propriedades do recurso em reservas atuais. Só é possível transferir recursos atuais de uma reserva para outra.
  • A quantidade total de GPUs e SSDs locais precisa permanecer constante.
  • Só é possível alterar 100 VMs por solicitação. Se quiser atualizar um número maior, chame a API várias vezes ou entre em contato com o suporte do Google Cloud.
  • Não é possível transferir vCPUs ou memória, ou modificar outras propriedades de reservas anexadas.

gcloud

Use o comando gcloud beta compute commitments update-reservations.

Crie um compromisso com uma reserva:

  • res-1 tem quatro instâncias n1-standard-1, cada uma com uma GPU P100 (quatro vCPUs e quatro GPUs P100). O total de recursos reservados inclui quatro  GPUs P100.
    gcloud beta compute commitments create my-commitment-with-reservations \
        --region=asia-east1 \
        --resources=vcpu=10,memory=32GB \
        --resources-accelerator=type=nvidia-tesla-p100,count=4 \
        --plan 12-month \
        --reservations-from-file=one-reservation.yaml
    

O arquivo one-reservation.yaml contém:

- reservation: res-1
      reservation_zone: asia-east1-a
      require_specific_reservation: true
      vm_count: 4
      machine_type: n1-standard-1
      accelerator:
      - count: 1
        type: nvidia-tesla-p100
    

Atualize o compromisso para transferir alguns recursos da res-1 para uma nova segunda reserva, res-2. Neste exemplo:

  • Modifique res-1 para ter duas instâncias n1-standard-1, cada uma com duas GPUs P100 (duas vCPUs e duas GPUs P100).
  • Adicione res-2 para ter duas instâncias n1-standard-2, cada uma com uma GPU P100 (quatro vCPUs e duas GPUs P100).

O número total de GPUs reservadas dentro do compromisso permanece constante em quatro.

    gcloud compute beta commitments update-reservations my-commitment-with-reservations \
        --region=us-central1 \
        --reservations-from-file=two-reservations.yaml
    

O arquivo two-reservations.yaml contém:

- reservation: res-1
      reservation_zone: asia-east1-a
      require_specific_reservation: true
      vm_count: 2
      machine_type: n1-standard-1
      accelerator:
      - count: 1
        type: nvidia-tesla-p100
    - reservation: res-2
      reservation_zone: asia-east1-a
      require_specific_reservation: true
      vm_count: 2
      machine_type: n1-standard-2
      accelerator:
      - count: 1
        type: nvidia-tesla-p100
    

API

Use o método regionCommitments.updateReservations.

Por exemplo, crie um compromisso com a reserva:

  • res-1 tem quatro instâncias n1-standard-1, cada uma com uma GPU nvidia-tesla-p100 (quatro vCPUs e quatro GPUs P100).

Neste exemplo, o total de recursos reservados inclui quatro GPUs P100.

    POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservation/updateReservations

    {
      "name": "my-commitment-with-reservation",
      "plan": "TWELVE_MONTH",
      "reservations":
      [
        {
          "name": "res-1",
          "specificReservation":
          {
            "count": "4",
            "instanceProperties":
            {
              "guestAccelerators":
              [
                {
                  "acceleratorCount": 1,
                  "acceleratorType": "nvidia-tesla-p100"
                }
              ],
              "machineType": "n1-standard-1"
            }
          },
          "specificReservationRequired": true,
          "zone": "asia-east1-a"
        }
      ],
      "resources":
      [
        {
          "amount": "10",
          "type": "VCPU"
        },
        {
          "amount": "32768",
          "type": "MEMORY"
        },
        {
          "acceleratorType": "nvidia-tesla-p100",
          "amount": "4",
          "type": "ACCELERATOR"
        }
      ]
    }
    

Atualize o compromisso para transferir alguns recursos da res-1 para uma nova segunda reserva, res-2. Neste exemplo:

  • Modifique res-1 para ter duas instâncias n1-standard-1, cada uma com duas GPUs P100 (duas vCPUs e duas GPUs P100).
  • Adicione res-2 para ter duas instâncias n1-standard-2, cada uma com uma GPU P100 (quatro vCPUs e duas GPUs P100).

O número total de GPUs reservadas dentro do compromisso permanece constante em quatro.

    POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservation/updateReservations

    {
      "reservations":
      [
        {
          "name": "res-1",
          "specificReservation":
          {
            "count": "2",
            "instanceProperties":
            {
              "guestAccelerators":
              [
                {
                  "acceleratorCount": 1,
                  "acceleratorType": "nvidia-tesla-p100"
                }
              ],
              "machineType": "n1-standard-1"
            }
          },
          "specificReservationRequired": true,
          "zone": "asia-east1-a"
        },
        {
          "name": "res-2",
          "specificReservation":
          {
            "count": "2",
            "instanceProperties":
            {
              "guestAccelerators":
              [
                {
                  "acceleratorCount": 1,
                  "acceleratorType": "nvidia-tesla-p100"
                }
              ],
              "machineType": "n1-standard-2"
            }
          },
          "specificReservationRequired": true,
          "zone": "asia-east1-a"
        }
      ]
    }
    

Como visualizar relatórios de uso de reserva

É possível exportar relatórios detalhados de uso do Compute Engine para um bucket do Cloud Storage usando o recurso de exportação de uso. Consulte Como visualizar relatórios de uso para receber instruções.

O relatório de uso mostra:

  • recursos reservados que estão em uso. Essas entradas aparecem como recursos normais de vCPU, memória, GPU e SSD local;
  • recursos reservados que não estão em uso. Essas entradas têm nomes normais de SKU e URIs de recursos de reserva.
  • total de recursos reservados. Essas entradas têm nomes de SKU de reserva e URIs de recurso de reserva. Não há custos associados a essas entradas. Use essas entradas para calcular quanto de suas reservas você está usando.
Medição Formato MeasurementId Formato Resource URI
Recursos reservados que estão em uso com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME.

Por exemplo, https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
Recursos reservados que não estão em uso com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Por exemplo, https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-a/reservations/my-reservation
Total de recursos reservados com.google.cloud/services/compute-engine/ReservationSKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Por exemplo, https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-a/reservations/my-reservation

Por exemplo, no snippet a seguir de um relatório de uso para uma reserva chamada my-reservation:

  • A linha 1 mostra a RAM reservada atualmente em uso. O ResourceId da linha mostra que essa RAM é usada por uma instância chamada my-instance.
  • A linha 2 mostra a RAM reservada que não está em uso. O ResourceId da linha mostra que essa RAM reservada mantida por my-reservation. Ela ainda não é usada por nenhuma instância.
  • A linha 3 mostra o total de RAM reservada da reserva.
    Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location
    2019-06-06,com.google.cloud/services/compute-engine/VmimageN1StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a
    2019-06-06,com.google.cloud/services/compute-engine/VmimageN1StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
    2019-06-06,com.google.cloud/services/compute-engine/ReservationN1StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
    ...
    

Faturamento da reserva

As reservas são faturadas com a mesma taxa que os recursos que estão reservando. Os descontos por uso prolongado, descontos por uso contínuo e preços personalizados se aplicam a VMs comuns.

Veja este exemplo:

  • Você tem um compromisso de três vCPUs em us-central1.
  • Você está executando cinco vCPUs em us-central1-a.
  • Você tem uma reserva de dez vCPUs em us-central1-a.

Reservas com alguns descontos por uso contínuo.

Você será cobrado da seguinte forma:

Coberto por Nº de vCPUs
Preço com desconto por uso contínuo 3
Preço sob demanda (duas vCPUs usaram reservas + cinco reservas sem uso de vCPU) 7

A seguir