Créer un MIG optimisé pour l'IA avec A4X Max

Ce document explique comment créer un groupe d'instances géré (MIG) qui utilise des types de machines A4X Max optimisés pour les accélérateurs. Pour en savoir plus sur les options de création d'instances de calcul et de clusters, consultez la page Présentation des options de déploiement.

Type d'instance A4X-Max

Une instance Compute Engine, ou instance de calcul, est une ressource de calcul hébergée sur l'infrastructure de Google. Il peut s'agir d'une machine virtuelle (VM) ou d'une instance Bare Metal. Les instances A4X Max sont disponibles en tant qu'instances bare metal, qui diffèrent des instances de VM en ce qu'elles offrent un accès direct et non virtualisé au matériel physique sous-jacent. Pour en savoir plus sur le type de machine A4X-Max, consultez la section Série A4X-Max dans la documentation Compute Engine.

Créez un MIG si vous souhaitez gérer plusieurs instances A4X Max comme une seule entité. Pour en savoir plus sur les MIG, consultez Groupes d'instances gérés dans la documentation Compute Engine.

Limites

Lorsque vous utilisez des types de machines A4X Max pour créer un MIG, les limites suivantes s'appliquent :

  • Si vous créez un MIG régional qui utilise la mise en réseau RDMA, il ne peut créer des instances A4X Max que dans la zone où vous avez configuré le profil réseau pour RDMA.

  • Vous ne pouvez pas configurer la flexibilité des instances dans le MIG.

  • Si vous appliquez une règle de charge de travail à un MIG, vous ne pouvez pas la modifier dans le MIG lorsque le groupe contient des instances A4X Max. Pour modifier la règle, vous devez d'abord redimensionner le MIG sur zéro.

  • Vous ne pouvez pas utiliser un modèle d'instance qui spécifie une règle d'emplacement pour créer un MIG qui utilise une stratégie de charge de travail.

  • Vous devez utiliser le modèle de provisionnement lié à une réservation. Les autres modèles de provisionnement ne sont pas acceptés.

  • Vous ne pouvez pas utiliser de requête de redimensionnement pour ajouter des instances A4X Max au MIG. Vous devez définir la taille cible du MIG pour ajouter les instances.

Avant de commencer

Avant de créer un MIG, 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é.

Rôles requis

Pour obtenir les autorisations nécessaires à la création d'un MIG, 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 un MIG. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un MIG :

  • Pour créer un MIG : compute.instanceGroupManagers.create sur le projet

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

Principes de base d'A4X Max

Un cluster A4X Max est organisé en une hiérarchie de blocs et de sous-blocs pour faciliter les performances réseau à grande échelle et non bloquantes. Il est essentiel de comprendre cette topologie lorsque vous réservez de la capacité et déployez des charges de travail.

Instance A4X Max
Une instance A4X Max est un type de machine A4X Max unique auquel sont associés quatre GPU.
Sous-bloc
Un sous-bloc est l'unité fondamentale de la capacité A4X Max. Pour A4X Max, un sous-bloc se compose de 18 instances A4X Max (72 GPU). Ces instances forment un domaine NVLink et sont connectées à l'aide d'un système NVLink multinœud. Pour créer un sous-bloc A4X Max, appliquez une règle de charge de travail qui spécifie une topologie 1x72.
Bloquer
 Un bloc A4X Max est composé de 25 sous-blocs (domaines NVLink), pour un total de 450 instances A4X Max (1 800 GPU). Les sous-blocs sont alignés sur les rails pour une mise à l'échelle efficace. Chaque sous-bloc nécessite un MIG. Par conséquent, pour un seul bloc A4X Max, vous pouvez créer 25 MIG.

Le tableau suivant présente les options de topologie compatibles pour les instances A4X Max :

Topologie (acceleratorTopology) Number of GPUs Nombre d'instances
1x72 72 18

Présentation

Pour créer un MIG avec le type de machine A4X Max, procédez comme suit :

  1. Créer des réseaux VPC
  2. Créer une règle de charge de travail
  3. Créer un modèle d'instance
  4. Créer un MIG

Créer des réseaux VPC

Pour configurer le réseau pour les types de machines A4X Max, créez deux réseaux VPC pour les interfaces réseau suivantes :

  • Un réseau VPC standard avec deux sous-réseaux pour les interfaces réseau IDPF. Celles-ci sont utilisées pour la communication d'hôte à hôte.
  • Un réseau VPC avec le profil réseau RoCE pour les cartes d'interface réseau CX-8 lors de la création de plusieurs sous-blocs A4X Max. Le réseau VPC RoCE utilise un seul sous-réseau nommé default-subnet-1-RDMA_NAME_PREFIX-net, qui est fourni automatiquement. Les huit cartes d'interface réseau CX-8 utilisent ce sous-réseau. Ces cartes réseau utilisent RDMA over Converged Ethernet (RoCE), qui fournit la communication à bande passante élevée et à faible latence essentielle pour l'évolutivité vers plusieurs sous-blocs A4X Max. Pour un seul sous-bloc A4X Max, vous pouvez ignorer ce réseau VPC, car la communication directe de GPU à GPU est gérée par NVLink multinœud au sein d'un même sous-bloc.

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 A4X Max, 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 A4X Max, 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 standards pour les cartes réseau IDPF.

      
        #!/bin/bash
    
        # Create regular VPC network for the IDPF NICs
        gcloud compute networks create IDPF_NETWORK_PREFIX-net \
          --subnet-mode=custom \
          --mtu=8896 \
          --enable-ula-internal-ipv6
    
        # Create subnets for the IDPF NICs
        for N in $(seq 0 1); do
          gcloud compute networks subnets create IDPF_NETWORK_PREFIX-$N \
            --network=IDPF_NETWORK_PREFIX-net \
            --region=REGION \
            --stack-type=IPV6_ONLY \
            --ipv6-access-type=INTERNAL
        done
    
        gcloud compute firewall-rules create IDPF_NETWORK_PREFIX-internal \
          --network=IDPF_NETWORK_PREFIX-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,58 \
          --source-ranges=IP_RANGE
    
    
      
  2. Si vous avez besoin de plusieurs sous-blocs A4X Max, utilisez le script suivant pour créer le réseau VPC RoCE et les sous-réseaux pour les quatre cartes réseau CX-8 sur chaque instance A4X Max.

      
        #!/bin/bash
    
        # 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 RDMA NICs
        gcloud compute networks create RDMA_NAME_PREFIX-net \
          --network-profile=ZONE-vpc-roce-metal \
          --subnet-mode custom \
          --mtu=8896
    
        # For RoCE VPC networks for bare metal instances, a single subnet named
        # default-subnet-1-RDMA_NAME_PREFIX-net is automatically provided.
        # For more details, see https://cloud.google.com/vpc/docs/rdma-network-profiles.
    
      

    Remplacez les éléments suivants :

    • IDPF_NETWORK_PREFIX : préfixe de nom personnalisé à utiliser pour les réseaux et sous-réseaux VPC standards des cartes IDPF.
    • 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-8.
    • 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.
  3. 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.

Créer une règle de charge de travail

Vous ne pouvez pas modifier une règle de charge de travail après l'avoir créée. Pour apporter des modifications à une règle de charge de travail, vous devez en créer une.

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

gcloud

Pour créer une règle de charge de travail, utilisez la commande gcloud compute resource-policies create workload-policy.

Pour la configuration réseau entre les accélérateurs, spécifiez l'option --accelerator-topology dans la commande.

Utilisez la commande suivante pour le type de machine A4X Max. La topologie d'accélérateur 1x72 indique 72 GPU connectés via un NVLink dans un bloc.

gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=1x72 \
    --region=REGION

Remplacez les éléments suivants :

  • WORKLOAD_POLICY_NAME : nom de la règle de charge de travail.
  • REGION : région dans laquelle vous souhaitez créer la règle de charge de travail. Spécifiez une région dans laquelle vous souhaitez créer le MIG et où 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 règle de charge de travail, envoyez une requête POST à la méthode resourcePolicies.insert.

Pour la configuration du réseau entre les accélérateurs, spécifiez le champ acceleratorTopology dans la requête.

Envoyez la requête suivante pour le type de machine A4X Max. La topologie d'accélérateur 1x72 indique 72 GPU connectés via un NVLink dans un bloc.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "WORKLOAD_POLICY_NAME"
    "workloadPolicy": {
      "type": "HIGH_THROUGHPUT",
      "acceleratorTopology": "1x72"
    }
  }

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • REGION : région dans laquelle vous souhaitez créer la règle de charge de travail. Spécifiez une région dans laquelle vous souhaitez créer le MIG et où 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.
  • WORKLOAD_POLICY_NAME : nom de la règle de charge de travail.

Créer un modèle d'instance

Spécifiez les propriétés d'instance d'un MIG en créant un modèle d'instance.

Pour créer un modèle d'instance, sélectionnez l'une des options 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 un modèle d'instance régional, exécutez la commande gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=a4x-maxgpu-4g-metal \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-0 \
    --network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-1,no-address \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=mrdma \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • 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 : région dans laquelle vous souhaitez créer le modèle d'instance. 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.
  • DISK_SIZE : taille du disque de démarrage en Go.
  • IDPF_NETWORK_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 IDPF.
  • 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, d'un bloc ou d'un sous-bloc 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 A4X Max sur un bloc :
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • Pour créer des instances A4X Max sur un bloc spécifique :
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • Pour créer des instances A4C Max dans un sous-bloc spécifique :
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

REST

Pour créer un modèle d'instance régional, envoyez une requête POST à la méthode regionInstanceTemplates.insert :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"a4x-maxgpu-4g-metal",
    "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/IDPF_NETWORK_PREFIX-net",
      "nicType": "IDPF",
      "stackType": "IPV6_ONLY",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
      "nicType": "IDPF",
      "stackType": "IPV6_ONLY",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-1"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    },
    {
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
      "nicType": "MRDMA",
      "stackType": "IPV6_ONLY"
    }
  ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • 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 : région dans laquelle vous souhaitez créer le modèle d'instance. 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.
  • DISK_SIZE : taille du disque de démarrage en Go.
  • NETWORK_PROJECT_ID : ID du projet du réseau.
  • IDPF_NETWORK_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 IDPF.
  • 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, d'un bloc ou d'un sous-bloc 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 A4X Max sur un bloc :
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • Pour créer des instances A4X Max sur un bloc spécifique :
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • Pour créer des instances A4C Max dans un sous-bloc spécifique :
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

Créer un MIG

Lorsque vous créez un MIG à l'aide du type de machine A4X Max, spécifiez le nombre d'instances à l'aide de la taille cible du MIG. Vous pouvez définir la taille cible lors de la création du MIG sur le nombre d'instances requis ou commencer par zéro et l'augmenter ultérieurement. Notez que vous ne pouvez pas utiliser de demandes de redimensionnement pour ajouter des instances à un MIG A4X Max.

Pour obtenir une topologie de GPU 1x72, créez un MIG avec 18 instances A4X Max. Lorsque vous créez le MIG, appliquez la stratégie de charge de travail qui spécifie le champ acceleratorTopology. L'application de la règle garantit que Compute Engine crée les 18 instances A4X Max dans un sous-bloc pour utiliser un domaine NVLink. Si un sous-bloc ne dispose pas de la capacité nécessaire pour les 18 instances, toute instance gérée qui ne peut pas être créée immédiatement restera à l'état CREATING jusqu'à ce que la capacité devienne disponible. Ces instances gérées représentent les instances de calcul que le MIG crée lorsqu'il y a de la capacité.

Lorsque vous appliquez une règle de charge de travail avec le champ acceleratorTopology défini sur 1x72, vous ne pouvez pas créer plus de 18 instances A4X Max dans un MIG. Si vous spécifiez plus de 18 instances, la création du MIG échoue. Pour créer plusieurs domaines NVLink, créez un MIG distinct pour chaque domaine et appliquez la même règle de charge de travail à chaque MIG.

Pour créer un MIG, sélectionnez l'une des options suivantes :

gcloud

Pour créer un MIG avec une taille cible spécifiée, utilisez la commande instance-groups managed create.

Créez un MIG zonal ou régional comme suit :

  • Pour créer un MIG zonal, utilisez la commande suivante :
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Pour créer un MIG régional, utilisez la commande suivante :
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Remplacez les éléments suivants :
  • MIG_NAME : nom du MIG.
  • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :
    • Pour un modèle d'instance régional : projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Pour un modèle d'instance global : INSTANCE_TEMPLATE_ID
  • TARGET_SIZE : nombre d'instances que vous souhaitez inclure dans le MIG.
  • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Exemple : projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer l'indicateur --workload-policy.
  • ZONE : zone dans laquelle vous souhaitez créer le MIG. Si vous utilisez une règle de charge de travail, spécifiez une zone dans la région de la règle.
  • REGION : région dans laquelle vous souhaitez créer le MIG. Si vous utilisez une règle de charge de travail, spécifiez la même région que celle de la règle. Pour un MIG régional, vous pouvez spécifier les zones de cette région au lieu de la région elle-même en utilisant l'indicateur --zones.

REST

Pour créer un MIG avec une taille cible spécifiée, envoyez une requête POST.

Créez un MIG zonal ou régional comme suit :

  • Pour créer un MIG zonal, envoyez une requête POST à la méthode instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Pour créer un MIG régional, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Remplacez les éléments suivants :
  • PROJECT_ID : ID du projet.
  • ZONE : zone dans laquelle vous souhaitez créer le MIG. Spécifiez une zone dans la région de la règle de charge de travail.
  • REGION : région dans laquelle vous souhaitez créer le MIG. Spécifiez la même région que celle de la règle de charge de travail.
  • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :
    • Pour un modèle d'instance régional : projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Pour un modèle d'instance global : INSTANCE_TEMPLATE_ID
  • MIG_NAME : nom du MIG.
  • TARGET_SIZE : nombre d'instances que vous souhaitez inclure dans le MIG.
  • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Par exemple : projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.

Étape suivante