Reservas de recursos zonais do Compute Engine


Neste documento, explicamos o comportamento, os requisitos, as restrições e o faturamento de reservas de recursos zonais do Compute Engine.

Informações gerais

Para garantir que os recursos do Compute Engine estejam disponíveis quando você precisar deles, use reservas. As reservas fornecem um nível muito alto de garantia da capacidade dos recursos zonais do Compute Engine. É possível usar reservas para ajudar a garantir que seu projeto tenha recursos para aumentos futuros na demanda, como nos seguintes casos:

  • Crescimento
  • Picos planejados ou não planejados
  • Migração de um grande número de instâncias de máquina virtual (VM)
  • Backup e recuperação de desastres

Com as reservas, 95% das VMs iniciam em menos de 120 segundos. Cada reserva oferece garantia para uma ou mais VMs com as mesmas propriedades. Depois de criar uma reserva, os recursos reservados ficam disponíveis imediatamente e permanecem disponíveis até que você a exclua. Da mesma forma, você começa a pagar pelos recursos reservados imediatamente e, quando não precisar mais de uma reserva, poderá excluí-la para interromper as cobranças relativas. Enquanto uma VM está consumindo uma reserva, ela não gera cobranças separadas.

Independentemente de quanto você usa os recursos reservados, a reserva impede que outra pessoa use seus recursos reservados. Como uma reserva ocupa recursos tanto quanto VMs em execução não reservadas, os recursos reservados são cobrados com as mesmas taxas sob demanda que a execução de VMs, incluindo quaisquer descontos aplicáveis.

Como funcionam as reservas

Nesta seção, descrevemos como funcionam as reservas.

Uma reserva fornece garantia de capacidade para uma ou mais VMs do Compute Engine com a configuração especificada. Também é possível usar uma reserva com compromissos do Compute Engine ou outros produtos que usam VMs.

Ao criar uma reserva, você define as seguintes propriedades:

  • Tipo de provisionamento (sob demanda ou futuro)
    • Uma reserva sob demanda (padrão) é provisionada no momento em que você a solicita, se a capacidade solicitada estiver disponível.
    • Uma reserva futura permite solicitar a garantia de capacidade importante ou difícil de conseguir com antecedência. Especificamente, reservas futuras consistem em dois tipos de recursos: solicitações futuras de reserva que, se aprovadas, oferecemreservas criadas automaticamente no seu futuro, com horário especificado. Após o período de reserva solicitado, uma reserva criada automaticamente é excluída automaticamente ou se comporta de maneira semelhante a uma reserva sob demanda.

      O uso de reservas futuras pode fornecer um nível ainda mais alto de garantia na capacidade do que as reservas sob demanda, permitindo que o Google Cloud tenha mais tempo para atender sua solicitação. Para usar reservas futuras, consulte Sobre solicitações de reserva futuras em vez deste documento.

  • Exclusão automática

    A opção exclusão automática especifica a exclusão automática da reserva, independentemente de ser totalmente consumida ou não. Se você ativar a opção de exclusão automática, a reserva será excluída dentro de duas horas a partir da data e hora especificadas. A exclusão automática de reservas pode ser útil para evitar cobranças desnecessárias pelas reservas que não são consumidas por algum tempo.

  • Tipo de consumo (automático ou específico)
    • Uma reserva consumida automaticamente (padrão) pode ser consumida por VMs com uma propriedade de afinidade de reserva que permite consumir automaticamente qualquer uma dessas reservas (padrão).
    • Uma reserva segmentada especificamente só pode ser consumida por VMs com uma propriedade de afinidade de reserva que segmenta essa reserva específica para consumo. O uso de reservas segmentadas especificamente pode facilitar o rastreamento e o controle de quais VMs estão consumindo quais reservas.
  • Tipo de compartilhamento (para um único projeto ou compartilhado)
    • Uma reserva de projeto único (padrão) só pode ser consumida por VMs localizadas no mesmo projeto que a reserva.
    • Uma reserva compartilhada pode ser consumida pelas VMs no projeto em que a reserva está localizada e em qualquer outro projeto com que ela seja compartilhada. O uso de reservas compartilhadas pode ajudar a melhorar a utilização de suas reservas e reduzir o número de reservas que você precisa criar e gerenciar. Para mais informações, consulte Como funcionam as reservas compartilhadas neste documento.
  • Opcional: política de posicionamento de recursos (compacta)

    Uma política de posicionamento compacta indica que as VMs reservadas precisam estar localizadas o mais próximo possível uma da outra para reduzir a latência de rede entre elas.

  • Contagem de VMs

    A contagem de VMs é o número de VMs com propriedades e zona correspondentes que você quer reservar ao criar uma reserva. Depois de criar a reserva, também é possível modificar a contagem de VMs.

  • Propriedades da VM

    As propriedades de VM definem os requisitos de hardware para as VMs que você quer reservar. Uma VM só pode consumir uma reserva se as propriedades da VM e as propriedades da VM da reserva corresponderem exatamente. Para mais informações, consulte Requisitos neste documento.

Depois de criar uma reserva, esteja ciente do seguinte:

  • Se você interromper, suspender ou excluir uma VM que esteja consumindo uma reserva, ela não será mais contabilizada na reserva. Os recursos consumidos anteriormente ficarão disponíveis de novo para consumo após a interrupção, suspensão ou exclusão da VM.

  • Se você excluir uma reserva, mas não excluir as VMs que estão usando os recursos reservados, as VMs permanecerão e você será cobrado pelos recursos como de costume.

Como funcionam as reservas compartilhadas

Cada VM em uma reserva compartilhada pode ser consumida por uma VM no projeto que criou a reserva (projeto de proprietário) ou em qualquer projeto com que a reserva foi compartilhada (projetos de cliente). Quando uma VM para de consumir uma reserva compartilhada, ela pode ser consumida por uma VM diferente em qualquer um dos projetos com que a reserva for compartilhada. Se uma reserva compartilhada reservar várias VMs, as VMs de vários projetos poderão consumir a mesma reserva compartilhada simultaneamente.

Por padrão, os projetos não podem criar e modificar reservas compartilhadas. Para criar e modificar uma reserva compartilhada em um projeto, esse projeto precisa ser adicionado à lista de permissões da restrição de políticas da organização de Projetos de proprietário de reservas compartilhadas (compute.sharedReservationsOwnerProjects). O compartilhamento de uma reserva é afetado por outros requisitos e apresenta um comportamento de consumo um pouco diferente das reservas não compartilhadas.

Requisitos

Todas as reservas têm os requisitos a seguir:

  • Uma instância de VM pode consumir uma reserva apenas se todas as seguintes propriedades da VM e da reserva corresponderem exatamente:

    • Projeto*
    • Zona
    • Tipo de máquina
    • Plataforma mínima de CPU
    • Tipo e contagem de GPU
    • Tipo e contagem de SSD local
    • Afinidade de reserva
    • Política de posicionamento compacto

    *Os requisitos do projeto variam de acordo com o tipo de compartilhamento da reserva.

    Os requisitos da afinidade de reserva variam de acordo com o tipo de consumo da reserva.

    Como alternativa, uma reserva tem a opção de incluir uma política de posicionamento compacto para indicar que as VMs reservadas precisam estar localizadas o mais próximo possível uma da outra para reduzir a latência de rede entre elas. Se uma reserva especificar uma política de posicionamento compacto, ela só poderá ser consumida por VMs que especificarem a mesma política de posicionamento compacto.

  • Você precisa ter cota suficiente em seu projeto para os recursos que está reservando. Se a reserva for criada com sucesso, a cota desse recurso será cobrada de modo proporcional.

Outros requisitos para reservas anexadas a compromissos

Além disso, as reservas anexadas a compromissos têm estes requisitos:

  • As reservas precisam ser para o mesmo projeto e região que o compromisso.

  • As reservas precisam ser para a mesma série da família de máquinas que o compromisso. No entanto, é possível escolher qualquer tipo de máquina dentro dessa série.

  • A opção de exclusão automática precisa estar desativada nas reservas.

  • Se o compromisso especificar GPUs, discos SSD locais ou ambos, a reserva anexada (ou combinação de reservas anexadas) precisará especificar exatamente os mesmos números e tipos desses recursos que o compromisso.

Para saber mais, consulte Anexar reservas a compromissos baseados em recursos.

Outros requisitos para reservas criadas com base em um modelo de instância

Além disso, se você criar uma reserva especificando um modelo de instância, verifique o seguinte:

  • Crie sua reserva na mesma região, zona e projeto que os recursos do modelo. Especificamente:

    • Todos os recursos regionais ou zonais especificados em um modelo de instância, como um tipo de máquina ou um disco, restringem o uso do modelo aos locais onde existem esses recursos. Por exemplo, se o modelo de instância especificar um disco existente na zona us-central1-a, será necessário criar sua reserva na mesma zona.

    • Um modelo de instância contém configurações específicas do projeto. Portanto, só é possível acessar e usar um modelo de instância no mesmo projeto. Para os projetos com os quais uma reserva é compartilhada, crie modelos semelhantes nesses projetos ou crie VMs especificando propriedades diretamente.

  • Se o modelo de instância determina uma política de posicionamento compacto, é preciso criar uma reserva específica. Em seguida, ao criar as VMs para consumir a reserva, segmente-a especificamente por nome. Caso contrário, as VMs não poderão consumir a reserva.

Requisitos extras para reservas compartilhadas

Além disso, há implicações específicas de cota para os projetos proprietários e consumidores de uma reserva compartilhada. Especificamente:

  • O projeto proprietário precisa ter cota suficiente para o dobro de recursos a serem reservados. A cota do projeto proprietário de uma reserva compartilhada é cobrada da seguinte maneira:

    • Ao reservar os recursos, o projeto proprietário é cobrado pela cota dos recursos reservados.

    • Quando algum dos recursos reservados é consumido, o projeto proprietário é cobrado pela cota dos recursos consumidos.

  • O projeto consumidor é cobrado pela cota somente quando consome os recursos reservados e apenas pelos recursos consumidos.

Por exemplo, vamos supor que o projeto A (o projeto proprietário) crie uma reserva compartilhada para 10 recursos e a compartilhe com os projetos B e C (os projetos consumidores). Depois de criar a reserva compartilhada, o projeto A é cobrado por 10 recursos. Em seguida, vamos supor que os projetos consumam a reserva da seguinte maneira:

  • O projeto A consome dois recursos reservados e é cobrado por dois recursos.

  • O projeto B consome dois recursos reservados. Os projetos A e B são cobrados por dois recursos.

Requisitos adicionais para reservas com políticas de posicionamento compactas

Além disso, para especificar uma política de posicionamento compacto para uma reserva, verifique os seguintes requisitos:

  • A política de posicionamento compacto precisa aceitar reservas:

    • A política de posicionamento compacto não pode especificar um número fixo dee VMs.

    • A política de posicionamento compacto não pode especificar um valor max-distance de 1.

    • A política de posicionamento compacto não pode ser especificada por mais de uma reserva por vez.

  • A reserva precisa ser compatível com políticas de posicionamento compactas:

    • Só é possível especificar uma política de posicionamento compacto para uma reserva específica, sob demanda, de projeto único e que não esteja anexada a um compromisso.

    • As VMs reservadas pela reserva precisam ser compatíveis com a política de posicionamento compacto:

      • A zona da reserva precisa estar dentro da região da política de posicionamento compacto.

      • O número de VMs da reserva não pode exceder o número máximo compatível com a política de posicionamento compacto.

      • O tipo de máquina da reserva precisa ser compatível com as políticas de posicionamento compacto.

      Para mais informações, consulte as restrições para políticas de posicionamento compacto.

Restrições

Todas as reservas têm estas restrições:

  • É possível reservar até 1.000 VMs por reserva.
  • As reservas se aplicam apenas ao uso de VMs nos seguintes produtos do Google Cloud:

    • Lote
    • Compute Engine
    • Dataflow
    • Dataproc
    • Google Kubernetes Engine

  • As reservas não se aplicam a estes recursos:

    • Tipos de máquina f1-micro e g1-small
    • VMs preemptivas
    • Nós de locatário individual
    • Outros serviços não listados anteriormente, como o Cloud SQL
  • O Compute Engine tenta alocar recursos sob demanda quando você cria uma reserva. Se não houver recursos suficientes na zona no momento da solicitação, a reserva falhará com um erro de disponibilidade de recursos insuficiente. Se a reserva for criada, os recursos ficarão disponíveis para uso mesmo que você não os utilize imediatamente.

Outras restrições para reservas anexadas a compromissos

Além disso, as reservas anexadas a compromissos têm estas restrições:

  • Só é possível anexar reservas a compromissos baseados em recursos.

  • É possível anexar reservas somente enquanto você está comprando seu compromisso.

  • É possível anexar uma reserva específica a somente um único compromisso.

  • Não é possível excluir ou redimensionar uma reserva anexada a um compromisso. Em vez disso, veja como substituir reservas anexadas a compromissos.

Para saber mais, consulte Anexar reservas a compromissos baseados em recursos.

Outras restrições para reservas compartilhadas

Além disso, as reservas compartilhadas têm estas restrições:

  • Só é possível compartilhar reservas com projetos da mesma organização do projeto que criou a reserva.

  • Cada reserva compartilhada pode ser compartilhada com 1 a 100 projetos do consumidor.

  • Para cada organização, é possível criar até 100 reservas compartilhadas para cada combinação exclusiva de propriedades da VM.

  • Só é possível listar as reservas criadas por um projeto específico. Isso significa que cada reserva compartilhada é listada apenas no projeto que a criou. Não é possível listar todas as reservas compartilhadas de uma organização ou todas as reservas que são compartilhadas com um projeto específico.

  • Se você criar uma reserva compartilhada especificando um modelo de instância, somente os usuários em seu projeto poderão acessar o mesmo modelo de instância e usá-lo para criar VMs ou outras reservas.

  • Não é possível especificar uma política de posicionamento compacta ao criar uma reserva compartilhada.

  • Se você passar um projeto que estava usando reservas compartilhadas para uma nova organização, as reservas compartilhadas não serão migradas para a nova organização. Todas as reservas compartilhadas criadas nesse projeto serão excluídas e as reservas da organização anterior que foram compartilhadas com esse projeto não poderão ser consumidas na nova organização. Para mais informações, consulte Como funcionam as reservas compartilhadas neste documento.

É possível reduzir as limitações de alguns desses requisitos seguindo as práticas recomendadas para reservas compartilhadas.

Restrições extras para reservas com políticas de posicionamento compactas

Além disso, as reservas que especificam uma política de posicionamento compactaa têm as seguintes restrições:

  • Não é possível compartilhar uma política de posicionamento compacto entre as reservas. Em vez disso, use uma política de posicionamento compacto separada para cada reserva à qual você quiser aplicar umaa política de posicionamento compacto.

  • Só é possível especificar políticas de posicionamento compactas. Qualquer outro tipo de política de recursos, como programações de instâncias ou snapshots, não é compatível.

Faturamento

Nesta seção, descrevemos como todas as reservas são faturadas.

As reservas são cobradas com a mesma taxa que os recursos reservados, inclusive os mesmos preços sob demanda e as cobranças mínimas de um minuto das VMs não reservadas em execução. Desconto por uso prolongado (SUDs), CUDs e preços personalizados também se aplicam à execução de VMs.

Por exemplo, suponha que:

  • 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 10 vCPUs em us-central1-a.

Reservas que incluem descontos por compromisso de uso.

A cobrança então será feita desta forma:

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

Uma reserva incorre em cobranças pelos recursos reservados enquanto ela existir, independentemente de os recursos estarem sendo usados ou não. Ao consumir uma reserva, uma VM não gera cobranças de recursos duplicadas, já que a reserva já é cobrada pelo custo dos recursos reservados. Para mais detalhes, consulte os preços das VMs.

Além disso, é possível monitorar as tendências de consumo das reservas para reduzir custos desnecessários de recursos desperdiçados ou não utilizados. Para mais informações, consulte Monitorar o consumo de reservas.

Outras informações de faturamento para reservas compartilhadas

Não há cobranças extras pelo uso de reservas compartilhadas. Elas são cobradas pelo mesmo preço das reservas de projeto único do Compute Engine. No entanto, o projeto faturado pelas reservas compartilhadas muda com o consumo, já que projetos diferentes podem se qualificar para CUDs distintos.

O projeto de faturamento e o preço das reservas compartilhadas são processados da seguinte maneira:

  • Projeto de faturamento: por padrão, o projeto de proprietário é cobrado pela reserva compartilhada. Porém, quando um recurso de uma reserva compartilhada está sendo consumido por um projeto do consumidor, este projeto passa a ser cobrado pela reserva.
  • Descontos de faturamento: por padrão, o faturamento usa o preço sob demanda. No entanto, se você se qualificar para receber CUDs para o projeto que está sendo faturado ou para a conta do Cloud Billing associada a esse projeto, o preço com desconto será usado.

A seguir