Créer une instance G2 ou G4

Ce document explique comment créer une instance de machine virtuelle (VM) qui utilise un type de machine des séries G2 ou G4. Ces types de machines optimisés pour les accélérateurs de la série G conviennent parfaitement à l'exécution d'applications gourmandes en ressources graphiques et à l'inférence de machine learning (ML) économique.

Vous pouvez créer ces VM en tant que VM à la demande. Pour réduire vos coûts, vous pouvez également créer des VM Spot G2 et G4, ou des VM G2 à démarrage flexible. Pour en savoir plus sur la création de VM avec des GPU associés, consultez Présentation de la création d'une instance avec des GPU associés.

Pour créer plusieurs VM G2 ou G4, vous pouvez utiliser l'une des méthodes suivantes :

Avant de commencer

  • Pour connaître les limites et les étapes préalables supplémentaires à la création d'instances avec des GPU associés (comme la sélection d'une image de l'OS et la vérification du quota de GPU), consultez Présentation de la création d'une instance avec des GPU associés.
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    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. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    2. Set a default region and zone.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Rôles requis

Pour obtenir les autorisations nécessaires à la création de VM, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer des VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer des VM :

  • compute.instances.create sur le projet
  • Pour créer la VM à l'aide d'une image personnalisée : compute.images.useReadOnly sur l'image
  • Pour créer la VM à l'aide d'un instantané : compute.snapshots.useReadOnly sur l'instantané
  • Pour créer la VM à l'aide d'un modèle d'instance : compute.instanceTemplates.useReadOnly sur le modèle d'instance
  • Pour spécifier un sous-réseau pour la VM : compute.subnetworks.use sur le projet ou sur le sous-réseau choisi
  • Pour spécifier une adresse IP statique pour la VM : compute.addresses.use sur le projet
  • Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC : compute.subnetworks.useExternalIp sur le projet ou sur le sous-réseau choisi
  • Pour attribuer un ancien réseau à la VM : compute.networks.use sur le projet
  • Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau : compute.networks.useExternalIp sur le projet
  • Pour définir les métadonnées d'instance de VM pour la VM : compute.instances.setMetadata sur le projet
  • Pour définir des tags pour la VM : compute.instances.setTags sur la VM
  • Pour définir des libellés pour la VM : compute.instances.setLabels sur la VM
  • Pour définir un compte de service à utiliser avec la VM : compute.instances.setServiceAccount sur la VM
  • Pour créer un disque pour la VM : compute.disks.create sur le projet
  • Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture : compute.disks.use sur le disque
  • Pour associer un disque existant en mode lecture seule : compute.disks.useReadOnly sur le disque

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer une instance avec des GPU associés

Vous pouvez créer une instance optimisée pour les accélérateurs G2 ou G4 à l'aide de la console Google Cloud , de Google Cloud CLI ou de REST.

Console

  1. Dans la console Google Cloud , accédez à la page Créer une instance.

    Accéder à la page Créer une instance

  2. Dans le champ Nom, saisissez un nom unique pour votre instance. Consultez la convention d'attribution de noms pour les ressources.

  3. Sélectionnez une région et une zone dans lesquelles ces types de machines GPU sont disponibles. Consultez Régions et zones GPU.

  4. Dans la section "Types de machines", sélectionnez GPU.

    1. Dans la liste Type de GPU, sélectionnez le type de GPU.

      • Pour les instances G2, sélectionnez NVIDIA L4.
      • Pour les instances G4, sélectionnez NVIDIA RTX PRO 6000.
    2. Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.

      • Pour les instances G4, la console sélectionne automatiquement le type de machine correspondant en fonction du nombre de GPU sélectionnés.
      • Pour les instances G2, consultez les informations suivantes :

        • Si vous sélectionnez un GPU, vous pouvez ensuite choisir parmi un ensemble de types de machines avec des quantités prédéfinies de vCPU et de mémoire adaptées à vos charges de travail.
        • Si vous sélectionnez au moins deux GPU, la console sélectionne automatiquement le type de machine correspondant en fonction du nombre de GPU sélectionnés.

        Pour les instances G2, vous pouvez également spécifier des types de machines personnalisés. Pour spécifier le nombre de processeurs virtuels et la quantité de mémoire de l'instance, faites glisser les curseurs ou saisissez les valeurs dans les zones de texte. La console indique une estimation du coût de l'instance lorsque vous modifiez le nombre de processeurs virtuels et la mémoire.

    3. Facultatif : Les séries de machines G2 et G4 sont compatibles avec les postes de travail virtuels NVIDIA RTX (vWS) pour les charges de travail graphiques. Si vous prévoyez d'exécuter des charges de travail graphiques lourdes sur votre instance, sélectionnez Activer le poste de travail virtuel (NVIDIA GRID).

  5. Configurez le disque de démarrage comme suit :

    1. Dans la section OS et stockage, cliquez sur Modifier. La page Configuration du disque de démarrage s'ouvre.
    2. Sur la page Configuration du disque de démarrage, procédez comme suit :

      1. Dans l'onglet Images publiques, choisissez une image Compute Engine acceptée ou une instance Deep Learning VM Image.
      2. Spécifiez une taille de disque de démarrage d'au moins 40 Gio.
      3. Cliquez sur Sélectionner pour confirmer vos options de disque de démarrage.
  6. Facultatif : Ajoutez des disques SSD locaux. Les disques SSD locaux peuvent être utilisés en tant qu'espaces de travail rapides ou pour envoyer des données aux GPU tout en évitant les goulots d'étranglement d'E/S. Pour ajouter des SSD locaux à votre instance, procédez comme suit :

    1. Dans la section OS et stockage, cliquez sur Ajouter un SSD local.
    2. Pour Interface, sélectionnez NVMe.
    3. Dans Capacité du disque, sélectionnez le nombre de disques SSD locaux que vous souhaitez associer. Pour connaître le nombre maximal de disques SSD locaux par instance, consultez les limites de la série de machines pour les disques SSD locaux.
  7. Facultatif : Pour obtenir une bande passante réseau plus élevée pour vos instances g4-standard-384, configurez plusieurs interfaces réseau. Vous pouvez configurer jusqu'à deux interfaces réseau. Cette configuration crée une instance g4-standard-384 avec deux interfaces réseau (2 x 200 Gbit/s). Dans la section Mise en réseau, procédez comme suit :

    1. Développez l'interface réseau par défaut.
    2. Spécifiez le réseau et le sous-réseau pour votre première interface.
    3. Pour Carte d'interface réseau, sélectionnez gVNIC.
    4. Cliquez sur Ajouter une interface réseau pour ajouter la deuxième interface. Configurez la deuxième interface réseau comme suit :

      1. Sélectionnez un autre réseau et un autre sous-réseau VPC. Chaque interface réseau doit se trouver dans un réseau VPC unique.
      2. Pour Carte d'interface réseau, sélectionnez gVNIC.
  8. Facultatif : Configurez un autre modèle de provisionnement pour réduire vos coûts. Dans la section Options avancées, sous Modèle de provisionnement de VM, sélectionnez l'une des options suivantes :

    • (G2 uniquement) Démarrage flexible : pour les charges de travail de courte durée qui peuvent tolérer une heure de début flexible. Pour en savoir plus, consultez À propos des VM à démarrage flexible.

    • Spot : pour les charges de travail tolérantes aux pannes qui peuvent être préemptées. Pour en savoir plus, consultez VM Spot.

  9. Facultatif : Dans la liste À l'arrêt de la VM, sélectionnez ce qui se passe lorsque Compute Engine préempte les VM Spot ou que les VM à démarrage flexible atteignent la fin de leur durée d'exécution :

    • Pour arrêter la VM pendant la préemption, sélectionnez Arrêter (sélection par défaut).
    • Pour supprimer la VM pendant la préemption, sélectionnez Supprimer.
  10. Pour créer et démarrer la VM, cliquez sur Créer.

gcloud

Pour créer et démarrer une instance, utilisez la commande gcloud compute instances create. La commande suivante inclut les options requises.

  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
Remplacez les éléments suivants :
  • VM_NAME : nom de la nouvelle instance
  • MACHINE_TYPE : type de machine que vous avez sélectionné. Choisissez l'une des options suivantes :

    • Un type de machine G4.
    • Un type de machine G2. Les types de machines G2 sont également compatibles avec la mémoire personnalisée. La mémoire doit être un multiple de 1 024 Mo et être comprise dans la plage de mémoire compatible. Par exemple, pour créer une instance avec 4 processeurs virtuels et 19 Go de mémoire, spécifiez --machine-type=g2-custom-4-19456.
  • ZONE : zone de l'instance. Cette zone doit être compatible avec le modèle de GPU sélectionné.
  • DISK_SIZE : taille de votre disque de démarrage en Gio. Spécifiez une taille de disque de démarrage d'au moins 40 Gio.
  • IMAGE : image de système d'exploitation compatible avec les GPU. Si vous souhaitez utiliser l'image la plus récente dans une famille d'images, remplacez l'option --image par l'option --image-family et définissez sa valeur sur une famille d'images compatible avec les GPU. Exemple : --image-family=rocky-linux-8-optimized-gcp.
    Vous pouvez également spécifier une image personnalisée ou une instance Deep Learning VM Image.
  • IMAGE_PROJECT : projet d'image Compute Engine auquel l'image de l'OS appartient. Si vous utilisez une image personnalisée ou une instance Deep Learning VM Image, spécifiez le projet auquel ces images appartiennent.

Flags facultatifs

Pour configurer davantage votre instance afin de répondre aux besoins de votre charge de travail ou de votre système d'exploitation, incluez un ou plusieurs des flags suivants lorsque vous exécutez la commande gcloud compute instances create.

Fonctionnalité Description
Modèle de provisionnement Définit le modèle d'approvisionnement de l'instance. Indiquez SPOT ou FLEX_START. FLEX_START n'est pas compatible avec les instances G4. Si vous ne spécifiez pas de modèle, le modèle standard est utilisé. Pour en savoir plus, consultez Modèles de provisionnement des instances Compute Engine.
--provisioning-model=PROVISIONING_MODEL
Poste de travail virtuel Spécifie un poste de travail virtuel (vWS) NVIDIA RTX pour les charges de travail graphiques.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

Remplacez les éléments suivants :

  • Pour VWS_ACCELERATOR_TYPE, choisissez l'une des options suivantes :
    • Pour les instances G4, spécifiez nvidia-rtx-pro-6000-vws.
    • Pour les instances G2, spécifiez nvidia-l4-vws.
  • Pour VWS_ACCELERATOR_COUNT, spécifiez le nombre de GPU virtuels dont vous avez besoin.
SSD local Associe un ou plusieurs disques SSD locaux à votre instance. Les disques SSD locaux peuvent être utilisés en tant qu'espaces de travail rapides ou pour envoyer des données aux GPU tout en évitant les goulots d'étranglement d'E/S.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
Pour connaître le nombre maximal de disques SSD locaux que vous pouvez associer par instance de VM, consultez Limites des disques SSD locaux.
Interface réseau Associe plusieurs interfaces réseau à votre instance. Pour les instances g4-standard-384, vous pouvez associer jusqu'à deux interfaces réseau. Vous pouvez utiliser cet indicateur pour créer une instance avec deux interfaces réseau (2 x 200 Gbit/s). Chaque interface réseau doit se trouver dans un réseau VPC unique.

   --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
   

Les doubles interfaces réseau ne sont compatibles qu'avec les types de machines g4-standard-384.

Remplacez les éléments suivants :

  • VPC_NAME : nom de votre réseau VPC.
  • SUBNET_NAME : nom du sous-réseau faisant partie du réseau VPC spécifié.

REST

Envoyez une requête POST à la méthode instances.insert. Étant donné que les instances avec GPU ne peuvent pas migrer à chaud, vous devez définir le paramètre onHostMaintenance sur TERMINATE. La commande suivante inclut les options requises.

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
   }
}
Remplacez les éléments suivants :
  • VM_NAME : nom de la nouvelle instance
  • PROJECT_ID : ID de votre projet.
  • ZONE : zone de l'instance. Cette zone doit être compatible avec le modèle de GPU sélectionné.
  • MACHINE_TYPE : type de machine que vous avez sélectionné. Sélectionnez l'une des options suivantes :
    • Un type de machine G4.
    • Un type de machine G2. Les types de machines G2 sont également compatibles avec la mémoire personnalisée. La mémoire doit être un multiple de 1 024 Mo et être comprise dans la plage de mémoire compatible. Par exemple, le nom du type de machine pour une instance avec 4 processeurs virtuels et 19 Go de mémoire serait g2-custom-4-19456.
  • SOURCE_IMAGE_URI : URI de l'image ou de la famille d'images spécifique que vous souhaitez utiliser. Exemple :
    • Image spécifique : "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • Famille d'images : "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    Lorsque vous spécifiez une famille d'images, Compute Engine crée une instance à partir de l'image de l'OS non obsolète la plus récente dans cette famille. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
  • DISK_SIZE : taille de votre disque de démarrage en Gio. Spécifiez une taille de disque de démarrage d'au moins 40 Gio.

Flags facultatifs

Pour configurer davantage votre instance afin de répondre aux besoins de votre charge de travail ou de votre système d'exploitation, incluez un ou plusieurs des indicateurs suivants lorsque vous exécutez la méthode instances.insert.

Fonctionnalité Description
Modèle de provisionnement Pour réduire vos coûts, vous pouvez spécifier un autre modèle de provisionnement en ajoutant le champ "provisioningModel": "PROVISIONING_MODEL" à l'objet scheduling de votre requête. Si vous spécifiez de créer des VM Spot, les champs onHostMaintenance et automaticRestart sont ignorés. Pour en savoir plus, consultez Modèles de provisionnement des instances Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

Remplacez PROVISIONING_MODEL par l'un des éléments suivants :

  • STANDARD : (par défaut) instance standard.
  • SPOT : VM Spot.
  • FLEX_START : VM de démarrage flexible. Les VM à démarrage flexible s'exécutent pendant sept jours maximum et peuvent vous aider à acquérir des ressources très demandées, comme des GPU, à un prix réduit. Ce modèle de provisionnement n'est pas compatible avec les instances G4.
Poste de travail virtuel Spécifie un poste de travail virtuel (vWS) NVIDIA RTX pour les charges de travail graphiques.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

Remplacez les éléments suivants :

  • Pour VWS_ACCELERATOR_TYPE, choisissez l'une des options suivantes :
    • Pour les instances G4, spécifiez nvidia-rtx-pro-6000-vws.
    • Pour les instances G2, spécifiez nvidia-l4-vws.
  • Pour VWS_ACCELERATOR_COUNT, spécifiez le nombre de GPU virtuels dont vous avez besoin.
SSD local Associe un ou plusieurs disques SSD locaux à votre instance. Les disques SSD locaux peuvent être utilisés en tant qu'espaces de travail rapides ou pour envoyer des données aux GPU tout en évitant les goulots d'étranglement d'E/S.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
Pour connaître le nombre maximal de disques SSD locaux que vous pouvez associer par instance de VM, consultez Limites des disques SSD locaux.
Interface réseau Associe plusieurs interfaces réseau à votre instance. Pour les instances g4-standard-384, vous pouvez associer jusqu'à deux interfaces réseau. Cela crée une instance avec deux interfaces réseau (2 x 200 Gbit/s). Chaque interface réseau doit se trouver dans un réseau VPC unique.

   "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"
     }
   ]
  

Les doubles interfaces réseau ne sont compatibles qu'avec les types de machines g4-standard-384.

Remplacez les éléments suivants :

  • VPC_NAME : nom de votre réseau VPC.
  • SUBNET_NAME : nom du sous-réseau faisant partie du réseau VPC spécifié.

Installer les pilotes

Après avoir créé votre instance, vous devez installer un pilote pour que l'instance puisse utiliser le GPU. Le pilote que vous devez installer dépend de l'activation ou non d'un poste de travail virtuel (vWS) NVIDIA RTX pour les charges de travail graphiques lors de la création de l'instance.

(Facultatif) Mode GPU multi-instances (G4 uniquement)

Le mode GPU multi-instances (MIG) est une fonctionnalité que vous pouvez activer sur un GPU NVIDIA compatible.

Après avoir créé une instance G4, vous pouvez activer le mode MIG (Multi-Instance GPU) sur un seul GPU NVIDIA RTX PRO 6000 associé à votre machine. Lorsque le mode MIG est activé, le GPU unique est partitionné en sept instances GPU indépendantes maximum. Chaque instance s'exécute simultanément, chacune avec sa propre mémoire, son propre cache et ses propres multiprocesseurs de flux. Vous pouvez ensuite exécuter différentes charges de travail en parallèle sur ces instances de GPU.

Pour en savoir plus sur l'utilisation des GPU multi-instances, consultez la section Premiers pas avec MIG dans la documentation NVIDIA.

Étape suivante