Créer des instances optimisées pour l'IA de manière groupée avec A4 ou A3 Ultra

Ce document explique comment créer des instances de machines virtuelles (VM) par lot qui utilisent des types de machines A4 ou A3 Ultra. Pour en savoir plus sur ces types de machines optimisés pour les accélérateurs, consultez A4 ou A3 Ultra.

Pour en savoir plus sur la création de VM de manière groupée, consultez À propos de la création groupée de VM dans la documentation Compute Engine.

Pour découvrir d'autres méthodes de création de VM ou de clusters, consultez Présentation des options de déploiement.

Limites

Lorsque vous créez des VM A4 ou A3 Ultra de manière groupée, les limites suivantes s'appliquent :

A4

  • Vous ne bénéficiez ni de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexible pour les instances qui utilisent un type de machine A4.
  • Vous ne pouvez utiliser un type de machine A4 que dans certaines régions et zones.
  • Vous ne pouvez pas utiliser de disque persistant (régional ou zonal). Vous ne pouvez utiliser que Google Cloud Hyperdisk.
  • Le type de machine A4 n'est disponible que sur la plate-forme de processeur Emerald Rapids.
  • Vous ne pouvez pas modifier le type de machine d'une instance en type de machine A4 ni inversement. Vous devez créer une instance avec ce type de machine.
  • Les types de machines A4 ne prennent pas en charge la location unique.
  • Vous ne pouvez pas exécuter de systèmes d'exploitation Windows sur un type de machine A4.
  • Pour les instances A4, lorsque vous utilisez ethtool -S pour surveiller la mise en réseau des GPU, les compteurs de ports physiques se terminant par _phy ne sont pas mis à jour. Il s'agit du comportement attendu pour les instances qui utilisent l'architecture de fonction virtuelle (VF) MRDMA. Pour en savoir plus, consultez Fonctions MRDMA et outils de surveillance du réseau.
  • Vous ne pouvez pas associer les disques Hyperdisk ML créés avant le 4 février 2026 aux types de machines A4.

A3 Ultra

Avant de commencer

Avant de créer des VM de manière groupée, si vous ne l'avez pas déjà fait, procédez comme suit :

  1. Choisissez une option de consommation : l'option de consommation que vous choisissez détermine comment vous obtenez et utilisez les ressources GPU.

    Pour en savoir plus, consultez Choisir une option de consommation.

  2. Obtenir de la capacité : le processus d'obtention de la capacité diffère pour chaque option de consommation.

    Pour en savoir plus sur la procédure à suivre pour obtenir de la capacité pour l'option de consommation choisie, consultez Présentation de la capacité.

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

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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 de manière groupée, 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 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 de manière groupée. 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 de manière groupée :

  • 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 étiquettes pour la VM : compute.instances.setLabels sur la VM
  • Pour définir un compte de service que doit utiliser 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.

Présentation

La création d'instances groupées avec le type de machine A4 ou A3 Ultra comprend les étapes suivantes :

  1. Créer des réseaux VPC
  2. Facultatif : créer une stratégie d'emplacement compact
  3. Créer des instances de manière groupée

Créer des réseaux VPC

Pour configurer le réseau pour le type de machine A4 ou A3 Ultra, créez trois réseaux VPC pour les interfaces réseau suivantes :

  • Deux réseaux VPC standards pour les interfaces réseau gVNIC. Celles-ci sont utilisées pour la communication d'hôte à hôte.
  • Un réseau VPC avec le profil réseau RoCE est requis pour les cartes d'interface réseau CX-7. Le réseau VPC RoCE doit comporter huit sous-réseaux, un pour chaque carte d'interface réseau CX-7. Ces cartes réseau utilisent RDMA over Converged Ethernet (RoCE), qui fournit la communication à bande passante élevée et à faible latence essentielle pour la communication entre GPU.

Pour en savoir plus sur la configuration des cartes d'interface réseau, consultez Examiner la bande passante réseau et la configuration des cartes d'interface réseau.

Créez les réseaux manuellement en suivant les guides d'instructions ou automatiquement à l'aide du script fourni.

Guides d'instructions

Pour créer les réseaux, vous pouvez suivre les instructions suivantes :

Pour ces réseaux VPC, nous vous recommandons de définir l'unité de transmission maximale (MTU) sur une valeur plus élevée. Pour les types de machines A4 ou A3 Ultra, la MTU recommandée est de 8896 octets. Pour connaître les paramètres MTU recommandés pour les autres types de machines GPU, consultez Paramètres MTU pour les types de machines GPU.

Script

Pour créer les réseaux, procédez comme suit.

Pour ces réseaux VPC, nous vous recommandons de définir l'unité de transmission maximale (MTU) sur une valeur plus élevée. Pour les types de machines A4 ou A3 Ultra, la MTU recommandée est de 8896 octets. Pour connaître les paramètres MTU recommandés pour les autres types de machines GPU, consultez Paramètres MTU pour les types de machines GPU.

  1. Utilisez le script suivant pour créer des réseaux VPC pour les cartes réseau gVNIC et CX-7.

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --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
    
        # Assumes that an external IP is only created for vNIC 0
        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
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

    Remplacez les éléments suivants :

    • GVNIC_NAME_PREFIX : préfixe de nom personnalisé à utiliser pour les réseaux et sous-réseaux VPC standards des cartes gVNIC.
    • RDMA_NAME_PREFIX : préfixe de nom personnalisé à utiliser pour le réseau et les sous-réseaux VPC RoCE pour les cartes réseau CX-7.
    • ZONE : spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible, par exemple us-central1-a. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • REGION : région dans laquelle vous souhaitez créer des sous-réseaux. Cette région doit correspondre à la zone spécifiée. Par exemple, si votre zone est us-central1-a, votre région est us-central1.
    • IP_RANGE : plage d'adresses IP à utiliser pour les règles de pare-feu SSH.
  2. Facultatif : Pour vérifier que les ressources du réseau VPC ont bien été créées, vérifiez les paramètres réseau dans la console Google Cloud  :
    1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

      Accéder aux réseaux VPC

    2. Recherchez dans la liste les réseaux que vous avez créés à l'étape précédente.
    3. Pour afficher les sous-réseaux, les règles de pare-feu et les autres paramètres réseau, cliquez sur le nom du réseau.

Facultatif : Créer une stratégie d'emplacement compact

Vous pouvez spécifier l'emplacement des VM en créant une stratégie de concentration. Lorsque vous appliquez une stratégie d'emplacement compact à vos VM, Compute Engine s'efforce de créer des VM aussi proches les unes des autres que possible. Si votre application est sensible à la latence et que vous souhaitez que les VM soient plus proches les unes des autres (concentration maximale), spécifiez le champ maxDistance (aperçu) lors de la création d'une stratégie de concentration. Une valeur maxDistance inférieure garantit un placement plus proche des VM, mais augmente également le risque que certaines VM ne soient pas créées.

Pour créer une stratégie de concentration, sélectionnez l'une des options suivantes :

gcloud

Pour créer une stratégie de concentration, utilisez la commande 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

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la stratégie d'emplacement compact.
  • MAX_DISTANCE : configuration de distance maximale pour vos VM. La valeur doit être 3 pour placer les VM dans les blocs adjacents ou 2 pour les placer dans le même bloc. Pour en savoir plus sur le nombre maximal de VM compatibles avec chaque maxDistance par série de machines, consultez À propos des stratégies d'emplacement compact dans la documentation Compute Engine.
  • REGION : région dans laquelle vous souhaitez créer la stratégie de concentration. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.

REST

Pour créer une stratégie de concentration, envoyez une requête POST à la méthode resourcePolicies.insert en version bêta. Dans le corps de la requête, incluez le champ collocation défini sur COLLOCATED, ainsi que le champ maxDistance.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • POLICY_NAME : nom de la stratégie d'emplacement compact.
  • MAX_DISTANCE : configuration de distance maximale pour vos VM. La valeur doit être 3 pour placer les VM dans les blocs adjacents ou 2 pour les placer dans le même bloc. Pour en savoir plus sur le nombre maximal de VM compatibles avec chaque maxDistance par série de machines, consultez À propos des stratégies d'emplacement compact dans la documentation Compute Engine.
  • REGION : région dans laquelle vous souhaitez créer la stratégie de concentration. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.

Créer des VM A3 Ultra ou A4 de manière groupée

Pour créer des VM A3 Ultra ou A4 de manière groupée, utilisez l'une des méthodes suivantes.

Les commandes suivantes définissent également le niveau d'accès pour vos instances. Pour simplifier la gestion des autorisations, Google vous recommande de définir le niveau d'accès d'une instance sur cloud-platform, puis d'utiliser des rôles IAM pour définir les services auxquels l'instance peut accéder. Pour en savoir plus, consultez les bonnes pratiques concernant les niveaux d'accès.

gcloud

Pour créer des VM de manière groupée, utilisez la commande gcloud compute instances bulk create.

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.

Lié à la réservation

Avant d'exécuter la commande, vous pouvez éventuellement ajouter l'indicateur pour une stratégie de placement compacte.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • NAME_PATTERN : modèle de nom des VM. Par exemple, le modèle de nom vm-# génère des VM portant les noms vm-1 et vm-2, jusqu'à ce qu'il atteigne le nombre de VM spécifié par --count.
    • COUNT : nombre de VM à créer.
    • MACHINE_TYPE : type de machine à utiliser pour la VM. Spécifiez un type de machine A4 ou A3 Ultra. Pour en savoir plus, consultez Types de machines GPU.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • REGION : spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Si vous souhaitez spécifier une stratégie d'emplacement compact, vous devez utiliser la même région que la stratégie d'emplacement compact. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • DISK_SIZE : taille du disque de démarrage en Go.
    • GVNIC_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC standards qui utilisent des cartes d'interface réseau gVNIC.
    • RDMA_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC qui utilisent des cartes d'interface réseau RDMA.
    • RESERVATION : nom de la réservation ou d'un bloc spécifique dans une réservation. Pour obtenir le nom de la réservation ou les blocs disponibles, consultez Afficher la capacité réservée. En fonction de vos exigences concernant l'emplacement des instances, choisissez l'une des options suivantes :
      • Pour créer des instances sur plusieurs blocs ou sur un seul bloc :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        De plus, pour un seul bloc, appliquez une stratégie d'emplacement compact qui spécifie une colocation de bloc (maxDistance=2). Compute Engine applique ensuite la règle à la réservation et crée des instances sur le même bloc.

      • Pour créer des instances sur un bloc spécifique :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION : indique si Compute Engine arrête (STOP) ou supprime (DELETE) la VM à la fin de la période de réservation.

  2. Facultatif : Si vous avez choisi d'utiliser une stratégie d'emplacement compact, ajoutez l'indicateur suivant à la commande :

      --resource-policies=POLICY_NAME
    

    Remplacez les éléments suivants :

    • POLICY_NAME : nom de la stratégie d'emplacement compact.
  3. Exécutez la commande.

Spot

Avant d'exécuter la commande, vous pouvez éventuellement ajouter l'indicateur pour une stratégie de placement compacte.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • NAME_PATTERN : modèle de nom des VM. Par exemple, le modèle de nom vm-# génère des VM portant les noms vm-1 et vm-2, jusqu'à ce qu'il atteigne le nombre de VM spécifié par --count.
    • COUNT : nombre de VM à créer.
    • MACHINE_TYPE : type de machine à utiliser pour la VM. Spécifiez un type de machine A4 ou A3 Ultra. Pour en savoir plus, consultez Types de machines GPU.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • REGION : spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Si vous souhaitez spécifier une stratégie d'emplacement compact, vous devez utiliser la même région que la stratégie d'emplacement compact. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • DISK_SIZE : taille du disque de démarrage en Go.
    • GVNIC_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC standards qui utilisent des cartes d'interface réseau gVNIC.
    • RDMA_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC qui utilisent des cartes d'interface réseau RDMA.
    • TERMINATION_ACTION : action à effectuer lorsque Compute Engine préempte l'instance, soit STOP (par défaut), soit DELETE.

  2. Facultatif : Si vous avez choisi d'utiliser une stratégie d'emplacement compact, ajoutez l'indicateur suivant à la commande :

      --resource-policies=POLICY_NAME
    

    Remplacez les éléments suivants :

    • POLICY_NAME : nom de la stratégie d'emplacement compact.
  3. Exécutez la commande.

REST

Pour créer des VM de manière groupée, envoyez une requête POST à la méthode instances.bulkInsert.

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.

Lié à la réservation

Avant d'envoyer la requête, vous pouvez ajouter le sous-champ instanceProperties pour une stratégie d'emplacement compact au corps de la requête.

POST https://compute.googleapis.com/compute/v1/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"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer la VM.
    • ZONE : spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Si vous souhaitez spécifier une stratégie d'emplacement compact, vous devez utiliser une zone située dans la même région que la stratégie d'emplacement compact. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • NAME_PATTERN : modèle de nom des VM. Par exemple, le modèle de nom vm-# génère des VM portant les noms vm-1 et vm-2, jusqu'à ce qu'il atteigne le nombre de VM spécifié par --count.
    • COUNT : nombre de VM à créer.
    • MACHINE_TYPE : type de machine à utiliser pour la VM. Spécifiez un type de machine A4 ou A3 Ultra. Pour en savoir plus, consultez Types de machines GPU.
    • VM_NAME : Nom de la VM.
    • DISK_SIZE : taille du disque de démarrage en Go.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
    • NETWORK_PROJECT_ID : ID du projet du réseau.
    • GVNIC_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC standards qui utilisent des cartes d'interface réseau gVNIC.
    • REGION : région du sous-réseau.
    • RDMA_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC qui utilisent des cartes d'interface réseau RDMA.
    • RESERVATION : nom de la réservation ou d'un bloc spécifique dans une réservation. Pour obtenir le nom de la réservation ou les blocs disponibles, consultez Afficher la capacité réservée. En fonction de vos exigences concernant l'emplacement des instances, choisissez l'une des options suivantes :
      • Pour créer des instances sur plusieurs blocs ou sur un seul bloc :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        De plus, pour un seul bloc, appliquez une stratégie d'emplacement compact qui spécifie une colocation de bloc (maxDistance=2). Compute Engine applique ensuite la règle à la réservation et crée des instances sur le même bloc.

      • Pour créer des instances sur un bloc spécifique :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION : indique si Compute Engine arrête (STOP) ou supprime (DELETE) la VM à la fin de la période de réservation.

  2. Facultatif : Si vous avez choisi d'utiliser une stratégie d'emplacement compact, ajoutez le sous-champ instanceProperties suivant au corps de la requête :

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet de la stratégie d'emplacement compact.
    • REGION : région de la stratégie d'emplacement compact.
    • POLICY_NAME : nom de la stratégie d'emplacement compact.
  3. Envoyez la demande.

Spot

Avant d'envoyer la requête, vous pouvez ajouter le sous-champ instanceProperties pour une stratégie d'emplacement compact au corps de la requête.

POST https://compute.googleapis.com/compute/v1/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"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer la VM.
    • ZONE : spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Si vous souhaitez spécifier une stratégie d'emplacement compact, vous devez utiliser une zone située dans la même région que la stratégie d'emplacement compact. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • NAME_PATTERN : modèle de nom des VM. Par exemple, le modèle de nom vm-# génère des VM portant les noms vm-1 et vm-2, jusqu'à ce qu'il atteigne le nombre de VM spécifié par --count.
    • COUNT : nombre de VM à créer.
    • MACHINE_TYPE : type de machine à utiliser pour la VM. Spécifiez un type de machine A4 ou A3 Ultra. Pour en savoir plus, consultez Types de machines GPU.
    • VM_NAME : Nom de la VM.
    • DISK_SIZE : taille du disque de démarrage en Go.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
    • NETWORK_PROJECT_ID : ID du projet du réseau.
    • GVNIC_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC standards qui utilisent des cartes d'interface réseau gVNIC.
    • REGION : région du sous-réseau.
    • RDMA_NAME_PREFIX : préfixe de nom que vous avez spécifié lors de la création des réseaux et sous-réseaux VPC qui utilisent des cartes d'interface réseau RDMA.
    • TERMINATION_ACTION : action à effectuer lorsque Compute Engine préempte l'instance, soit STOP (par défaut), soit DELETE.

  2. Facultatif : Si vous avez choisi d'utiliser une stratégie d'emplacement compact, ajoutez le sous-champ instanceProperties suivant au corps de la requête :

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet de la stratégie d'emplacement compact.
    • REGION : région de la stratégie d'emplacement compact.
    • POLICY_NAME : nom de la stratégie d'emplacement compact.
  3. Envoyez la demande.

Pour en savoir plus sur les options de configuration permettant de créer des VM de manière groupée, consultez Créer des VM de manière groupée dans la documentation Compute Engine.

Étapes suivantes