Este documento explica como criar reservas partilhadas, que são reservas partilhadas em vários projetos, e gerir que projetos na sua organização podem consumir as reservas partilhadas.
Uma reserva partilhada pode ser usada pelo projeto que aloja a reserva (projeto proprietário) e pelos projetos com os quais a reserva é partilhada (projetos consumidores). Use reservas partilhadas se a sua organização tiver vários projetos que precisam de instâncias de máquinas virtuais (VM) com as mesmas propriedades reservadas. Ao usar reservas partilhadas, pode melhorar a utilização das suas reservas e reduzir o número de reservas que tem de criar e gerir. Para saber mais sobre as reservas, consulte o artigo Reservas de recursos zonais do Compute Engine.
Para outros métodos de criação de reservas, consulte as seguintes páginas:
Para criar uma reserva que só pode ser usada por um único projeto, consulte o artigo Crie uma reserva para um único projeto.
Para criar uma reserva quando comprar um compromisso baseado em recursos, consulte o artigo Compre compromissos com reservas anexadas. Os compromissos oferecem descontos, conhecidos como descontos de fidelidade (CUDs), nos custos de recursos a pedido em troca da compra de um nível mínimo de recursos ou de gastar um valor mínimo.
Antes de começar
- Reveja os requisitos e as restrições para reservas.
- Reveja os requisitos de quota e as restrições para reservas partilhadas.
- Certifique-se de que o projeto que usa para criar reservas partilhadas foi adicionado
à lista de autorizações para a restrição da política da organização Shared Reservations Owner Projects
(
compute.sharedReservationsOwnerProjects
) por um administrador da política da organização. Por predefinição, esta lista de autorizações está vazia, pelo que não pode criar reservas partilhadas até que a sua organização conceda esta autorização a um ou mais projetos. Para mais detalhes sobre a visualização e a edição da restrição da política da organização, consulte a secção Permitir e restringir projetos de criar e modificar reservas partilhadas neste documento. -
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
- Set a default region and zone.
Terraform
Para usar os exemplos do Terraform nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Ir
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Node.js
Para usar os Node.js exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações de que precisa para criar reservas partilhadas, peça ao seu administrador que lhe conceda as seguintes funções de IAM:
-
Administrador de computação (
roles/compute.admin
) no projeto -
Para ver e editar políticas da organização:
Administrador da política da organização (
roles/orgpolicy.policyAdmin
) na organização
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para criar reservas partilhadas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar reservas partilhadas:
-
compute.reservations.create
no projeto -
Para ver as políticas da organização:
orgpolicy.policy.get
na organização -
Para editar as políticas da organização:
orgpolicy.policy.set
na organização -
Para especificar um modelo de instância:
compute.instanceTemplates.useReadOnly
no modelo de instância
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Práticas recomendadas
Ao criar reservas partilhadas, recomendamos as seguintes práticas recomendadas. Seguindo-as, pode ajudar a otimizar a capacidade de gestão e a utilização das reservas partilhadas na sua organização.
-
Faça com que o projeto proprietário crie a reserva partilhada, mas não a consuma.
- Para distribuir os gastos pelos projetos, recomenda-se que apenas os projetos de consumidor usem uma reserva partilhada. O projeto proprietário só deve ser usado para criar a reserva partilhada.
- Ao criar uma reserva partilhada, o projeto proprietário tem de ter quota suficiente para o total de recursos a reservar. Em seguida, após a criação da reserva, o projeto proprietário tem de ter quota para todos os recursos reservados que quer consumir. Para mais informações, consulte os Requisitos de quota adicionais para reservas partilhadas.
-
Minimize o número de projetos na sua organização que permite criar reservas partilhadas. Pode controlar esta definição através da restrição da política da organização Shared
Reservations Owner Projects
(
compute.sharedReservationsOwnerProjects
).- Só pode listar as reservas criadas por cada projeto. Isto significa que as reservas partilhadas só são apresentadas no projeto proprietário. Não pode apresentar as reservas partilhadas com cada projeto nem apresentar todas as reservas partilhadas em cada organização. Por isso, ter apenas alguns projetos proprietários facilita a monitorização e a gestão das suas reservas partilhadas.
- Limite a partilha de uma reserva partilhada a apenas alguns projetos para gerir mais facilmente a quota dos seus recursos reservados.
- Para mais informações, consulte o artigo Permita e restrinja projetos de criar e modificar reservas partilhadas.
-
Minimize o número de reservas partilhadas separadas com propriedades de VM idênticas.
- Uma organização pode ter até 100 reservas partilhadas para cada combinação única de propriedades de VM. Como resultado, minimizar o número de reservas partilhadas com propriedades de VM idênticas que criar ajuda a mitigar este limite.
- Ter menos reservas partilhadas melhora a capacidade de gestão.
-
Partilhe apenas reservas entre projetos com a mesma conta do Cloud Billing.
- Limite cada reserva partilhada para que só seja partilhada com projetos de consumidor que tenham a mesma conta do Cloud Billing que o projeto proprietário. Isto facilita a verificação se uma reserva foi consumida e como foi faturada.
Permita e restrinja a criação e a modificação de reservas partilhadas por parte dos projetos
Por predefinição, nenhum projeto tem autorização para criar ou modificar reservas partilhadas numa organização. Adicione projetos à política da organização Shared Reservations Owner Projects (
compute.sharedReservationsOwnerProjects
) para lhes permitir criar e modificar reservas partilhadas. Para mais informações sobre as restrições da política da organização, consulte a Introdução ao serviço de políticas da organização.Siga os passos seguintes para ver e editar a restrição da política da organização Shared Reservations Owner Projects (
compute.sharedReservationsOwnerProjects
).Veja a restrição da política da organização de reservas partilhadas
Para ver que projetos têm autorização para criar e modificar reservas partilhadas, use a Trusted Cloud consola ou a CLI gcloud.
Consola
Siga os passos para ver as políticas da organização usando a restrição Shared Reservations Owner Projects.
gcloud
Para ver que projetos a restrição
compute.sharedReservationsOwnerProjects
permite criar e modificar reservas partilhadas:Transfira a política da sua organização como um ficheiro denominado
policy.yaml
, usando o comandogcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects --organization=ORGANIZATION_ID > policy.yaml
Substitua ORGANIZATION_ID pelo ID da organização da sua organização.
Use um editor de texto para abrir o ficheiro
policy.yaml
e ver a restriçãocompute.sharedReservationsOwnerProjects
. Os projetos autorizados a criar e modificar reservas partilhadas estão listados emallowedValues
:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/PROJECT_NUMBER_1 - projects/PROJECT_NUMBER_2 - projects/PROJECT_NUMBER_3 ...
onde PROJECT_NUMBER_1, PROJECT_NUMBER_2 e PROJECT_NUMBER_3 são os números dos projetos dos únicos projetos na sua organização que podem criar reservas partilhadas.
Opcional: elimine o ficheiro
policy.yaml
.Se estiver a usar um terminal Linux ou macOS, use o seguinte comando:
rm policy.yaml
Se estiver a usar um terminal do Windows, use o seguinte comando:
del policy.yaml
Edite a restrição da política da organização de reservas partilhadas
Para editar os projetos autorizados a criar e modificar reservas partilhadas, use a Trusted Cloud consola ou a CLI gcloud.
Consola
Siga os passos para personalizar as políticas para restrições de listas usando a restrição Projetos proprietários de reservas partilhadas.
gcloud
Para editar os projetos que a restrição
compute.sharedReservationsOwnerProjects
permite criar e modificar reservas partilhadas, use um dos seguintes métodos:Para conceder autorização a um único projeto para criar e modificar reservas partilhadas, use o comando
gcloud resource-manager org-policies allow
. Pode repetir este comando para cada projeto ao qual quer conceder esta autorização.gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \ --organization=ORGANIZATION_ID
Substitua o seguinte:
- PROJECT_NUMBER: o número do projeto (não o ID do projeto) de um projeto na sua organização que quer permitir que crie e modifique reservas partilhadas.
- ORGANIZATION_ID: o ID da organização da sua organização.
Para conceder ou revogar as autorizações para vários projetos de modo a criar e modificar reservas partilhadas, substitua a restrição da política da organização:
Para transferir a política da sua organização como um ficheiro com o nome
policy.yaml
, use o comandogcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects --organization=ORGANIZATION_ID > policy.yaml
Substitua ORGANIZATION_ID pelo ID da organização da sua organização.
Use um editor de texto para modificar o ficheiro
policy.yaml
de modo que a restriçãocompute.sharedReservationsOwnerProjects
liste todos os projetos que quer que possam criar e modificar reservas partilhadas no respetivoallowedValues
.- Para cada projeto ao qual quer conceder a autorização para criar e modificar reservas partilhadas, adicione o projeto numa nova linha em
allowedValues
. - Para cada projeto para o qual quer revogar a autorização para criar e modificar reservas partilhadas, elimine a linha desse projeto.
Quando terminar, certifique-se de que o ficheiro
policy.yaml
tem um aspeto semelhante ao seguinte:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/PROJECT_NUMBER_1 - projects/PROJECT_NUMBER_2 - projects/PROJECT_NUMBER_3 ...
onde PROJECT_NUMBER_1, PROJECT_NUMBER_2 e PROJECT_NUMBER_3 são os números dos projetos (não os IDs dos projetos) de todos os projetos na sua organização que quer que possam criar e modificar reservas partilhadas.
- Para cada projeto ao qual quer conceder a autorização para criar e modificar reservas partilhadas, adicione o projeto numa nova linha em
Guarde o ficheiro
policy.yaml
e feche o editor de texto.Para atualizar a política da sua organização com as suas alterações, use o comando
gcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy --organization=ORGANIZATION_ID policy.yaml
Substitua ORGANIZATION_ID pelo ID da organização da sua organização.
Opcional: elimine o ficheiro
policy.yaml
.Se estiver a usar um terminal Linux ou macOS, use o seguinte comando:
rm policy.yaml
Se estiver a usar um terminal do Windows, use o seguinte comando:
del policy.yaml
Pode ter de aguardar alguns minutos para que a edição entre em vigor.
Crie uma reserva partilhada
Esta secção explica como criar reservas partilhadas. Depois de criar uma reserva partilhada, esta só pode ser modificada pelo projeto proprietário, mas os recursos de uma reserva partilhada podem ser consumidos pelo projeto proprietário ou por quaisquer projetos consumidores.
Para consumir uma reserva, uma VM tem de ter propriedades que correspondam exatamente a essa reserva. Para especificar as propriedades das VMs que quer reservar, selecione uma das seguintes secções neste documento:
Recomendado: Especifique um modelo de instância
Esta secção explica como usar um modelo de instância para definir as propriedades de uma reserva partilhada. Ao usar um modelo de instância, pode definir as propriedades de uma reserva e as VMs que podem consumir a reserva no mesmo local. No entanto, uma vez que os modelos são específicos do projeto, não pode usar o mesmo modelo para criar VMs que possam consumir a reserva fora do projeto que criou a reserva. Para os projetos com os quais a reserva é partilhada, tem de criar modelos semelhantes nesses projetos ou criar VMs especificando as propriedades diretamente.
-
Esta secção explica como usar uma VM existente para definir as propriedades de uma reserva. Ao usar as propriedades de uma VM existente, pode consumir a reserva criando VMs com propriedades que correspondam à VM de referência.
Especifique propriedades diretamente
Esta secção explica como definir diretamente as propriedades de uma reserva partilhada. Este método requer que se certifique manualmente de que as propriedades das suas VMs e reservas correspondem exatamente. Quaisquer As propriedades em correspondência impedem o consumo.
Por predefinição, uma reserva pode ser consumida automaticamente por quaisquer VMs com propriedades que correspondam à mesma. Se quiser controlar o consumo de reservas, faça uma ou mais das seguintes ações:
Crie uma reserva que só pode ser consumida por VMs que a segmentem especificamente, conforme explicado nas secções seguintes deste documento. Em seguida, configure as VMs para consumirem essa reserva específica.
Especifique um modelo de instância
Antes de criar uma reserva especificando um modelo de instância, certifique-se de que tem o seguinte:
Um modelo de instância contém definições específicas do projeto, pelo que só pode aceder e usar um modelo de instância no mesmo projeto. Se criar uma reserva partilhada especificando um modelo de instância, não pode usar o mesmo modelo para criar VMs que possam consumir a reserva fora do projeto que criou a reserva.
Crie a sua reserva na mesma região e zona que os recursos no modelo de instância. Todos os recursos regionais ou zonais especificados num modelo de instância, como um tipo de máquina ou um volume de disco persistente, restringem a utilização do modelo às localizações onde esses recursos existem. Por exemplo, se o modelo de instância especificar um volume de disco persistente existente na zona
us-central1-a
, só pode criar a reserva na mesma zona. Para verificar se um modelo existente especifica recursos que associam o modelo a uma região ou uma zona específica, veja os detalhes do modelo de instância e procure referências a recursos regionais ou zonais no respetivo interior.
Para criar uma reserva partilhada especificando um modelo de instância, selecione uma das seguintes opções:
Consola
Na Trusted Cloud consola, aceda à página Reservas.
É apresentada a página Reservas.
Clique em
Criar reserva.É apresentada a página Criar uma reserva.
Em Nome, introduza um nome para a reserva.
Para Região e Zona, selecione onde quer reservar recursos.
Na secção Tipo de partilha, faça o seguinte:
Para especificar uma reserva partilhada, selecione Partilhada.
Clique em
Adicionar projetos e, de seguida, selecione os projetos da organização do projeto atual com os quais quer partilhar a reserva. Pode selecionar até 100 projetos de consumidor.
Opcional: para permitir que uma reserva de VMs de GPU seja consumida por tarefas de preparação personalizadas ou tarefas de previsão no Vertex AI, na secção Serviços Google Cloud, selecione Partilhar reserva.
Na secção Usar com instância de VM, selecione uma das seguintes opções:
Para permitir que as instâncias de VM correspondentes usem automaticamente esta reserva, selecione Usar reserva automaticamente se ainda não estiver selecionada.
Para consumir os recursos desta reserva apenas quando criar VMs correspondentes que segmentem especificamente esta reserva por nome, selecione Selecionar reserva específica.
Em Número de instâncias de VM, introduza o número de VMs que quer reservar.
Na secção Configuração da máquina, selecione Usar modelo de instância e, de seguida, selecione o modelo de instância da sua escolha. Se selecionar um modelo de instância regional, só pode reservar recursos na mesma região que a região do modelo.
Na secção Eliminação automática, pode ativar a opção de eliminação automática para permitir que o Compute Engine elimine automaticamente a reserva numa data e hora específicas. A eliminação automática de reservas pode ser útil para evitar cobranças desnecessárias quando deixa de consumir a reserva.
Para criar a reserva, clique em Criar.
É apresentada a página Reservas. A criação da reserva partilhada pode demorar até um minuto.
gcloud
Para criar uma reserva partilhada, use o comando
gcloud compute reservations create
com os indicadores--share-setting=projects
e--share-with
.Para criar uma reserva partilhada especificando um modelo de instância e sem incluir quaisquer flags opcionais, execute o seguinte comando:
gcloud compute reservations create RESERVATION_NAME \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua o seguinte:
RESERVATION_NAME
: o nome da reserva a criar.PROJECT_ID
: o ID do projeto onde quer reservar recursos e onde existe o modelo de instância.CONSUMER_PROJECT_IDS
: uma lista separada por vírgulas de IDs de projetos que podem consumir esta reserva, por exemplo,project-1,project-2
. Pode incluir até 100 projetos de consumo. Estes projetos têm de estar na mesma organização que o projeto proprietário. Não inclua o projeto proprietário. Por predefinição, já é permitido consumir a reserva.LOCATION
: a localização do modelo de instância. Especifique um dos seguintes valores:Para um modelo de instância global:
global
.Para um modelo de instância regional:
regions/REGION
. SubstituaREGION
pela região onde o modelo de instância está localizado. Se especificar um modelo de instância regional, só pode reservar VMs na mesma região que a região do modelo.
INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância existente. Se o modelo de instância especificar um tipo de máquina A3 Mega, A3 High ou A3 Edge, tem de incluir a flag--require-specific-reservation
. Isto indica que apenas as VMs que segmentam especificamente a reserva podem consumi-la. Para mais informações, consulte o artigo Consuma VMs de uma reserva específica.NUMBER_OF_VMS
: o número de VMs a reservar.ZONE
: a zona na qual reservar recursos.
Por exemplo, para criar uma reserva especificando um modelo de instância global na zona
us-central1-a
, partilhe a reserva com os projetosproject-1
eproject-2
e reserve dez VMs que usam cada uma um tipo de máquina predefinido N2 com 4 vCPUs, execute o seguinte comando:gcloud compute reservations create my-reservation \ --share-setting=projects \ --share-with=project-1,project-2 \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
Opcionalmente, pode fazer uma ou mais das seguintes ações:
Para especificar que apenas as VMs que segmentam especificamente esta reserva a podem consumir, inclua a flag
--require-specific-reservation
.gcloud compute reservations create RESERVATION_NAME \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que uma reserva de VMs de GPU seja consumida por tarefas de preparação personalizadas ou tarefas de previsão no Vertex AI, inclua a flag
--reservation-sharing-policy
definida comoALLOW_ALL
.gcloud compute reservations create RESERVATION_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que o Compute Engine elimine automaticamente a reserva, selecione um dos seguintes métodos:
Para eliminar a reserva numa data e hora específicas, use o comando
gcloud beta compute reservations create
com a flag--delete-at-time
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua
DELETE_AT_TIME
por uma data e uma hora formatadas como uma data/hora RFC 3339, que tem de ser a seguinte:YYYY-MM-DDTHH:MM:SSOFFSET
Substitua o seguinte:
YYYY-MM-DD
: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos, separados por hífenes (-
).HH:MM:SS
: uma hora formatada como uma hora de 2 dígitos com um formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos, separados por dois pontos (:
).OFFSET
: o fuso horário formatado como um desvio de Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), especifique-08:00
. Em alternativa, para não usar nenhum desvio, especifiqueZ
.
Para eliminar a reserva após uma duração específica, use o comando
gcloud beta compute reservations create
com a flag--delete-after-duration
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua
DELETE_AFTER_DURATION
por uma duração em dias, horas, minutos ou segundos. Por exemplo, especifique30m
para 30 minutos ou1d2h3m4s
para 1 dia, 2 horas, 3 minutos e 4 segundos.
Ir
Java
Node.js
Python
REST
Para criar uma reserva partilhada, faça um pedido
POST
ao métodoreservations.insert
. No corpo do pedido, inclua o seguinte:O campo
projectMap
.O campo
shareType
está definido comoSPECIFIC_PROJECTS
.
Por exemplo, para criar uma reserva partilhada especificando um modelo de instância sem incluir campos opcionais e partilhar a reserva com dois projetos de consumidor, faça o seguinte pedido
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde quer reservar recursos e onde existe o modelo de instância.ZONE
: a zona na qual reservar recursos.RESERVATION_NAME
: o nome da reserva a criar.CONSUMER_PROJECT_ID_1
eCONSUMER_PROJECT_ID_2
: os IDs dos projetos que podem consumir esta reserva. Pode incluir até 100 projetos de consumo. Estes projetos têm de estar na mesma organização que o projeto proprietário. Não inclua o projeto proprietário. Por predefinição, já é permitido consumir a reserva.NUMBER_OF_VMS
: o número de VMs a reservar.LOCATION
: a localização do modelo de instância. Especifique um dos seguintes valores:Para um modelo de instância global:
global
.Para um modelo de instância regional:
regions/REGION
. SubstituaREGION
pela região onde o modelo de instância está localizado. Se especificar um modelo de instância regional, só pode reservar VMs na mesma região que a região do modelo.
INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância existente. Se o modelo de instância especificar um tipo de máquina A3 Mega, A3 High ou A3 Edge, tem de incluir o campospecificReservationRequired
no corpo do pedido e defini-lo comotrue
. Isto indica que apenas as VMs que segmentam especificamente esta reserva a podem consumir. Para mais informações, consulte o artigo Consuma VMs de uma reserva específica.
Por exemplo, para criar uma reserva para dez VMs na zona
us-central1-a
especificando um modelo de instância global e partilhar a reserva com os projetosproject-1
eproject-2
, faça o seguinte pedidoPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
Opcionalmente, pode fazer uma ou mais das seguintes ações:
Para especificar que apenas as VMs que segmentam especificamente esta reserva a podem usar, inclua o campo
specificReservationRequired
no corpo do pedido e defina o campo comotrue
.Por exemplo, para criar uma reserva específica especificando um modelo de instância e partilhar a reserva com dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
Para permitir que uma reserva de VMs de GPU seja consumida por tarefas de preparação personalizadas ou tarefas de previsão no Vertex AI, inclua o campo
serviceShareType
e defina-o comoALLOW_ALL
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Para permitir que o Compute Engine elimine automaticamente a reserva, selecione um dos seguintes métodos:
Para eliminar a reserva numa data e hora específicas, faça um
POST
pedido ao métodobeta.reservations.insert
. No corpo do pedido, inclua o campodeleteAtTime
.Por exemplo, para criar uma reserva especificando um modelo de instância, eliminar automaticamente a reserva numa data e hora específicas e partilhar a reserva com dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Substitua
DELETE_AT_TIME
por uma data e uma hora formatadas como uma data/hora RFC 3339, que tem de ser a seguinte:YYYY-MM-DDTHH:MM:SSOFFSET
Substitua o seguinte:
YYYY-MM-DD
: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos, separados por hífenes (-
).HH:MM:SS
: uma hora formatada como uma hora de 2 dígitos com um formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos, separados por dois pontos (:
).OFFSET
: o fuso horário formatado como um desvio de Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), especifique-08:00
. Em alternativa, para não usar nenhum desvio, especifiqueZ
.
Para eliminar a reserva após uma duração específica, faça um
POST
pedido ao método.beta.reservations.insert
No corpo do pedido, inclua o campodeleteAfterDuration
.Por exemplo, para criar uma reserva especificando um modelo de instância, eliminar automaticamente a reserva após uma duração específica e partilhar a reserva com dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Substitua
DELETE_AFTER_DURATION
por uma duração em segundos. Por exemplo, especifique86400
para 86 400 segundos (1 dia).
Especifique uma VM existente
Só pode criar uma reserva partilhada com base numa VM existente no mesmo projeto e zona que a VM.
Depois de criar a reserva, pode consumi-la criando VMs com propriedades que correspondam à VM de referência. Pode fazê-lo através de uma das seguintes ações:
Crie e use um modelo de instância da seguinte forma:
Crie um modelo de instância com base na VM de referência sem substituir as propriedades da VM de referência.
Crie VMs com o modelo recém-criado através de um ou ambos os seguintes passos:
Crie uma VM com propriedades que correspondam exatamente à VM de referência da seguinte forma:
No projeto proprietário, crie uma VM com base na VM de referência sem alterar as propriedades da VM que está a criar.
Nos projetos de consumidor, crie uma VM e certifique-se manualmente de que as respetivas propriedades e as propriedades da VM de referência correspondem.
Para criar uma reserva partilhada que use as propriedades de uma VM existente, faça o seguinte:
Na Trusted Cloud consola, aceda à página Reservas.
No separador Reservas a pedido (predefinição), clique em
Criar reserva.É apresentada a página Criar uma reserva.
Em Nome, introduza um nome para a reserva.
Para Região e Zona, selecione onde quer reservar recursos.
Na secção Tipo de partilha, faça o seguinte:
Para especificar uma reserva partilhada, selecione Partilhada.
Clique em
Adicionar projetos e, de seguida, selecione os projetos da organização do projeto atual com os quais quer partilhar a reserva. Pode selecionar até 100 projetos de consumo.
Na secção Usar com instância de VM, selecione uma das seguintes opções:
Para permitir que as VMs correspondentes consumam automaticamente esta reserva, selecione Usar reserva automaticamente, se ainda não estiver selecionada.
Para consumir os recursos desta reserva apenas quando criar VMs correspondentes que segmentem especificamente esta reserva por nome, selecione Selecionar reserva específica.
Em Número de instâncias de VM, introduza o número de VMs que quer reservar.
Na secção Configuração da máquina, faça o seguinte:
Selecione Usar VM existente.
Para VM existente, selecione a VM cujas propriedades quer usar para criar a reserva.
Na secção Eliminação automática, pode ativar a opção de eliminação automática para permitir que o Compute Engine elimine automaticamente a reserva numa data e hora específicas. A eliminação automática de reservas pode ser útil para evitar cobranças desnecessárias quando deixa de consumir a reserva.
Para criar a reserva, clique em Criar.
É apresentada a página Reservas. A criação da reserva pode demorar até um minuto.
Especifique as propriedades diretamente
Para criar uma reserva partilhada especificando as propriedades diretamente, selecione uma das seguintes opções:
Consola
Na Trusted Cloud consola, aceda à página Reservas.
No separador Reservas a pedido (predefinição), clique em
Criar reserva.Clique em
Criar reserva.É apresentada a página Criar uma reserva.
Em Nome, introduza um nome para a reserva.
Para Região e Zona, selecione onde quer reservar recursos.
Na secção Tipo de partilha, faça o seguinte:
Para especificar uma reserva partilhada, selecione Partilhada.
Clique em
Adicionar projetos e, de seguida, selecione os projetos da organização do projeto atual com os quais quer partilhar a reserva. Pode selecionar até 100 projetos de consumidor.
Opcional: para permitir que uma reserva de VMs de GPU seja consumida por tarefas de preparação personalizadas ou tarefas de previsão no Vertex AI, na secção Serviços Google Cloud, selecione Partilhar reserva.
Na secção Usar com instância de VM, selecione uma das seguintes opções:
Para permitir que as VMs correspondentes consumam automaticamente esta reserva, selecione Usar reserva automaticamente (predefinição).
Para consumir os recursos desta reserva apenas quando criar VMs correspondentes que segmentem especificamente esta reserva por nome, selecione Selecionar reserva específica.
Em Número de instâncias de VM, introduza o número de VMs que quer reservar.
Na secção Configuração da máquina, selecione Especificar tipo de máquina e, de seguida, especifique o seguinte:
Para Família de máquinas, Série e Tipo de máquina, selecione uma família de máquinas, uma série e um tipo de máquina.
Opcional: para especificar uma plataforma de CPU mínima ou anexar GPUs a VMs N1, faça o seguinte:
Para expandir a secção Plataforma de CPU e GPU, clique na seta
do expansor.Opcional: para especificar uma plataforma de CPU mínima, em Plataforma de CPU, selecione uma opção.
Opcional: para anexar GPUs a VMs N1, clique em
Adicionar GPU. Em seguida, para Tipo de GPU e Número de GPUs, selecione o tipo e o número de GPUs a associar a cada VM N1.
Opcional: para associar discos SSD local a um tipo de máquina que não inclui discos SSD local por predefinição, faça o seguinte:
Para Número de discos, selecione o número de discos SSD local a anexar.
Para Tipo de interface, selecione a interface de disco para os discos SSD local.
Na secção Eliminação automática, pode ativar a opção de eliminação automática para permitir que o Compute Engine elimine automaticamente a reserva numa data e hora específicas. A eliminação automática de reservas pode ser útil para evitar cobranças desnecessárias quando deixa de consumir a reserva.
Para criar a reserva, clique em Criar.
É apresentada a página Reservas. A criação da reserva partilhada pode demorar até um minuto.
gcloud
Para criar uma reserva partilhada, use o comando
gcloud compute reservations create
com os indicadores--share-setting=projects
e--share-with
.Para criar uma reserva partilhada especificando as propriedades diretamente e sem incluir flags opcionais, execute o seguinte comando:
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua o seguinte:
RESERVATION_NAME
: o nome da reserva a criar.MACHINE_TYPE
: um tipo de máquina a usar para cada VM. Se especificar um tipo de máquina A3 Mega, A3 High ou A3 Edge, tem de incluir a flag--require-specific-reservation
. Isto indica que apenas as VMs que segmentam especificamente a reserva podem consumi-la. Para mais informações, consulte o artigo Consuma VMs de uma reserva específica.CONSUMER_PROJECT_IDS
: uma lista separada por vírgulas de IDs de projetos que podem consumir esta reserva, por exemplo,project-1,project-2
. Pode incluir até 100 projetos de consumo. Estes projetos têm de estar na mesma organização que o projeto proprietário. Não inclua o projeto proprietário. Por predefinição, já é permitido consumir a reserva.NUMBER_OF_VMS
: o número de VMs a reservar.ZONE
: a zona na qual reservar recursos.
Por exemplo, para criar uma reserva na zona
us-central1-a
para dez VMs que usam cada uma um tipo de máquina predefinido N2 com 4 vCPUs e partilham a reserva com os projetosproject-1
eproject-2
, execute o seguinte comando:gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --share-setting=projects \ --share-with=project-1,project-2 \ --vm-count=10 \ --zone=us-central1-a
Opcionalmente, pode fazer uma ou mais das seguintes ações:
Para anexar GPUs às suas VMs N1 reservadas, inclua a flag
--accelerator
.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua o seguinte:
NUMBER_OF_ACCELERATORS
: o número de GPUs a adicionar por VM reservada.ACCELERATOR_TYPE
: a modelo de GPU suportado para VMs N1. Certifique-se de que o modelo de GPU escolhido está disponível na zona onde quer reservar recursos. Caso contrário, a criação da reserva falha.
Para anexar discos SSD local a um tipo de máquina que não inclui discos SSD local por predefinição, inclua a flag
--local-ssd
. Só pode anexar discos SSD locais de 375 GB.gcloud compute reservations create RESERVATION_NAME \ --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua o seguinte:
NUMBER_OF_LOCAL_SSD_DISKS
: o número de discos SSD locais a anexar.INTERFACE_TYPE
: o tipo de interface de disco que quer que cada disco SSD local use e que o tipo de máquina especificado suporta. Especifique um dos seguintes valores:Para a interface de disco NVME:
nvme
Para a interface de disco SCSI:
scsi
Para que as VMs reservadas usem uma plataforma de CPU mínima específica, em vez da plataforma de CPU predefinida da zona, inclua o sinalizador
--min-cpu-platform
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua
MIN_CPU_PLATFORM
por uma plataforma de CPU mínima. Para se certificar de que uma plataforma de CPU está disponível na zona onde está a reservar recursos, veja as plataformas de CPU disponíveis por zona.Para especificar que apenas as VMs que segmentam especificamente esta reserva a podem consumir, inclua a flag
--require-specific-reservation
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que uma reserva de VMs de GPU seja consumida por tarefas de preparação personalizadas ou tarefas de previsão no Vertex AI, inclua a flag
--reservation-sharing-policy
definida comoALLOW_ALL
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que o Compute Engine elimine automaticamente a reserva, selecione um dos seguintes métodos:
Para eliminar a reserva numa data e hora específicas, use o comando
gcloud beta compute reservations create
com a flag--delete-at-time
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua
DELETE_AT_TIME
por uma data e uma hora formatadas como uma data/hora RFC 3339, que tem de ser a seguinte:YYYY-MM-DDTHH:MM:SSOFFSET
Substitua o seguinte:
YYYY-MM-DD
: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos, separados por hífenes (-
).HH:MM:SS
: uma hora formatada como uma hora de 2 dígitos com um formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos, separados por dois pontos (:
).OFFSET
: o fuso horário formatado como um desvio de Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), especifique-08:00
. Em alternativa, para não usar nenhum desvio, especifiqueZ
.
Para eliminar a reserva após uma duração específica, use o comando
gcloud beta compute reservations create
com a flag--delete-after-duration
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Substitua
DELETE_AFTER_DURATION
por uma duração em dias, horas, minutos ou segundos. Por exemplo, especifique30m
para 30 minutos ou1d2h3m4s
para 1 dia, 2 horas, 3 minutos e 4 segundos.
Terraform
Para criar uma reserva, use o
google_compute_reservation
recurso do Terraform. Para especificar uma reserva partilhada, defina o blocoshare_settings
:- Defina o campo
share_type
comoSPECIFIC_PROJECTS
. - No bloco
project_map
, especifique os IDs dos projetos com os quais quer partilhar esta reserva.
Para mais informações sobre como usar o Terraform, consulte o artigo Usar o Terraform com Trusted Cloud by S3NS.
REST
Para criar uma reserva partilhada, faça um pedido
POST
ao métodoreservations.insert
. No corpo do pedido, inclua o seguinte:O campo
projectMap
.O campo
shareType
está definido comoSPECIFIC_PROJECTS
.
Por exemplo, para criar uma reserva partilhada sem incluir campos opcionais e partilhar a reserva com dois projetos de consumidor, faça o seguinte pedido
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde quer reservar recursos.ZONE
: a zona na qual reservar recursos.RESERVATION_NAME
: o nome da reserva a criar.CONSUMER_PROJECT_ID_1
eCONSUMER_PROJECT_ID_2
: os IDs dos projetos que podem consumir esta reserva. Pode incluir até 100 projetos de consumo. Estes projetos têm de estar na mesma organização que o projeto proprietário. Não inclua o projeto proprietário. Por predefinição, já é permitido consumir a reserva.NUMBER_OF_VMS
: o número de VMs a reservar.MACHINE_TYPE
: um tipo de máquina a usar para cada VM. Se especificar um tipo de máquina A3 Mega, A3 High ou A3 Edge, tem de incluir o campospecificReservationRequired
no corpo do pedido e definir o campo comotrue
. Isto indica que apenas as VMs que segmentam especificamente a reserva podem consumi-la.
Por exemplo, para criar uma reserva especificando um modelo de instância global na zona
us-central1-a
, partilhe a reserva com os projetosproject-1
eproject-2
e reserve dez VMs que usam cada uma um tipo de máquina predefinido N2 com 4 vCPUs, faça o seguinte pedidoPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservation": { "count": "10", "instanceProperties": { "machineType": "n2-standard-4", } } }
Opcionalmente, pode fazer uma ou mais das seguintes ações:
Para anexar GPUs às suas VMs N1 reservadas, inclua o campo
guestAccelerators
no corpo do pedido.Por exemplo, para criar uma reserva partilhada com dois projetos de consumidor e anexar GPUs a quaisquer VMs N1 reservadas, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Substitua o seguinte:
NUMBER_OF_ACCELERATORS
: o número de GPUs a adicionar por VM reservada.ACCELERATOR_TYPE
: a modelo de GPU suportado para VMs N1. Certifique-se de que o modelo de GPU escolhido está disponível na zona onde quer reservar recursos. Caso contrário, a criação da reserva falha.
Para associar discos SSD locais a um tipo de máquina que não inclui discos SSD locais por predefinição, inclua o campo
localSsds
no corpo do pedido. Só pode anexar discos SSD locais de 375 GB.Por exemplo, para anexar dois discos SSD locais ao tipo de máquina que quer reservar enquanto especifica dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" }, { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Substitua
INTERFACE_TYPE
pelo tipo de interface de disco que quer que cada disco SSD local use e que o tipo de máquina especificado suporta. Especifique um dos seguintes valores:Para a interface de disco NVME:
NVME
Para a interface de disco SCSI:
SCSI
Para que as VMs reservadas usem uma plataforma de CPU mínima específica, em vez da plataforma de CPU predefinida da zona, inclua o campo
minCpuPlatform
no corpo do pedido.Por exemplo, para criar uma reserva partilhada enquanto especifica uma plataforma de CPU mínima e dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }
Substitua
MIN_CPU_PLATFORM
por uma plataforma de CPU mínima. Para se certificar de que uma plataforma de CPU está disponível na zona onde está a reservar recursos, veja as plataformas de CPU disponíveis por zona.Para especificar que apenas as VMs que segmentam especificamente esta reserva a podem consumir, inclua o campo
specificReservationRequired
no corpo do pedido e defina o campo comotrue
.Por exemplo, para criar uma reserva específica e partilhá-la com dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Para permitir que uma reserva de VMs de GPU seja consumida por tarefas de preparação personalizadas ou tarefas de previsão no Vertex AI, inclua o campo
serviceShareType
e defina-o comoALLOW_ALL
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Para permitir que o Compute Engine elimine automaticamente a reserva, selecione um dos seguintes métodos:
Para eliminar a reserva numa data e hora específicas, faça um
POST
pedido ao métodobeta.reservations.insert
. No corpo do pedido, inclua o campodeleteAtTime
.Por exemplo, para criar uma reserva enquanto especifica uma data e hora para eliminar uma reserva e partilhar a reserva com dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Substitua
DELETE_AT_TIME
por uma data e uma hora formatadas como uma data/hora RFC 3339, que tem de ser a seguinte:YYYY-MM-DDTHH:MM:SSOFFSET
Substitua o seguinte:
YYYY-MM-DD
: uma data formatada como um ano de 4 dígitos, um mês de 2 dígitos e um dia do mês de 2 dígitos, separados por hífenes (-
).HH:MM:SS
: uma hora formatada como uma hora de 2 dígitos com um formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos, separados por dois pontos (:
).OFFSET
: o fuso horário formatado como um desvio de Tempo Universal Coordenado (UTC). Por exemplo, para usar a Hora Padrão do Pacífico (PST), especifique-08:00
. Em alternativa, para não usar nenhum desvio, especifiqueZ
.
Para eliminar a reserva após uma duração específica, faça um
POST
pedido ao método.beta.reservations.insert
No corpo do pedido, inclua o campodeleteAfterDuration
.Por exemplo, para criar uma reserva que o Compute Engine elimina após uma duração específica e partilhar a reserva com dois projetos de consumidor, faça um pedido da seguinte forma:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Substitua
DELETE_AFTER_DURATION
por uma duração em segundos. Por exemplo, especifique86400
para 86 400 segundos (1 dia).
O que se segue?
Saiba como ver as suas reservas.
Saiba como associar reservas a compromissos.
Saiba como usar reservas.
Saiba como monitorizar o consumo de reservas.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-10-02 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-02 UTC."],[],[],null,[]] -