Créer un MIG pour les charges de travail HPC avec une consommation liée à une réservation


Ce tutoriel vous explique comment créer un groupe d'instances géré (MIG) qui utilise un type de machine H4D. Le MIG utilise le modèle de provisionnement lié à une réservation pour obtenir des ressources de calcul.

La création d'un MIG vous permet de gérer plusieurs machines virtuelles (VM) comme une seule entité. Chaque VM d'un MIG est basée sur un modèle d'instance. En gérant automatiquement les VM du groupe, les MIG offrent une disponibilité et une évolutivité élevées. Pour en savoir plus sur les MIG, consultez Groupes d'instances gérés.

Pour en savoir plus sur les options de création de VM et de clusters HPC, consultez Présentation de la création de clusters HPC.

Ce tutoriel s'adresse aux ingénieurs, administrateurs et opérateurs de plates-formes HPC, ainsi qu'aux spécialistes des données et de MPI qui souhaitent créer un groupe d'instances HPC interconnectées pour exécuter leurs charges de travail. Les instances résultantes n'utilisent pas d'orchestrateur pour la gestion des instances ni la planification des jobs.

Si vous souhaitez créer un groupe d'instances géré, mais que vous n'avez pas besoin de créer un déploiement dense d'instances, consultez plutôt Scénarios de base pour la création de groupes d'instances gérés (MIG).

Objectifs

  • Réservez des blocs de capacité pour les instances de VM.
  • Facultatif : Créez des réseaux de cloud privé virtuel (VPC).
  • Facultatif : Créez une règle de charge de travail.
  • Créez un modèle d'instance.
  • Créez un MIG à l'aide de l'une des méthodes suivantes :
    • Créez un MIG avec une taille cible.
    • Créez un MIG et une demande de redimensionnement.
  • Nettoyez les ressources que vous avez créées.

Coûts

Dans ce document, vous utilisez les composants facturables de Google Cloudsuivants :

Vous pouvez obtenir une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.

Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Effectuer un nettoyage.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

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

  4. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the required API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable compute.googleapis.com
  8. Install the Google Cloud CLI.

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

  10. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  11. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Verify that billing is enabled for your Google Cloud project.

  13. Enable the required API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable compute.googleapis.com
  14. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/compute.instanceAdmin.v1,roles/compute.networkAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  15. Capacité de réservation

    Pour utiliser les commandes de ce tutoriel, vous devez réserver la capacité permettant de créer les instances dans le MIG.

    Créer une réservation future pour des blocs de capacité

    Cette action vous permet de réserver des blocs de capacité pour une durée définie, à partir d'une date et d'une heure spécifiques de votre choix. La réservation réserve des blocs ou des sous-blocs de capacité dans un cluster, ce qui permet des déploiements denses d'instances de VM.

    Pour créer une réservation future pour un déploiement dense, procédez comme suit :

    1. Suivez la procédure pour réserver de la capacité en contactant votre équipe chargée du compte dans la documentation AI Hypercomputer. Dans votre demande de réservation future, fournissez les informations comme indiqué, à l'exception des éléments suivants :

      • Type de machine : spécifiez le type de machine H4D h4d-highmem-192-lssd.
      • Zone : spécifiez l'une des zones dans lesquelles les instances H4D sont disponibles, comme indiqué dans le tableau Régions et zones disponibles. Pour n'afficher que les zones disponibles pour H4D, sélectionnez H4D dans la liste Sélectionner une série de machines.
      • Type de planification de la maintenance : pour les instances H4D, vous pouvez spécifier GROUPED ou INDEPENDENT.
      • Mode opérationnel de la réservation : pour les instances H4D, spécifiez la valeur HIGHLY_AVAILABLE_CAPACITY.
    2. Le quota est automatiquement augmenté avant que la capacité ne soit fournie. Aucune action n'est requise de votre part.

    3. Lorsque vous créez le modèle d'instance, spécifiez le modèle d'approvisionnement lié à la réservation. Les instances de VM du MIG sont provisionnées à partir de votre capacité réservée.

    Vous êtes facturé pour toute la période de réservation, que vous utilisiez ou non les ressources réservées pendant toute la période. Pour en savoir plus, consultez Facturation des réservations.

    Créer une réservation future en mode calendrier

    Si vous avez besoin d'utiliser la capacité réservée pendant moins de 90 jours, vous pouvez créer une réservation future en mode calendrier à l'aide du planificateur de charges de travail dynamique. Pour obtenir des ressources de réservations futures, procédez comme suit :

    1. Recherchez la capacité disponible et réservez des ressources à l'aide de la console Google Cloud , de gcloud CLI ou de l'API Compute Engine.
    2. Aucun quota n'est facturé et aucune action n'est requise de votre part.
    3. Lorsque vous créez le modèle d'instance, spécifiez le modèle d'approvisionnement lié à la réservation. Les instances de VM du MIG sont provisionnées à partir de votre capacité réservée.

    Vous êtes facturé pour toute la période de réservation, que vous utilisiez ou non les ressources réservées pendant toute la période. Pour en savoir plus, consultez Tarifs du planificateur de charges de travail dynamique.

    Facultatif : Créez des réseaux VPC

    Sauf si vous choisissez de désactiver cette fonction, chaque projet dispose d'un réseau par défaut, qui peut être utilisé pour fournir une connectivité réseau à vos instances. Lorsque vous créez une VM, vous pouvez spécifier un réseau et un sous-réseau VPC. Si vous omettez cette configuration, le réseau et le sous-réseau par défaut sont utilisés.

    Les instances H4D peuvent être configurées pour utiliser Cloud RDMA. Cloud RDMA offre des fonctionnalités de messagerie fiables à faible latence en utilisant un pilote réseau IRDMA qui prend en charge l'accès direct à la mémoire à distance (RDMA) entre les instances Compute Engine.

    Pour ce tutoriel :

    • Si vous souhaitez configurer les instances H4D pour qu'elles utilisent Cloud RDMA, suivez les étapes de cette section.
    • Si vous ne souhaitez pas utiliser Cloud RDMA, vous pouvez ignorer cette section et utiliser le réseau par défaut.

    Les instances compatibles avec RDMA nécessitent au moins deux interfaces réseau (NIC) :

    • Type de carte réseau GVNIC : utilise le pilote gve pour le trafic TCP/IP et Internet pour la communication normale entre VM et entre VM et Internet.
    • Type de carte réseau IRDMA : utilise les pilotes IDPF/iRDMA pour la mise en réseau Cloud RDMA entre les instances.

    Les instances qui utilisent Cloud RDMA ne peuvent avoir qu'une seule interface IRDMA. Vous pouvez ajouter jusqu'à huit interfaces réseau GVNIC supplémentaires, pour un total de 10 cartes d'interface réseau par instance.

    Pour configurer les réseaux VPC Falcon à utiliser avec vos instances, vous pouvez suivre les instructions de la documentation ou utiliser le script fourni.

    Guides d'instructions

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

    Script

    Vous pouvez créer jusqu'à neuf interfaces réseau GVNIC et une interface réseau IRDMA par instance. Chaque interface réseau doit être associée à un réseau distinct. Pour créer les réseaux, vous pouvez utiliser le script suivant, qui crée deux réseaux pour GVNIC et un réseau pour IRDMA.

    1. Facultatif : Avant d'exécuter le script, listez les profils réseau RDMA pour vérifier qu'il en existe un.
        gcloud beta compute network-profiles list
        
    2. Copiez le code suivant et exécutez-le dans une fenêtre de shell Linux.

        #!/bin/bash
        # Set the number of GVNIC interfaces to create. You can create up to 9.
        NUM_GVNIC=NUMBER_OF_GVNIC
      
        # Create standard VPC (networks and subnets) for the GVNIC interfaces
          for N in $(seq 0 $(($NUM_GVNIC - 1))); do
            gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
                --subnet-mode=custom
      
            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
      
        # Optional: Create a firewall rule for the external IP address for the
        #  first GVNIC network interface
        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
      
        # Create a network for the RDMA over Falcon network interface
        gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \
            --network-profile=ZONE-vpc-falcon \
            --subnet-mode custom
      
        # Create a subnet for the RDMA network
        gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
            --network=RDMA_NAME_PREFIX-irdma \
            --region=REGION \
            --range=10.2.0.0/16  # offset to avoid overlap with GVNIC subnet ranges
        

      Remplacez les éléments suivants :

      • NUMBER_OF_GVNIC : nombre d'interfaces gVNIC à créer. Spécifiez un nombre compris entre 1 et 9.
      • GVNIC_NAME_PREFIX : préfixe de nom à utiliser pour le réseau et le sous-réseau VPC standards qui utilisent un type de carte réseau GVNIC.
      • REGION : région dans laquelle vous souhaitez créer les réseaux. Il doit correspondre à la zone spécifiée pour l'indicateur --network-profile lors de la création du réseau RDMA. Par exemple, si vous spécifiez la zone europe-west4-b, votre région est europe-west4.
      • IP_RANGE : plage d'adresses IP en dehors du réseau VPC à utiliser pour les règles de pare-feu SSH. Il est recommandé de spécifier les plages d'adresses IP spécifiques à partir desquelles vous devez autoriser l'accès, plutôt que toutes les sources IPv4 ou IPv6. N'utilisez pas 0.0.0.0/0 ni ::/0 comme plage source, car cela autorise le trafic provenant de toutes les sources IPv4 ou IPv6, y compris celles en dehors de Google Cloud.
      • RDMA_NAME_PREFIX : préfixe de nom à utiliser pour le réseau VPC et le sous-réseau qui utilisent le type de carte réseau IRDMA.
      • ZONE : zone dans laquelle vous souhaitez créer les réseaux et les instances de calcul. Utilisez us-central1-a ou europe-west4-b.
    3. Facultatif : Pour vérifier que les ressources de 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 règle de charge de travail

    Si vous souhaitez que Compute Engine place les instances de VM dans un seul bloc ou dans des blocs adjacents, spécifiez l'emplacement des instances en créant une stratégie de charge de travail. Toutefois, si vous souhaitez que Compute Engine place vos instances sur un bloc spécifique, ignorez cette étape et indiquez le nom du bloc dans l'affinité de réservation lorsque vous créez le modèle d'instance.

    Si vous disposez déjà d'une règle de charge de travail, vous pouvez la réutiliser. Lorsque vous appliquez une règle de charge de travail à votre MIG, Compute Engine s'efforce de créer des instances aussi proches les unes des autres que possible. Si votre application est sensible à la latence et que vous souhaitez que les instances soient plus proches les unes des autres (compacité maximale), spécifiez le champ maxTopologyDistance lorsque vous créez une stratégie de charge de travail.

    Vous ne pouvez pas modifier une règle de charge de travail après l'avoir créée. Pour modifier 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 un placement des VM au mieux, spécifiez uniquement l'option --type=high-throughput dans la commande :

      gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
          --type=high-throughput \
          --region=REGION
      
    • Pour une colocation stricte des VM, spécifiez l'option --max-topology-distance dans la commande :

      gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
          --type=high-throughput \
          --max-topology-distance=TOPOLOGY_DISTANCE \
          --region=REGION
      

    Remplacez les éléments suivants :

    • WORKLOAD_POLICY_NAME : nom de la stratégie de charge de travail.
    • REGION : région dans laquelle vous souhaitez créer la stratégie de charge de travail. Spécifiez une région dans laquelle vous souhaitez créer le MIG et le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions et les zones, consultez Régions et zones disponibles.

    REST

    Pour créer une règle de charge de travail, envoyez une requête POST à la méthode resourcePolicies.insert.

    • Pour un placement des VM au mieux, spécifiez uniquement le champ type dans la requête comme suit :

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
        {
          "name": "WORKLOAD_POLICY_NAME"
          "workloadPolicy": {
            "type": "HIGH_THROUGHPUT"
          }
        }
      
    • Pour une colocation stricte des VM, spécifiez le champ maxTopologyDistance dans la requête comme suit :

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

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet
    • REGION : région dans laquelle vous souhaitez créer la stratégie de charge de travail. Spécifiez une région dans laquelle vous souhaitez créer le MIG et le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions et les zones, consultez Régions et zones disponibles.
    • WORKLOAD_POLICY_NAME : nom de la stratégie de charge de travail.

    Créer un modèle d'instance

    Pour spécifier les propriétés d'instance et de consommation de chaque instance du MIG, créez un modèle d'instance à l'aide de l'une des méthodes suivantes :

    gcloud

    Pour créer un modèle d'instance régional, utilisez la commande gcloud compute instance-templates create.

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
        --machine-type=MACHINE_TYPE \
        --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=GVNIC, \
          network=GVNIC_NAME_PREFIX-net-0, \
          subnet=GVNIC_NAME_PREFIX-sub-0, \
          stack-type=STACK_TYPE, \
          address=EXTERNAL_IPV4_ADDRESS \
    --network-interface=nic-type=GVNIC, \
          network=GVNIC_NAME_PREFIX-net-1, \
          subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=IRDMA, \
          network=RDMA_NAME_PREFIX-irdma, \
          subnet=RDMA_NAME_PREFIX-irdma-sub, \
          stack-type=IPV4_ONLY,no-address \
        --reservation-affinity=specific \
        --reservation=RESERVATION \
        --provisioning-model=RESERVATION_BOUND \
        --instance-termination-action=DELETE \
        --maintenance-policy=TERMINATE
    
    

    Remplacez les éléments suivants :

    • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
    • MACHINE_TYPE : type de machine H4D à utiliser pour l'instance.
    • IMAGE_FAMILY : famille d'images de l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image 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.
    • DISK_SIZE : taille du disque de démarrage en Gio.
    • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

      Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

    • STACK_TYPE : (facultatif) type de pile à utiliser pour l'interface gVNIC. Indiquez IPV4_ONLY ou IPV4_IPV6. Si vous ne spécifiez pas de valeur, IPV4_ONLY est utilisé par défaut.
    • EXTERNAL_IPV4_ADDRESS : facultatif : adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant. Effectuez l'une des opérations suivantes :

      • Spécifiez une adresse IPv4 valide du sous-réseau.
      • Utilisez l'indicateur no-address si vous ne souhaitez pas que l'interface réseau dispose d'une adresse IP externe.
      • Spécifiez address='' si vous souhaitez que l'interface réseau reçoive une adresse IP externe éphémère.

      Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

    • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

      Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

    • RESERVATION : nom de la réservation que vous souhaitez utiliser.

      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 dans plusieurs blocs ou dans un seul bloc :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        De plus, pour un seul bloc, créez le MIG en appliquant une règle de charge de travail qui spécifie une colocation de blocs (maxTopologyDistance=BLOCK). 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

    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":{
        "disks":[
          {
            "boot":true,
            "initializeParams":{
              "diskSizeGb":"DISK_SIZE",
              "diskType":"hyperdisk-balanced",
              "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
            },
            "mode":"READ_WRITE",
            "type":"PERSISTENT"
          }
        ],
        "machineType":"MACHINE_TYPE",
        
            "networkInterfaces": [
            {
              "network": "GVNIC_NAME_PREFIX-net-0",
              "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
              "accessConfigs": [
                {
                    "type": "ONE_TO_ONE_NAT",
                    "name": "External IP",
                    "natIP": "EXTERNAL_IPV4_ADDRESS"
                }
              ],
              "stackType": "IPV4_ONLY",
              "nicType": "GVNIC",
          },
          {
              "network": "GVNIC_NAME_PREFIX-net-1",
              "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
              "stackType": "IPV4_ONLY",
              "nicType": "GVNIC",
          },
          {
              "network": "RDMA_NAME_PREFIX-irdma",
              "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
              "stackType": "IPV4_ONLY",
              "nicType": "IRDMA",
          }
        ],
    ,
        "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.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance. Spécifiez un type de machine H4D. Pour en savoir plus, consultez Types de machines H4D.
    • IMAGE_FAMILY : famille d'images de l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image 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 Régions et zones.
    • DISK_SIZE : taille du disque de démarrage en Gio.
    • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

      Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

    • EXTERNAL_IPV4_ADDRESS : facultatif : adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant.

      Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

    • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

      Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

    • RESERVATION : nom de la réservation que vous souhaitez utiliser.

      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 dans plusieurs blocs ou dans un seul bloc :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        De plus, pour un seul bloc, créez le MIG en appliquant une règle de charge de travail qui spécifie une colocation de blocs (maxTopologyDistance=BLOCK). 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

    Une fois le modèle d'instance créé, vous pouvez l'afficher pour voir son ID et examiner les propriétés de l'instance.

    Créer un MIG

    En fonction des exigences de votre charge de travail, vous pouvez créer un MIG dans l'une des configurations suivantes :

    Créer un MIG avec une taille cible

    Si vous pouvez démarrer votre job sans créer toutes les instances de VM en même temps, créez un MIG avec une taille cible. La taille cible détermine le nombre d'instances dans le MIG. Le MIG commence à créer des instances en fonction de la disponibilité actuelle des ressources. Si une ressource est temporairement indisponible, le MIG tente en permanence de créer des instances pour atteindre la taille cible.

    Pour créer un MIG avec une taille cible, 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.

    Dans cette étape, les commandes permettant de créer un MIG utilisent une règle de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez l'indicateur --workload-policy.

    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, exécutez 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 VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez l'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 de VM que vous souhaitez inclure dans le MIG.
    • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). 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 à l'aide de l'indicateur --zones.

    REST

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

    Dans cette étape, les requêtes de création d'un MIG utilisent une stratégie de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le champ resourcePolicies.workloadPolicy du corps de la requête.

    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. 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 un MIG. Si vous utilisez une règle de charge de travail, spécifiez la même région que celle de la règle.
    • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez l'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 de VM que vous souhaitez inclure dans le MIG.
    • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer le champ resourcePolicies.workloadPolicy.

    Créer un MIG et une demande de redimensionnement

    Pour créer toutes les instances demandées en même temps, créez un MIG sans aucune instance. Après avoir créé le MIG vide, vous créez une demande de redimensionnement dans le MIG. Lorsque les ressources sont disponibles pour créer toutes les instances en une seule fois, la requête de redimensionnement ajoute les instances au MIG.

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

    gcloud

    Dans cette étape, les commandes permettant de créer un MIG utilisent une règle de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez l'indicateur --workload-policy.

    Créez un MIG zonal ou régional et une demande de redimensionnement comme suit :

    • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :

      1. Créez un MIG zonal à l'aide de la commande instance-groups managed create comme suit.

        gcloud compute instance-groups managed create MIG_NAME \
            --template=INSTANCE_TEMPLATE_URL \
            --size=0 \
            --workload-policy=WORKLOAD_POLICY_URL \
            --zone=ZONE
        
      2. Créez une demande de redimensionnement dans le MIG zonal à l'aide de la commande instance-groups managed resize-requests create comme suit :

        gcloud compute instance-groups managed resize-requests create MIG_NAME \
            --resize-request=RESIZE_REQUEST_NAME \
            POPULATION_METHOD \
            --zone=ZONE
        
    • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci, procédez comme suit :

      1. Créez un MIG régional à l'aide de la commande instance-groups managed create comme suit.

        gcloud compute instance-groups managed create MIG_NAME \
            --template=INSTANCE_TEMPLATE_URL \
            --size=0 \
            --workload-policy=WORKLOAD_POLICY_URL \
            --zones=ZONE \
            --target-distribution-shape=any-single-zone \
            --instance-redistribution-type=none
          
      2. Créez une demande de redimensionnement dans le MIG régional à l'aide de la commande bêta instance-groups managed resize-requests create comme suit :

        gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
            --resize-request=RESIZE_REQUEST_NAME \
            POPULATION_METHOD \
            --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 VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez l'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
    • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). 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. Pour un MIG régional, vous devez également spécifier une zone. Cette zone doit être celle qui contient le profil de votre réseau VPC et doit être une zone où le type de machine est disponible. Pour en savoir plus, consultez la section Limites.
    • RESIZE_REQUEST_NAME : nom de la requête de redimensionnement, qui doit être unique dans le MIG spécifié. Sinon, la création de la demande de redimensionnement échoue.
    • POPULATION_METHOD : méthode d'ajout d'instances au MIG. Utilisez l'une des options suivantes :

      • --resize-by=COUNT : ajoute simultanément le nombre d'instances spécifié au MIG. Les noms d'instance sont générés automatiquement.
      • --instances=INSTANCE_NAME_LIST : ajoutez simultanément au MIG les instances portant les noms spécifiés. Remplacez INSTANCE_NAME_LIST par une liste de noms d'instances, séparés par une virgule. Le nombre de noms que vous fournissez détermine le nombre d'instances à créer avec cette demande de redimensionnement.
    • REGION : région dans laquelle se trouve le MIG.

    REST

    Dans cette étape, les requêtes de création d'un MIG utilisent une stratégie de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le champ resourcePolicies.workloadPolicy du corps de la requête.

    Créez un MIG zonal ou régional et une demande de redimensionnement comme suit :

    • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :
      1. Créez un MIG zonal en envoyant une requête POST à la méthode instanceGroupManagers.insert comme suit.
        POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
        {
          "versions": [
            {
              "instanceTemplate": "INSTANCE_TEMPLATE_URL"
            }
          ],
          "name": "MIG_NAME",
          "targetSize": 0,
          "resourcePolicies": {
            "workloadPolicy": WORKLOAD_POLICY_URL
          }
        }
        
      2. Créez une demande de redimensionnement dans le MIG zonal en envoyant une requête POST à la méthode instanceGroupManagerResizeRequests.insert comme suit :
        POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
        {
          "name": "RESIZE_REQUEST_NAME",
          POPULATION_METHOD
        }
        
    • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci, procédez comme suit :
      1. Créez un MIG régional en envoyant une requête POST à la méthode regionInstanceGroupManagers.insert comme suit.
        POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
        {
          "versions": [
            {
              "instanceTemplate": "INSTANCE_TEMPLATE_URL"
            }
          ],
          "name": "MIG_NAME",
          "targetSize": 0,
          "distributionPolicy": {
            "targetShape": "ANY_SINGLE_ZONE",
            "zones": [
              {
                "zone": "projects/PROJECT_ID/zones/ZONE"
              }
            ]
          },
          "updatePolicy": {
            "instanceRedistributionType": "NONE"
          },
          "resourcePolicies": {
            "workloadPolicy": WORKLOAD_POLICY_URL
          }
        }
        
      2. Créez une demande de redimensionnement dans le MIG régional en envoyant une requête POST à la méthode beta.regionInstanceGroupManagerResizeRequests.insert comme suit :
        POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
        {
          "name": "RESIZE_REQUEST_NAME",
          POPULATION_METHOD
        }
        

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet.
    • ZONE : zone dans laquelle vous souhaitez créer le MIG. Pour un MIG régional, vous devez également spécifier une zone. Cette zone doit être celle qui contient le profil de votre réseau VPC et doit être une zone où le type de machine est disponible. Pour en savoir plus, consultez la section Limites.
    • REGION : région dans laquelle vous souhaitez créer le MIG.
    • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez l'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.
    • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer le champ resourcePolicies.workloadPolicy.
    • RESIZE_REQUEST_NAME : nom de la requête de redimensionnement, qui doit être unique dans le MIG spécifié. Sinon, la création de la demande de redimensionnement échoue.
    • POPULATION_METHOD : méthode d'ajout d'instances au MIG. Utilisez l'une des options suivantes :

      • "resizeBy":COUNT : remplacez COUNT par le nombre d'instances spécifié à ajouter simultanément au MIG. Les noms d'instance sont générés automatiquement.
      • "instanceNames":INSTANCE_NAME_LIST : ajoutez simultanément au MIG les instances portant les noms spécifiés. Remplacez INSTANCE_NAME_LIST par une liste de noms d'instances, séparés par une virgule. Le nombre de noms que vous fournissez détermine le nombre d'instances à créer avec cette demande de redimensionnement.

    Effectuer un nettoyage

    Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.

    Supprimer votre projet

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

    Supprimer les ressources

    1. Supprimez les demandes de redimensionnement dans un MIG.

    2. Supprimez le MIG et les instances.

    3. Si l'état de suppression automatique des disques a été défini sur False dans le modèle d'instance, les disques ne sont pas supprimés automatiquement lorsque l'instance de VM est supprimée. Vous pouvez supprimer les disques à l'aide de l'une des méthodes suivantes :

      Console

      1. Dans la console Google Cloud , accédez à la page Disques.

      Accéder à la page Disques

      1. Sélectionnez les lignes contenant les disques que vous avez créés dans ce tutoriel. Assurez-vous que la colonne Utilisé par est vide pour chaque disque.

      2. Cliquez sur Supprimer, puis à nouveau sur Supprimer pour confirmer l'opération.

      gcloud

      Exécutez la commande gcloud compute disks delete.

      gcloud compute disks delete DISK_NAME \
          --project PROJECT_ID --zone ZONE
      

      Remplacez les éléments suivants :

      • DISK_NAME  : nom du disque à supprimer
      • PROJECT_ID : ID du projet contenant le disque
      • ZONE : zone du disque.

      REST

      Utilisez la méthode disks.delete pour supprimer les disques.

      DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME 
      

      Remplacez les éléments suivants :

      • PROJECT_ID : ID du projet contenant le disque
      • ZONE : zone du disque.
      • DISK_NAME  : nom du disque à supprimer
    4. Supprimez les réseaux.

    5. Supprimer le modèle d'instance.

    Étapes suivantes