Crie uma instância G2 ou G4

Este documento explica como criar uma instância de máquina virtual (VM) que usa um tipo de máquina da série de máquinas G2 ou G4. Estes tipos de máquinas otimizados para aceleradores da série G são adequados para executar aplicações com grande exigência gráfica e inferência de aprendizagem automática (ML) rentável.

Pode criar estas VMs como VMs a pedido. Para reduzir os custos, também pode criar VMs Spot G2 e G4 ou VMs de início flexível G2. Para saber como criar VMs com GPUs anexadas, consulte a Vista geral da criação de uma instância com GPUs anexadas.

Para criar várias VMs G2 ou G4, pode usar uma das seguintes opções:

Antes de começar

  • Para rever as limitações e os passos de pré-requisitos adicionais para criar instâncias com GPUs anexadas, como selecionar uma imagem do SO e verificar a quota de GPU, consulte a vista geral da criação de uma instância com GPUs anexadas.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    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. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Funções necessárias

Para receber as autorizações necessárias para criar VMs, peça ao seu administrador para lhe conceder a função de IAM Administrador de instâncias do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. 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.

Esta função predefinida contém as autorizações necessárias para criar VMs. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

As seguintes autorizações são necessárias para criar VMs:

  • compute.instances.create no projeto
  • Para usar uma imagem personalizada para criar a VM: compute.images.useReadOnly na imagem
  • Para usar um instantâneo para criar a VM: compute.snapshots.useReadOnly no instantâneo
  • Para usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
  • Para especificar uma sub-rede para a sua VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
  • Para especificar um endereço IP estático para a VM: compute.addresses.use no projeto
  • Para atribuir um endereço IP externo à VM quando usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
  • Para atribuir uma rede antiga à VM: compute.networks.use no projeto
  • Para atribuir um endereço IP externo à VM quando usar uma rede antiga: compute.networks.useExternalIp no projeto
  • Para definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
  • Para definir etiquetas para a VM: compute.instances.setTags na VM
  • Para definir etiquetas para a VM: compute.instances.setLabels na VM
  • Para definir uma conta de serviço para a VM usar: compute.instances.setServiceAccount na VM
  • Para criar um novo disco para a VM: compute.disks.create no projeto
  • Para anexar um disco existente no modo de leitura ou leitura/escrita: compute.disks.use no disco
  • Para anexar um disco existente no modo de leitura: compute.disks.useReadOnly no disco

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Crie uma instância com GPUs anexadas

Pode criar uma instância otimizada para aceleradores G2 ou G4 através da Google Cloud consola, da Google Cloud CLI ou da API REST.

Consola

  1. Na Google Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. No campo Nome, introduza um nome exclusivo para a sua instância. Consulte a convenção de nomenclatura de recursos.

  3. Selecione uma região e uma zona onde estes tipos de máquinas de GPU estão disponíveis. Consulte as regiões e as zonas de GPU.

  4. Na secção de tipos de máquinas, selecione GPUs.

    1. Na lista Tipo de GPU, selecione o tipo de GPU.

      • Para instâncias G2, selecione NVIDIA L4
      • Para instâncias G4, selecione NVIDIA RTX PRO 6000
    2. Na lista Número de GPUs, selecione o número de GPUs.

      • Para instâncias G4, a consola seleciona automaticamente o tipo de máquina correspondente com base no número de GPUs selecionadas.
      • Para instâncias da G2, reveja o seguinte:

        • Se selecionar uma GPU, pode escolher entre um conjunto de tipos de máquinas com quantidades predefinidas de vCPUs e memória adequadas às suas cargas de trabalho.
        • Se selecionar duas ou mais GPUs, a consola seleciona automaticamente o tipo de máquina correspondente com base no número de GPUs selecionadas.

        Para instâncias G2, também pode especificar tipos de máquinas personalizados. Para especificar o número de vCPUs e a quantidade de memória para a instância, arraste os controlos de deslize ou introduza os valores nas caixas de texto. A consola apresenta um custo estimado para a instância à medida que altera o número de vCPUs e a memória.

    3. Opcional: a série de máquinas G2 e G4 suporta estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos. Se planeia executar cargas de trabalho com grande exigência gráfica na sua instância, selecione Ativar estação de trabalho virtual (NVIDIA GRID).

  5. Configure o disco de arranque da seguinte forma:

    1. Na secção SO e armazenamento, clique em Alterar. É apresentada a página Configuração do disco de arranque.
    2. Na página Configuração do disco de arranque, faça o seguinte:

      1. No separador Imagens públicas, escolha uma imagem do Compute Engine suportada ou imagens de VMs de aprendizagem avançada.
      2. Especifique um tamanho do disco de arranque de, pelo menos, 40 GiB.
      3. Para confirmar as opções do disco de arranque, clique em Selecionar.
  6. Opcional: adicione SSDs locais. Os SSDs locais podem ser usados para discos de memória temporária rápidos ou para introduzir dados nas GPUs, evitando gargalos de E/S. Para adicionar SSDs locais à sua instância, conclua o seguinte:

    1. Na secção SO e armazenamento, clique em Adicionar SSD local.
    2. Para a Interface, selecione NVMe.
    3. Em Capacidade do disco, selecione o número de SSDs locais que quer anexar. Para saber o número máximo de discos SSD local por instância, consulte os limites da série de máquinas para o SSD local.
  7. Opcional: para alcançar uma largura de banda de rede mais elevada para as suas instâncias do g4-standard-384, configure várias interfaces de rede. Pode configurar até duas interfaces de rede. Esta configuração cria uma instância g4-standard-384 com interfaces de rede duplas (2x 200 Gbps). Na secção Rede, conclua os seguintes passos:

    1. Expanda a interface de rede predefinida.
    2. Especifique a rede e a sub-rede para a sua primeira interface.
    3. Para Placa de rede, selecione gVNIC.
    4. Clique em Adicionar interface de rede para adicionar a segunda interface. Configure a segunda interface de rede da seguinte forma:

      1. Selecione uma rede de VPC e uma sub-rede diferentes. Cada interface de rede tem de estar numa rede VPC única.
      2. Para Placa de rede, selecione gVNIC.
  8. Opcional: configure um modelo de aprovisionamento diferente para reduzir os custos. Na secção Opções avançadas, em Modelo de aprovisionamento de VMs, selecione uma das seguintes opções:

    • (Apenas G2) Início flexível: para cargas de trabalho de curta duração que podem tolerar uma hora de início flexível. Para mais informações, consulte o artigo Acerca das VMs de início flexível.

    • Spot: para cargas de trabalho com tolerância a falhas que podem ser anuladas. Para mais informações, consulte o artigo VMs de spot.

  9. Opcional: na lista No encerramento da VM, selecione o que acontece quando o Compute Engine antecipa as VMs de capacidade instantânea ou quando as VMs de início flexível atingem o fim da duração de execução:

    • Para parar a VM durante a remoção preventiva, selecione Parar (predefinição).
    • Para eliminar a VM durante a preempção, selecione Eliminar.
  10. Para criar e iniciar a VM, clique em Criar.

gcloud

Para criar e iniciar uma instância, use o comando gcloud compute instances create . O comando seguinte inclui as flags necessárias.

  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      --restart-on-failure
Substitua o seguinte:
  • VM_NAME: o nome da nova instância.
  • MACHINE_TYPE : o tipo de máquina que selecionou. Escolha uma das seguintes opções:

    • Um tipo de máquina G4.
    • Um tipo de máquina G2. Os tipos de máquinas G2 também suportam memória personalizada. A memória tem de ser um múltiplo de 1024 MB e estar dentro do intervalo de memória suportado. Por exemplo, para criar uma instância com 4 vCPUs e 19 GB de memória, especifique --machine-type=g2-custom-4-19456.
  • ZONE: a zona da instância. Esta zona tem de ser compatível com o modelo de GPU selecionado.
  • DISK_SIZE: o tamanho do disco de arranque em GiB. Especifique um tamanho do disco de arranque de, pelo menos, 40 GiB.
  • IMAGE: uma imagem do sistema operativo que suporta GPUs. Se quiser usar a imagem mais recente numa família de imagens, substitua a flag --image pela flag --image-family e defina o respetivo valor para uma família de imagens que suporte GPUs. Por exemplo: --image-family=rocky-linux-8-optimized-gcp.
    Também pode especificar uma imagem personalizada ou imagens de VMs de aprendizagem profunda.
  • IMAGE_PROJECT: o projeto de imagem do Compute Engine ao qual a imagem do SO pertence. Se usar uma imagem personalizada ou imagens de VMs de aprendizagem profunda, especifique o projeto ao qual essas imagens pertencem.

Sinalizações opcionais

Para configurar ainda mais a sua instância de forma a satisfazer as necessidades da carga de trabalho ou do sistema operativo, inclua uma ou mais das seguintes flags quando executar o comando gcloud compute instances create.

Funcionalidade Descrição
Modelo de aprovisionamento Define o modelo de aprovisionamento para a instância. Especifique SPOT ou FLEX_START. O FLEX_START não é suportado para instâncias G4. Se não especificar um modelo, é usado o modelo padrão. Para mais informações, consulte o artigo Modelos de aprovisionamento de instâncias do Compute Engine.
--provisioning-model=PROVISIONING_MODEL
Estação de trabalho virtual Especifica uma NVIDIA RTX Virtual Workstation (vWS) para cargas de trabalho de gráficos.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

Substitua o seguinte:

  • Para VWS_ACCELERATOR_TYPE, escolha uma das seguintes opções:
    • Para instâncias G4, especifique nvidia-rtx-pro-6000-vws
    • Para instâncias G2, especifique nvidia-l4-vws
  • Para VWS_ACCELERATOR_COUNT, especifique o número de GPUs virtuais de que precisa.
SSD local Associa um ou mais SSDs locais à sua instância. Os SSDs locais podem ser usados para discos de memória temporária rápidos ou para introduzir dados nas GPUs, evitando gargalos de E/S.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
Para saber o número máximo de discos SSD locais que pode associar por instância de VM, consulte os limites de SSD local.
Interface de rede Anexa várias interfaces de rede à sua instância. Para instâncias g4-standard-384, pode anexar até duas interfaces de rede. Pode usar esta flag para criar uma instância com interfaces de rede duplas (2x 200 Gbps). Cada interface de rede tem de estar numa rede VPC única.

   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

As interfaces de rede duplas só são suportadas em tipos de máquinas g4-standard-384.

Substitua o seguinte:

  • VPC_NAME: o nome da sua rede VPC.
  • SUBNET_NAME: o nome da sub-rede que faz parte da rede VPC especificada.

REST

Envie um pedido POST para o método instances.insert. Uma vez que não é possível migrar instâncias com GPUs em direto, tem de definir o parâmetro onHostMaintenance como TERMINATE. O comando seguinte inclui as flags necessárias.

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

{
   "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks":[
      {
         "type":"projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced",
         "initializeParams":{
            "diskSizeGb":"DISK_SIZE",
            "sourceImage":"SOURCE_IMAGE_URI"
         },
         "boot":true
      }
   ],
   "name":"VM_NAME",
   "networkInterfaces":[
      {
         "network":"projects/PROJECT_ID/global/networks/NETWORK"
      }
   ],
   "scheduling":{
      "onHostMaintenance":"terminate",
      "automaticRestart":true
   }
}
Substitua o seguinte:
  • VM_NAME: o nome da nova instância.
  • PROJECT_ID: o ID do projeto.
  • ZONE: a zona da instância. Esta zona tem de ser compatível com o modelo de GPU selecionado.
  • MACHINE_TYPE : o tipo de máquina que selecionou. Escolha uma das seguintes opções:
    • Um tipo de máquina G4.
    • Um tipo de máquina G2. Os tipos de máquinas G2 também suportam memória personalizada. A memória tem de ser um múltiplo de 1024 MB e estar dentro do intervalo de memória suportado. Por exemplo, o nome do tipo de máquina para uma instância com 4 vCPUs e 19 GB de memória seria g2-custom-4-19456.
  • SOURCE_IMAGE_URI: o URI da imagem ou família de imagens específica que quer usar. Por exemplo:
    • Imagem específica: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • Família de imagens: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    Quando especifica uma família de imagens, o Compute Engine cria uma instância a partir da imagem do SO não descontinuada mais recente dessa família. Para mais informações sobre quando usar famílias de imagens, consulte as práticas recomendadas para famílias de imagens.
  • DISK_SIZE: o tamanho do disco de arranque em GiB. Especifique um tamanho do disco de arranque de, pelo menos, 40 GiB.

Sinalizações opcionais

Para configurar ainda mais a sua instância de forma a satisfazer as necessidades da carga de trabalho ou do sistema operativo, inclua uma ou mais das seguintes flags quando executar o método instances.insert.

Funcionalidade Descrição
Modelo de aprovisionamento Para reduzir os custos, pode especificar um modelo de aprovisionamento diferente adicionando o campo "provisioningModel": "PROVISIONING_MODEL" ao objeto scheduling no seu pedido. Se especificar a criação de VMs do Spot, os campos onHostMaintenance e automaticRestart são ignorados. Para mais informações, consulte o artigo Modelos de aprovisionamento de instâncias do Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

Substitua PROVISIONING_MODEL por uma das seguintes opções:

  • STANDARD: (predefinição) Uma instância padrão.
  • SPOT: uma VM do Spot.
  • FLEX_START: Uma VM Flex Start. As VMs de início flexível são executadas durante um máximo de sete dias e podem ajudar a adquirir recursos de elevada procura, como GPUs, a um preço com desconto. Este modelo de aprovisionamento não é suportado para instâncias G4.
Estação de trabalho virtual Especifica uma NVIDIA RTX Virtual Workstation (vWS) para cargas de trabalho de gráficos.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

Substitua o seguinte:

  • Para VWS_ACCELERATOR_TYPE, escolha uma das seguintes opções:
    • Para instâncias G4, especifique nvidia-rtx-pro-6000-vws
    • Para instâncias G2, especifique nvidia-l4-vws
  • Para VWS_ACCELERATOR_COUNT, especifique o número de GPUs virtuais de que precisa.
SSD local Associa um ou mais SSDs locais à sua instância. Os SSDs locais podem ser usados para discos de memória temporária rápidos ou para introduzir dados nas GPUs, evitando gargalos de E/S.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
Para saber o número máximo de discos SSD locais que pode associar por instância de VM, consulte os limites de SSD local.
Interface de rede Anexa várias interfaces de rede à sua instância. Para instâncias g4-standard-384, pode anexar até duas interfaces de rede. Isto cria uma instância com interfaces de rede duplas (2x 200 Gbps). Cada interface de rede tem de estar numa rede VPC única.

   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

As interfaces de rede duplas só são suportadas em tipos de máquinas g4-standard-384.

Substitua o seguinte:

  • VPC_NAME: o nome da sua rede VPC.
  • SUBNET_NAME: o nome da sub-rede que faz parte da rede VPC especificada.

Instale controladores

Depois de criar a instância, tem de instalar um controlador para que a instância possa usar a GPU. O controlador que tem de instalar depende de ter ativado uma estação de trabalho virtual (vWS) NVIDIA RTX para cargas de trabalho de gráficos quando criou a instância.

(Opcional) Modo de GPU multi-instância (apenas G4)

O modo de GPU multi-instância (MIG) é uma funcionalidade que pode ativar numa GPU NVIDIA suportada.

Depois de criar uma instância G4, pode ativar o modo de GPU multi-instância (MIG) numa única GPU NVIDIA RTX PRO 6000 associada à sua máquina. Com o modo MIG ativado, a única GPU é dividida em até sete instâncias de GPU independentes. Cada instância é executada simultaneamente, cada uma com a sua própria memória, cache e multiprocessadores de streaming. Em seguida, pode executar diferentes cargas de trabalho nestas instâncias de GPU em paralelo.

Para mais informações sobre a utilização de GPUs multi-instância, consulte o artigo Introdução à MIG na documentação da NVIDIA.

O que se segue?