Neste tutorial, mostramos como criar um grande número de instâncias de máquina virtual (VM) de computação de alta performance (HPC) idênticas e independentes umas das outras. As instâncias usam tipos de máquina H4D otimizados para HPC e são executadas em blocos reservados de capacidade. Este tutorial também mostra como configurar as instâncias H4D para usar o Cloud RDMA.
Este tutorial é destinado a engenheiros de HPC, administradores e operadores de plataforma, além de especialistas em dados e MPI interessados em criar um cluster de instâncias de HPC interconectadas. As instâncias resultantes não usam um orquestrador para gerenciamento de instâncias ou programação de jobs.
Objetivos
- Reserve blocos de capacidade para sua implantação.
- Opcional: crie uma política de posicionamento se você não estiver criando as VMs no mesmo bloco ou subbloco.
- Crie redes de nuvem privada virtual.
- Crie instâncias ativadas para RDMA em massa.
- Fazer a limpeza.
Custos
Neste tutorial, usamos componentes faturáveis do Google Cloud, incluindo:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
- Para implantações não densas: modelos de provisionamento de instâncias do Compute Engine
- Para implantações densas: Escolha uma opção de consumo e obtenha capacidade
Entre em contato com sua equipe de conta e forneça as seguintes informações para que o Google crie um rascunho de solicitação de reserva adiantada:
Número do projeto: o número do projeto em que sua equipe de contas cria a solicitação e o Compute Engine provisiona a capacidade. Para saber como encontrar o número do projeto, consulte Encontrar o nome, o número e o ID do projeto na documentação do Resource Manager.
Tipo de máquina: um dos tipos de máquina H4D otimizados para HPC
Contagem total: o número total de VMs a serem reservadas. Só é possível reservar múltiplos de duas VMs. Os tamanhos de bloco e a contagem de VMs por bloco variam de acordo com o tipo de máquina e a disponibilidade. Sua equipe de conta pode fornecer mais detalhes sobre sua solicitação.
Zona: a zona em que você quer reservar capacidade. Para consultar as regiões e zonas disponíveis para a série de máquinas H4D, acesse Regiões e zonas disponíveis e selecione
H4D
na lista Selecionar uma série de máquinas.Horário de início: o horário de início do período de reserva. Formate o horário de início como um carimbo de data/hora RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Substitua:
YYYY-MM-DD
: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos, separados por hífens (-
).HH:MM:SS
: um horário formatado como uma hora de dois dígitos usando um horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos, separados por dois pontos (:
).OFFSET
: o fuso horário formatado como um ajuste de Tempo Universal Coordenado (UTC). Por exemplo, para usar o horário padrão do Pacífico (PST), especifique-08:00
. Para não usar ajuste, especifiqueZ
.
Horário de término: o horário de término do período de reserva. Formate como um carimbo de data/hora RFC 3339.
Tipo de compartilhamento: se apenas seu projeto pode usar a reserva criada automaticamente (
LOCAL
) ou se outros projetos podem usar a reserva (SPECIFIC_PROJECTS
).Para compartilhar a capacidade reservada com outros projetos na sua organização, faça o seguinte:
Se ainda não tiver feito isso, verifique se o projeto em que o Google cria a solicitação está autorizado a criar reservas compartilhadas.
Informe os números dos projetos com que você quer compartilhar a capacidade reservada. É possível especificar até 100 projetos na sua organização.
Nome da reserva: o nome da reserva que o Compute Engine cria automaticamente para entregar a capacidade reservada. O Compute Engine só cria reservas com segmentação específica.
Nome do compromisso: se o período de reserva for de um ano ou mais, compre e anexe um compromisso baseado em recursos aos recursos reservados. É possível comprar um compromisso com um plano de um ou três anos. Se você compartilhar a capacidade reservada com outros projetos, eles só vão receber descontos se usarem a mesma conta do Cloud Billing que o projeto em que você reservou a capacidade. Para mais detalhes, consulte Ativar o compartilhamento de CUDs para compromissos baseados em recursos.
O Google cria um rascunho de solicitação de reserva adiantada, e sua equipe de conta entra em contato com você.
Revise o pedido de rascunho. Ao analisar o pedido de reserva, observe o seguinte:
- Você só poderá começar a usar a capacidade reservada após a data e hora de início especificadas.
Quando o horário de término especificado é atingido, o Compute Engine faz o seguinte:
- Exclui a reserva criada automaticamente.
- Interrompe ou exclui todas as VMs que usam a reserva. A ação realizada é baseada na ação de encerramento especificada ao criar as VMs.
Não é possível mudar se a capacidade reservada é compartilhada depois de enviar a solicitação de reserva.
Para analisar um rascunho de solicitação de reserva adiantada, selecione uma das seguintes opções:
Console
No console do Google Cloud , acesse a página Reservas.
Clique na guia Reservas adiantadas. A tabela Reservas adiantadas lista cada solicitação de reserva adiantada no projeto, e cada coluna da tabela descreve uma propriedade.
Na coluna Nome, clique no nome da solicitação de rascunho que o Google criou para você. Uma página com os detalhes da solicitação de reserva adiantada é aberta.
Na seção Informações básicas, verifique se os detalhes da solicitação, como Datas e Tipo de compartilhamento, estão corretos. Além disso, se você pediu um compromisso, verifique se ele está especificado.
Se algum desses detalhes estiver incorreto, entre em contato com sua equipe de conta.
gcloud
Para conferir uma lista de solicitações de reserva adiantadas no projeto, use o comando
gcloud beta compute future-reservations list
com a flag--filter
definida comoPROCUREMENT_STATUS=DRAFTING
:gcloud beta compute future-reservations list --filter=PROCUREMENT_STATUS=DRAFTING
Na resposta ao comando, procure a solicitação de reserva com o nome que você forneceu à equipe de conta.
Para conferir os detalhes da solicitação de rascunho, use o comando
gcloud beta compute future-reservations describe
:gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \ --zone=ZONE
Substitua:
FUTURE_RESERVATION_NAME
: o nome do rascunho de solicitação de reserva adiantada.ZONE
: a zona em que o Google criou a solicitação.
O resultado será assim:
autoCreatedReservationsDeleteTime: '2026-02-10T19:20:00Z' creationTimestamp: '2025-11-27T11:14:58.305-08:00' deploymentType: DENSE id: '7979651787097007552' kind: compute#futureReservation name: example-draft-request planningStatus: DRAFT reservationName: example-reservation schedulingType: INDEPENDENT selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552 specificReservationRequired: true specificSkuProperties: instanceProperties: localSsds: - diskSizeGb: '375' interface: NVME ... machineType: h4d-highmem-192-lssd totalCount: '2' status: autoCreatedReservations: - https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/reservations/example-reservation fulfilledCount: '2' lockTime: '2026-01-27T19:15:00Z' procurementStatus: DRAFTING timeWindow: endTime: '2026-02-10T19:20:00Z' startTime: '2026-01-27T19:20:00Z' zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b
Na resposta ao comando, verifique se os detalhes da solicitação, como o período da reserva e o tipo de compartilhamento, estão corretos. Além disso, se você comprou um compromisso, verifique se ele está especificado.
Se os detalhes estiverem incorretos, entre em contato com sua equipe de contas.
REST
Para conferir uma lista de solicitações de reserva adiantadas no projeto, faça uma solicitação
GET
para o métodofutureReservations.list
da versão Beta. No URL da solicitação, inclua o parâmetro de consultafilter
e defina-o comostatus.procurementStatus=DRAFTING
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?filter=status.procurementStatus=DRAFTING
Substitua:
PROJECT_ID
: o ID do projeto em que o Google criou o rascunho da solicitação de reserva adiantada.ZONE
: a zona em que a solicitação existe.
Na saída da solicitação, procure a solicitação de reserva com o nome que você forneceu à equipe de conta.
Para conferir os detalhes do rascunho da solicitação, faça uma solicitação
GET
para o métodofutureReservations.get
da versão Beta:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
Substitua
FUTURE_RESERVATION_NAME
pelo nome do rascunho da solicitação de reserva adiantada.O resultado será assim:
{ "specificSkuProperties": { "instanceProperties": { "machineType": "h4d-highmem-192-lssd", "localSsds": [ { "diskSizeGb": "375", "interface": "NVME" }, ... ] }, "totalCount": "2" }, "kind": "compute#futureReservation", "id": "7979651787097007552", "creationTimestamp": "2025-11-27T11:14:58.305-08:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552", "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b", "name": "example-draft-request", "timeWindow": { "startTime": "2026-01-27T19:20:00Z", "endTime": "2026-02-10T19:20:00Z" }, "status": { "procurementStatus": "DRAFTING", "lockTime": "2026-01-27T19:15:00Z" }, "planningStatus": "DRAFT", "specificReservationRequired": true, "reservationName": "example-reservation", "deploymentType": "DENSE", "schedulingType": "INDEPENDENT", "autoCreatedReservationsDeleteTime": "2026-02-10T19:20:00Z" }
Na saída, verifique se os detalhes da solicitação, como o período da reserva e o tipo de compartilhamento, estão corretos. Além disso, se você pediu um compromisso, verifique se ele foi especificado.
Se os detalhes estiverem incorretos, entre em contato com sua equipe de contas.
Se tudo estiver certo, envie o pedido de reserva. É necessário enviar a solicitação antes do horário de início.
Para enviar um rascunho de solicitação de reserva adiantada, selecione uma das seguintes opções:
Console
No console do Google Cloud , acesse a página Reservas.
Clique na guia Reservas adiantadas.
Na coluna Nome, clique no nome da solicitação de rascunho que o Google criou para você.
Clique em Enviar.
gcloud
Para enviar o rascunho da solicitação para análise, use o comando
gcloud beta compute future-reservations update
com a flag--planning-status
definida comoSUBMITTED
:gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \ --planning-status=SUBMITTED \ --zone=ZONE
REST
Para enviar o rascunho da solicitação para análise, faça uma solicitação
PATCH
ao método BetafutureReservations.update
. No URL da solicitação, inclua o parâmetro de consultaupdateMask
e defina-o comoplanningStatus
:PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus { "name": "FUTURE_RESERVATION_NAME", "planningStatus": "SUBMITTED" }
Google Cloud aprova imediatamente sua solicitação enviada.
O Compute Engine cria uma reserva vazia com os recursos solicitados.
Para conferir a reserva, consulte Ver capacidade reservada na documentação do AI Hypercomputer.
POLICY_NAME
: o nome da política de posicionamento compacto.MAX_DISTANCE
: a configuração da distância máxima para suas instâncias de VM. Especifique3
para colocar as VMs em blocos adjacentes e2
para colocar as VMs no mesmo bloco. O posicionamento da VM é feito da melhor maneira possível.REGION
: a região em que você quer criar a política de posicionamento. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre as regiões disponíveis, consulte Regiões e zonas disponíveis.PROJECT_ID
: ID do projeto;REGION
: a região em que você quer criar a política de posicionamento. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre as regiões disponíveis, consulte Regiões e zonas disponíveis.POLICY_NAME
: o nome da política de posicionamento compacto.MAX_DISTANCE
: a configuração da distância máxima para suas instâncias de VM. Especifique3
para colocar as VMs em blocos adjacentes e2
para colocar as VMs no mesmo bloco. O posicionamento da VM é feito da melhor maneira possível.- Tipo de NIC
GVNIC
: usa o drivergve
para tráfego TCP/IP e da Internet para comunicação normal entre VMs e entre VM e Internet. - Tipo de NIC
IRDMA
: usa drivers IDPF/iRDMA para comunicação de rede RDMA entre instâncias - Cada interface de rede precisa se conectar a uma rede de nuvem privada virtual diferente.
- Para configurar uma interface de rede IRDMA, primeiro crie uma rede VPC com o perfil de rede RDMA do Falcon na mesma região e zona da instância.
- Para a interface de rede GVNIC, se você não especificar uma rede ou sub-rede, o Compute Engine usará a rede VPC padrão e a sub-rede automática na mesma região da instância.
- Se você especificar uma sub-rede, mas não uma rede, o Compute Engine vai inferir a rede pela sub-rede especificada.
- Se você especificar uma rede, especifique uma sub-rede que pertença à mesma rede. Caso contrário, a criação da instância vai falhar.
Para criar as redes de host das interfaces de rede
GVNIC
, consulte Criar e gerenciar redes VPC.Se você estiver configurando apenas uma interface de rede
GVNIC
, use a rede VPC padrão e a sub-rede automática que está na mesma região da instância.Para criar uma rede para a interface de rede
IRDMA
, consulte Criar uma rede VPC com um perfil de rede RDMA. Use o valor padrão da unidade máxima de transmissão (MTU) para uma rede RDMA, que é8896
.Opcional: antes de executar o script, liste os perfis de rede da VPC do Falcon para verificar se há um disponível. Os perfis de rede VPC do Falcon não estão disponíveis em todas as zonas.
gcloud beta compute network-profiles list --filter=falcon
Copie e execute o código a seguir em uma janela de shell do Linux.
GVNIC_NAME_PREFIX
: o prefixo de nome a ser usado para a rede VPC padrão e a sub-rede que usa um tipo de NIC GVNIC.REGION
: a região em que você quer criar a política. Isso precisa corresponder à zona especificada para a flag--network-profile
ao criar a VPC do Falcon. Por exemplo, se você especificar a zona comoeurope-west4-b
, a região seráeurope-west4
.IP_RANGE
: o intervalo de endereços IP fora da rede VPC a ser usado para as regras de firewall SSH. Como prática recomendada, especifique os intervalos de endereços IP específicos dos quais é preciso permitir o acesso, em vez de todas as origens IPv4 ou IPv6. Não use0.0.0.0/0
ou::/0
como um intervalo de origem, porque isso permite o tráfego de todas as origens IPv4 ou IPv6, incluindo origens fora deGoogle Cloud.RDMA_NAME_PREFIX
: o prefixo de nome a ser usado para a rede VPC e a sub-rede que usam o tipo de NIC IRDMA.ZONE
: a zona em que você quer criar as redes e instâncias de computação. Useus-central1-a
oueurope-west4-b
.- Não é possível usar a migração em tempo real durante eventos de manutenção de host com instâncias que têm uma interface de rede do Cloud RDMA. É necessário configurar a instância para ser encerrada durante eventos de manutenção.
- É possível usar apenas endereços IPv4 com interfaces de rede RDMA e redes VPC com um perfil de rede RDMA do Falcon.
- Só é possível usar a série de máquinas H4D para criar instâncias otimizadas para HPC com o Cloud RDMA.
NAME_PATTERN
: o padrão de nome para as instâncias. Por exemplo, usarvm-#
para o padrão de nome gera instâncias com nomes comovm-1
evm-2
, até o número especificado pela flag--count
.COUNT
: o número de instâncias a serem criadas.MACHINE_TYPE
: o tipo de máquina a ser usado para as instâncias. Use um dos tipos de máquina H4D, por exemplo,h4d-highmem-192-lssd
.IMAGE_FAMILY
: a família de imagens da imagem do SO que você quer usar, por exemplo,rocky-linux-9-optimized-gcp
. Para uma lista de imagens de SO compatíveis, consulte Sistema operacional compatível. Escolha uma versão de imagem do SO que seja compatível com a interface IRDMA.IMAGE_PROJECT
: o ID do projeto da imagem do SO, por exemplo,rocky-linux-cloud
.RESERVATION
: para esse valor, é possível especificar um dos seguintes:- Se você estiver usando uma política de posicionamento ou se as VMs
puderem ser colocadas em qualquer lugar no bloco de reserva, especifique o
nome da reserva, por exemplo,
h4d-highmem-exfr-prod
. - Se você quiser que as instâncias sejam colocadas em um bloco específico e não estiver usando uma política de posicionamento compacto, especifique um nome de bloco de reserva usando o formato
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.
Para conferir o nome da reserva ou os blocos disponíveis, consulte Ver capacidade.
- Se você estiver usando uma política de posicionamento ou se as VMs
puderem ser colocadas em qualquer lugar no bloco de reserva, especifique o
nome da reserva, por exemplo,
REGION
: especifique uma região em que o tipo de máquina que você quer usar esteja disponível, por exemploeurope-west1
. Para informações sobre as regiões disponíveis, consulte Regiões e zonas disponíveis.DISK_SIZE
: opcional: o tamanho do disco de inicialização em GiB. O valor precisa ser um número inteiro.GVNIC_NAME_PREFIX
: o prefixo de nome usado ao criar a rede VPC e a sub-rede para a interface GVNIC.Para a interface de rede gVNIC, é possível omitir as flags
network
esubnet
para usar a rededefault
.STACK_TYPE
: opcional: o tipo de pilha da interface de rede gVNIC.STACK_TYPE
precisa ser um dos seguintes valores:IPV4_ONLY
ouIPV4_IPV6
. O valor padrão éIPV4_ONLY
.EXTERNAL_IPV4_ADDRESS
: opcional: um endereço IPv4 externo estático para usar com a interface de rede. É preciso ter reservado um endereço IPv4 externo. Escolha uma destas opções:- Especifique um endereço IPv4 válido da sub-rede.
- Use a flag
no-address
se não quiser que a interface de rede tenha um endereço IP externo. - Especifique
address=''
se quiser que a interface receba um endereço IP externo temporário.
Para especificar um endereço IPv6 externo, use a flag
--external-ipv6-address
.RDMA_NAME_PREFIX
: o prefixo de nome usado ao criar a rede VPC e a sub-rede para a interface IRDMA.- Inclua o objeto
networkInterfaces
com pelo menos duas configurações de rede, uma para a interface de rede gVNIC e outra para a interface de rede RDMA. - Se você escolheu usar uma política de posicionamento compacto, adicione também o objeto
resourcePolicies
ao corpo da solicitação. - Para usar os blocos reservados de capacidade ao criar as instâncias,
defina
provisioningModel
comoRESERVATION_BOUND
. - É possível personalizar o restante das propriedades da instância, conforme necessário.
Substitua o seguinte no corpo da solicitação:
PROJECT_ID
: o ID do projeto em que você quer criar as instâncias.ZONE
: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Se você estiver usando uma política de posicionamento compacta, use uma zona na mesma região da política de posicionamento compacta. Para informações sobre as regiões em que os tipos de máquina H4D estão disponíveis, consulte Regiões e zonas disponíveis.NAME_PATTERN
: o padrão de nome para as instâncias. Por exemplo, usarvm-#
para o padrão de nome gera instâncias com nomes comovm-1
evm-2
, até o número especificado pelo campocount
.COUNT
: o número de instâncias a serem criadas.MACHINE_TYPE
: o tipo de máquina a ser usado para as instâncias. Use um dos tipos de máquina H4D, por exemplo,h4d-highmem-192-lssd
.DISK_SIZE
: o tamanho do disco de inicialização em GiB.IMAGE_PROJECT
: o ID do projeto da imagem do SO, por exemplo,debian-cloud
.IMAGE_FAMILY
: a família de imagens da imagem do SO que você quer usar, por exemplo,rocky-linux-9-optimized-gcp
. Para uma lista de imagens de SO compatíveis, consulte Sistema operacional compatível. Escolha uma versão de imagem do SO que seja compatível com a interface IRDMA.GVNIC_NAME_PREFIX
: o prefixo de nome usado ao criar a rede VPC e a sub-rede para a interface GVNIC.Para a interface de rede gVNIC, é possível omitir os campos
network
esubnetwork
para usar a rededefault
.EXTERNAL_IPV4_ADDRESS
: opcional: um endereço IPv4 externo estático para usar com a interface de rede. É preciso ter reservado um endereço IPv4 externo.RDMA_NAME_PREFIX
: o prefixo de nome usado ao criar a rede VPC e a sub-rede para a interface IRDMA.RESERVATION
: para esse valor, é possível especificar um dos seguintes:- Se você estiver usando uma política de posicionamento ou se as VMs
puderem ser colocadas em qualquer lugar no bloco de reserva, especifique o
nome da reserva, por exemplo,
h4d-highmem-exfr-prod
. - Se você quiser que as instâncias sejam colocadas em um bloco específico e não estiver usando uma política de posicionamento compacto, especifique um nome de bloco de reserva como
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.
Para conferir o nome da reserva ou os blocos disponíveis, consulte Ver capacidade.
- Se você estiver usando uma política de posicionamento ou se as VMs
puderem ser colocadas em qualquer lugar no bloco de reserva, especifique o
nome da reserva, por exemplo,
Opcional:se você estiver usando uma política de posicionamento compacto, substitua
...
no corpo da solicitação pelo seguinte campo:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],
Substitua:
PROJECT_ID
: o ID do projeto da política de posicionamento compacto.REGION
: a região da política de posicionamento compacto.POLICY_NAME
: o nome da política de posicionamento compacto.
Envie a solicitação.
No console do Google Cloud , acesse a página Instâncias de VM.
Selecione as linhas que contêm as instâncias de VM criadas neste tutorial.
Clique em
Excluir, e depois em Excluir novamente para confirmar.Para excluir a política de posicionamento, use o comando
gcloud compute resource-policies delete
.gcloud compute resource-policies delete POLICY_NAME \ --region=REGION
Substitua:
POLICY_NAME
: o nome da política de posicionamento.REGION
: a região em que a política de posicionamento está localizada.
Reservar blocos de capacidade para sua implantação
Neste documento, explicamos como reservar blocos de capacidade pedindo à equipe da sua conta para criar uma solicitação de reserva adiantada. Use esse tipo de reserva para conseguir capacidade para uma implantação densa de instâncias de VM. Para uma visão geral de todas as opções de consumo, consulte:
Com essa ação, é possível reservar blocos de capacidade por um período definido, começando em uma data e hora específicas escolhidas por você. Com base na sua solicitação, o Google cria um rascunho de solicitação de reserva adiantada. Depois que você revisar e enviar essa solicitação de rascunho, e Google Cloud a aprovar, o Compute Engine vai criar automaticamente (criação automática) uma reserva vazia. Em seguida, no horário de início escolhido, o Compute Engine provisiona a capacidade solicitada na reserva criada automaticamente. Em seguida, é possível usar a reserva para criar instâncias de máquina virtual (VM) até o fim do período de reserva.
Como parte do processo de solicitação de reserva adiantada, o Google gerencia a cota dos seus recursos reservados. Não é necessário solicitar cota. No horário de início da sua reserva adiantada aprovada, o Google aumenta sua cota se você não tiver o suficiente para os recursos reservados.
Para reservar blocos de capacidade, siga estas etapas:
Opcional: criar uma política de posicionamento
Use uma política de posicionamento se quiser que as VMs sejam colocadas o mais perto possível umas das outras. No entanto, se você quiser que as VMs estejam em um bloco específico, pule esta etapa e forneça o nome do bloco necessário durante a criação em massa de VMs.
As instâncias que se comunicam usando o Cloud RDMA precisam estar localizadas em uma única zona e, mais estritamente, em uma única estrutura de cluster. É possível criar uma política de posicionamento compacto e especificar um valor de distância máxima para definir a compactação mínima em uma zona. Há um limite para o número de instâncias a que você pode atribuir a política de posicionamento compacto ao especificar um valor de distância máxima, e o limite muda dependendo do valor escolhido.
Para criar uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar uma política de posicionamento compacto, use o
comando gcloud beta compute resource-policies create group-placement
.
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
Substitua:
REST
Para criar uma política de posicionamento compacto, faça uma solicitação POST
ao
método beta.resourcePolicies.insert
.
No corpo da solicitação, inclua o campo collocation
definido como COLLOCATED
e o campo maxDistance
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": "MAX_DISTANCE"
}
}
Substitua:
Criar redes de nuvem privada virtual
As instâncias compatíveis com RDMA exigem no mínimo duas interfaces de rede (NICs):
As instâncias que usam o Cloud RDMA só podem ter uma interface IRDMA
. É possível
adicionar até oito interfaces de rede GVNIC
extras, totalizando 10 NICs
por instância.
Confira as regras a seguir para configurar uma interface de rede para uma instância:
Para configurar as redes de nuvem privada virtual (VPC) do Falcon para usar com suas instâncias, siga as instruções documentadas ou use o script fornecido.
Guias de instruções
Para criar as redes, use as seguintes instruções:
Script
É possível criar até nove interfaces de rede GVNIC
e uma interface de rede IRDMA
por instância. Cada interface de rede precisa ser anexada a uma rede separada. Para criar as redes, use o script a seguir, que
cria duas redes para GVNIC
e uma rede para IRDMA
que usa o
perfil de rede VPC do Falcon.
#!/bin/bash
# Create standard VPC (networks and subnets) for the two GVNIC interfaces
for N in $(seq 0 1); do
gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
--subnet-mode=custom
gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
--network=GVNIC_NAME_PREFIX-net-$N \
--region=<var>REGION</var> \
--range=10.$N.0.0/16
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
--network=GVNIC_NAME_PREFIX-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=10.0.0.0/8
done
# Create SSH firewall rules
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
--network=GVNIC_NAME_PREFIX-net-0 \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=IP_RANGE
# Optional: Create a firewall rule for the external IP address for the
# first GVNIC network interface
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
--network=GVNIC_NAME_PREFIX-net-0 \
--action=ALLOW \
--rules=icmp \
--source-ranges=IP_RANGE
# Create a network for the RDMA over Falcon network interface
gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \
--network-profile=ZONE-vpc-falcon \
--subnet-mode custom
# Create a subnet for the RDMA network
gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
--network=RDMA_NAME_PREFIX-irdma \
--region=REGION \
--range=10.2.0.0/16
# offset to avoid overlap with GVNIC subnet ranges
Substitua:
Criar instâncias ativadas para RDMA em massa
Confira as limitações a seguir antes de criar instâncias H4D com o Cloud RDMA:
As etapas a seguir mostram como criar instâncias com RDMA ativado em massa com as duas primeiras interfaces de rede configuradas como interfaces GVNIC e a terceira interface de rede configurada como uma interface de rede IRDMA:
gcloud
Use o comando gcloud compute instances create
com três flags --network-interface
, duas para interfaces GVNIC e
uma para a interface IRDMA. Se você escolheu usar uma política de posicionamento
compacto, adicione também a seguinte flag: --resource-policies=POLICY_NAME
.
Substitua POLICY_NAME
pelo nome da política de posicionamento compacto. Você pode personalizar o restante das opções da instância, conforme
necessário.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image=project= IMAGE_PROJECT \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination=action=DELETE \
--maintenance-policy=TERMINATE \
--region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-0, \
subnet=GVNIC_NAME_PREFIX-sub-0, \
stack-type=STACK_TYPE, \
address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-1, \
subnet=GVNIC_NAME_PREFIX-sub-1, no-address \
--network-interface=nic-type=IRDMA, \
network=RDMA_NAME_PREFIX-irdma, \
subnet=RDMA_NAME_PREFIX-irdma-sub, \
stack-type=IPV4_ONLY, no-address
Substitua:
REST
Para criar instâncias compatíveis com RDMA em massa, faça uma solicitação POST
ao método
beta instances.bulkInsert
com as seguintes configurações:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"networkInterfaces": [
{
"network": "GVNIC_NAME_PREFIX-net-0",
"subnetwork": "GVNIC_NAME_PREFIX-sub-0",
"accessConfigs": [
{
"type": "ONE_TO_ONE_NAT",
"name": "External IP",
"natIP": "EXTERNAL_IPV4_ADDRESS"
}
],
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "GVNIC_NAME_PREFIX-net-1",
"subnetwork": "GVNIC_NAME_PREFIX-sub-1",
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "RDMA_NAME_PREFIX-irdma",
"subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
"stackType": "IPV4_ONLY",
"nicType": "IRDMA",
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
],
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
},
...
}
}
Siga estas etapas:
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID