Criar uma instância G2 ou G4

Neste documento, explicamos como criar uma instância de máquina virtual (VM) que usa um tipo de máquina das séries G2 ou G4. Esses tipos de máquina otimizados para aceleradores da série G são adequados para executar aplicativos com uso intensivo de gráficos e inferência de machine learning (ML) econômica.

É possível criar essas VMs como VMs sob demanda. Para reduzir os custos, crie VMs spot G2 e G4 ou VMs G2 Flex-start. Para saber mais sobre como criar VMs com GPUs anexadas, consulte Visão geral da criação de uma instância com GPUs anexadas.

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

Antes de começar

  • Para analisar limitações e outras etapas de pré-requisito para criar instâncias com GPUs anexadas, como selecionar uma imagem do SO e verificar a cota de GPU, consulte Visão geral da criação de uma instância com GPUs anexadas.
  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

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

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para criar VMs, peça ao administrador para conceder a você o papel do IAM de Administrador da instância da computação (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar VMs. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar VMs:

  • compute.instances.create no projeto
  • Usar uma imagem personalizada a fim de criar a VM: compute.images.useReadOnly na imagem
  • Usar um snapshot para criar a VM: compute.snapshots.useReadOnly no snapshot
  • Usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
  • Especificar uma sub-rede para a VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
  • Especificar um endereço IP estático para a VM: compute.addresses.use no projeto
  • Atribuir um endereço IP externo à VM ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
  • Atribuir uma rede legada à VM: compute.networks.use no projeto
  • Atribuir um endereço IP externo à VM ao usar uma rede legada: compute.networks.useExternalIp no projeto
  • Definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
  • Definir tags para a VM: compute.instances.setTags na VM
  • Definir rótulos para a VM: compute.instances.setLabels na VM
  • Definir uma conta de serviço a ser usada pela VM: compute.instances.setServiceAccount na VM
  • Criar um disco para a VM: compute.disks.create no projeto
  • Anexar um disco atual no modo somente leitura ou de leitura e gravação: compute.disks.use no disco
  • Anexar um disco atual no modo somente leitura: compute.disks.useReadOnly no disco

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Criar uma instância com GPUs anexadas

É possível criar uma instância otimizada para aceleradores G2 ou G4 usando o Google Cloud console, a Google Cloud CLI ou REST.

Console

  1. No console do Google Cloud , acesse a página Criar uma instância.

    Acesse "Criar uma instância"

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

  3. Selecione uma região e uma zona em que esses tipos de máquinas com GPU estejam disponíveis. Consulte Regiões e zonas de GPU.

  4. Na seção de tipos de máquina, 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, o console seleciona automaticamente o tipo de máquina correspondente com base no número de GPUs selecionadas.
      • Para instâncias da G2, revise o seguinte:

        • Se você selecionar uma GPU, poderá escolher entre um conjunto de tipo de máquina com quantidades predefinidas de vCPUs e memória que atendam às suas cargas de trabalho.
        • Se você selecionar duas ou mais GPUs, o console vai escolher automaticamente o tipo de máquina correspondente com base no número de GPUs selecionadas.

        Para instâncias G2, também é possível especificar tipos de máquina personalizados. Para especificar o número de vCPUs e a quantidade de memória da instância, arraste os controles deslizantes ou insira os valores nas caixas de texto. O console mostra um custo estimado para a instância à medida que você muda o número de vCPUs e a memória.

    3. Opcional: as séries de máquinas G2 e G4 são compatíveis com estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos. Se você planeja executar cargas de trabalho com muitos gráficos na sua instância, selecione Ativar estação de trabalho virtual (NVIDIA GRID).

  5. Configure o disco de inicialização da seguinte maneira:

    1. Na seção SO e armazenamento, clique em Mudar. A página Configuração do disco de inicialização será aberta.
    2. Na página Configuração do disco de inicialização, faça o seguinte:

      1. Na guia Imagens públicas, escolha uma imagem do Compute Engine compatível ou Deep Learning VM Images.
      2. Especifique um tamanho do disco de inicialização de pelo menos 40 GiB.
      3. Para confirmar as opções do disco de inicialização, clique em Selecionar.
  6. Opcional: adicione SSDs locais. Os SSDs locais podem ser usados como discos de trabalho rápidos ou para alimentar dados nas GPUs, evitando os gargalos de E/S. Para adicionar SSDs locais à sua instância, faça o seguinte:

    1. Na seção SO e armazenamento, clique em Adicionar SSD local.
    2. Em Interface, selecione NVMe.
    3. Em Capacidade do disco, selecione o número de SSDs locais que você quer anexar. Para saber o número máximo de discos SSD locais por instância, consulte os limites de série de máquinas para SSD local.
  7. Opcional: para aumentar a largura de banda da rede das suas instâncias g4-standard-384, configure várias interfaces de rede. É possível configurar até duas interfaces de rede. Essa configuração cria uma instância g4-standard-384 com interfaces de rede duplas (2x 200 Gbps). Na seção Rede, siga estas etapas:

    1. Expanda a interface de rede padrão.
    2. Especifique a Rede e a Sub-rede da primeira interface.
    3. Em 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 maneira:

      1. Selecione uma rede e uma sub-rede VPC diferentes. Cada interface de rede precisa estar em uma rede VPC exclusiva.
      2. Em Placa de rede, selecione gVNIC.
  8. Opcional: configure um modelo de provisionamento diferente para reduzir seus custos. Na seção Opções avançadas, em Modelo de provisionamento de VM, selecione uma das seguintes opções:

    • (Somente G2) Início flexível: para cargas de trabalho de curta duração que podem tolerar um horário de início flexível. Para mais informações, consulte Sobre as VMs de início flexível.

    • Spot: para cargas de trabalho tolerantes a falhas que podem ser interrompidas. Para mais informações, consulte VMs spot.

  9. Opcional: na lista No encerramento da VM, selecione o que acontece quando o Compute Engine força a interrupção das VMs do Spot ou as VMs de início flexível atingem o fim da duração da execução:

    • Para interromper a VM durante a preempção, selecione Parar (padrão).
    • Para excluir a VM durante a preempção, selecione Excluir.
  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 a seguir inclui as flags obrigató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 selecionado. Escolha uma das seguintes opções:

    • Um tipo de máquina G4.
    • Um tipo de máquina G2 Os tipos de máquina G2 também oferecem suporte a memória personalizada. A memória precisa ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória compatível. 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. Essa zona precisa ser compatível com o modelo de GPU selecionado.
  • DISK_SIZE: o tamanho do disco de inicialização em GiB. Especifique um tamanho do disco de inicialização de pelo menos 40 GiB.
  • IMAGE: uma imagem de sistema operacional compatível com GPUs. Se você quiser usar a imagem mais recente em uma família de imagens, substitua a sinalização --image pela sinalização --image-family e defina o valor dela como uma imagem família compatível com GPUs. Exemplo: --image-family=rocky-linux-8-optimized-gcp.
    Também é possível especificar uma imagem personalizada ou Deep Learning VM Images
  • IMAGE_PROJECT: o projeto de imagem do Compute Engine a que a imagem do SO pertence. Se estiver usando uma imagem personalizada ou Deep Learning VM Images, especifique o projeto a que essas imagens pertencem.

Flags opcionais

Para configurar ainda mais a instância e atender às necessidades da sua carga de trabalho ou do sistema operacional, inclua uma ou mais das seguintes flags ao executar o comando gcloud compute instances create.

Recurso Descrição
Modelo de provisionamento Define o modelo de provisionamento da instância. Especifique SPOT ou FLEX_START. O FLEX_START não é compatível com instâncias G4. Se você não especificar um modelo, o padrão será usado. Para mais informações, consulte Modelos de provisionamento de instâncias do Compute Engine.
--provisioning-model=PROVISIONING_MODEL
Estação de trabalho virtual Especifica uma estação de trabalho virtual NVIDIA RTX (vWS) para cargas de trabalho de gráficos.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

Substitua:

  • 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 necessárias.
SSD local Anexa um ou mais SSDs locais à sua instância. Os SSDs locais podem ser usados como discos de trabalho rápidos ou para alimentar dados nas GPUs, evitando os 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 podem ser anexados por instância de VM, consulte Limites de SSD local.
Interface de rede Anexa várias interfaces de rede à sua instância. Para instâncias g4-standard-384, é possível anexar até duas interfaces de rede. É possível usar essa flag para criar uma instância com interfaces de rede dupla (2x 200 Gbps). Cada interface de rede precisa estar em uma rede VPC exclusiva.

   --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 dupla são compatíveis apenas com tipos de máquinas g4-standard-384.

Substitua:

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

REST

Envie uma solicitação POST ao método instances.insert. Como as instâncias com GPUs não podem ser migradas em tempo real, defina o parâmetro onHostMaintenance como TERMINATE. O comando a seguir inclui as flags obrigató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. Essa zona precisa ser compatível com o modelo de GPU selecionado.
  • MACHINE_TYPE: o tipo de máquina selecionado. Escolha uma das seguintes opções:
    • Um tipo de máquina G4.
    • Um tipo de máquina G2 Os tipos de máquina G2 também oferecem suporte a memória personalizada. A memória precisa ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória compatível. 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 você quer usar. 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 você especifica uma família de imagens, o Compute Engine cria uma instância com base na imagem do SO mais recente e não obsoleta dessa família. Para mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
  • DISK_SIZE: o tamanho do disco de inicialização em GiB. Especifique um tamanho do disco de inicialização de pelo menos 40 GiB.

Flags opcionais

Para configurar ainda mais sua instância e atender às necessidades da carga de trabalho ou do sistema operacional, inclua uma ou mais das seguintes flags ao executar o método instances.insert.

Recurso Descrição
Modelo de provisionamento Para reduzir os custos, especifique um modelo de provisionamento diferente adicionando o campo "provisioningModel": "PROVISIONING_MODEL" ao objeto scheduling na sua solicitação. Se você especificar a criação de VMs spot, os campos onHostMaintenance e automaticRestart serão ignorados. Para mais informações, consulte Modelos de provisionamento de instâncias do Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

Substitua PROVISIONING_MODEL por um dos seguintes:

  • STANDARD: (padrão) uma instância padrão.
  • SPOT: uma VM spot.
  • FLEX_START: uma VM de início flexível. As VMs de início flexível são executadas por até sete dias e podem ajudar você a adquirir recursos de alta demanda, como GPUs, a um preço com desconto. Esse modelo de provisionamento não é compatível com instâncias G4.
Estação de trabalho virtual Especifica uma estação de trabalho virtual NVIDIA RTX (vWS) para cargas de trabalho de gráficos.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

Substitua:

  • 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 necessárias.
SSD local Anexa um ou mais SSDs locais à sua instância. Os SSDs locais podem ser usados como discos de trabalho rápidos ou para alimentar dados nas GPUs, evitando os 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 podem ser anexados por instância de VM, consulte Limites de SSD local.
Interface de rede Anexa várias interfaces de rede à sua instância. Para instâncias g4-standard-384, é possível anexar até duas interfaces de rede. Isso cria uma instância com interfaces de rede duplas (2x 200 Gbps). Cada interface de rede precisa estar em uma rede VPC exclusiva.

   "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 dupla são compatíveis apenas com tipos de máquinas g4-standard-384.

Substitua:

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

Instalar drivers

Depois de criar a instância, instale um driver para que ela possa usar a GPU. O driver que você precisa instalar depende de se você ativou uma estação de trabalho virtual NVIDIA RTX (vWS) para cargas de trabalho gráficas ao criar a instância.

(Opcional) Modo de GPU com várias instâncias (somente G4)

O modo de GPU de várias instâncias (MIG) é um recurso que pode ser ativado em uma GPU NVIDIA compatível.

Depois de criar uma instância G4, é possível ativar o modo GPU de várias instâncias (MIG) em uma única GPU NVIDIA RTX PRO 6000 conectada à sua máquina. Com o modo MIG ativado, a única GPU é particionada em até sete instâncias de GPU independentes. Cada instância é executada simultaneamente, cada uma com a própria memória, cache e multiprocessadores de streaming. Em seguida, é possível executar diferentes cargas de trabalho nessas instâncias de GPU em paralelo.

Para mais informações sobre o uso de GPUs com várias instâncias, consulte Como começar a usar o MIG na documentação da NVIDIA.

A seguir