Réduire la latence à l'aide de stratégies d'emplacement compact

Ce document explique comment réduire la latence réseau entre vos instances Compute Engine en créant et en appliquant des stratégies de concentration. Pour en savoir plus sur les stratégies d'emplacement, y compris sur les séries de machines compatibles, les restrictions et les tarifs, consultez Présentation des stratégies d'emplacement.

Une stratégie de concentration spécifie que vos instances doivent être physiquement proches les unes des autres. Cela peut vous aider à améliorer les performances et à réduire la latence réseau entre vos instances lorsque, par exemple, vous exécutez des charges de travail de calcul hautes performances (HPC), de machine learning (ML) ou de serveur de base de données.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Trusted Cloud by S3NS . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Installez la Google Cloud CLI, puis connectez-vous-y avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init
    2. Set a default region and zone.

    REST

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

      Installez la Google Cloud CLI, puis connectez-vous-y avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init

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

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et appliquer une stratégie de placement compact aux instances de calcul, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer et appliquer une stratégie d'emplacement compact aux instances de calcul. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer et appliquer une stratégie de concentration aux instances de calcul :

  • Pour créer des stratégies d'emplacement par répartition : compute.resourcePolicies.create sur le projet
  • Pour appliquer une règle d'emplacement aux instances existantes : compute.instances.addResourcePolicies sur le projet
  • Pour créer des instances :
    • 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 attribuer un ancien réseau à la VM : compute.networks.use sur le projet
    • 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 ancien réseau : compute.networks.useExternalIp sur le projet
    • Pour spécifier un sous-réseau pour la VM : compute.subnetworks.use sur le projet ou sur le sous-réseau choisi
    • 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 définir les métadonnées d'instance de VM pour la VM : compute.instances.setMetadata sur le projet
    • Pour définir des tags pour la VM : compute.instances.setTags sur la VM
    • Pour définir des libellés pour la VM : compute.instances.setLabels sur la VM
    • Pour définir un compte de service à utiliser avec la VM : compute.instances.setServiceAccount sur la VM
    • Pour créer un disque pour la VM : compute.disks.create sur le projet
    • Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture : compute.disks.use sur le disque
    • Pour associer un disque existant en mode lecture seule : compute.disks.useReadOnly sur le disque
  • Pour créer une réservation : compute.reservations.create sur le projet
  • Pour créer un modèle d'instance : compute.instanceTemplates.create sur le projet.
  • Pour créer un groupe d'instances géré (MIG) : compute.instanceGroupManagers.create sur le projet
  • Pour afficher les détails d'une instance : compute.instances.get sur le projet

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

Créer une stratégie de concentration

Avant de créer une règle de concentration, tenez compte des points suivants :

  • Si vous souhaitez appliquer une stratégie d'emplacement compact à une instance de calcul autre que N2 ou N2D, nous vous recommandons de spécifier une valeur de distance maximale.

  • Vous ne pouvez appliquer des stratégies de concentration qu'aux instances A4 ou A3 Ultra déployées à l'aide des fonctionnalités fournies par Cluster Director. Pour en savoir plus, consultez Cluster Director dans la documentation AI Hypercomputer.

  • Par défaut, vous ne pouvez pas appliquer de stratégies d'emplacement compact avec une valeur de distance maximale aux instances A3 Mega, A3 High ou A3 Edge. Pour demander l'accès à cette fonctionnalité, contactez votre responsable de compte technique (TAM) ou l'équipe commerciale.

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

gcloud

  • Pour appliquer la stratégie de concentration aux instances N2 ou N2D, créez la stratégie à l'aide de la commande gcloud compute resource-policies create group-placement avec l'option --collocation=collocated.

    gcloud compute resource-policies create group-placement POLICY_NAME \
        --collocation=collocated \
        --region=REGION
    

    Remplacez les éléments suivants :

    • POLICY_NAME : nom de la stratégie d'emplacement compact.

    • REGION : région dans laquelle créer la stratégie d'emplacement.

  • Pour appliquer la stratégie de concentration à d'autres instances compatibles, créez la stratégie à l'aide de la commande gcloud beta compute resource-policies create group-placement avec les options --collocation=collocated et --max-distance.

    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 instances. La valeur doit être comprise entre 1, qui spécifie de placer vos instances sur le même rack pour obtenir la latence réseau la plus faible possible, et 3, qui spécifie de placer vos instances dans des clusters adjacents. Si vous souhaitez appliquer la stratégie d'emplacement compact à une réservation ou à une instance A4 ou A3 Ultra, vous ne pouvez pas spécifier de valeur 1.

    • REGION : région dans laquelle créer la stratégie d'emplacement.

REST

  • Pour appliquer la stratégie de concentration aux instances N2 ou N2D, créez la stratégie en envoyant une requête POST à la méthode resourcePolicies.insert. Dans le corps de la requête, incluez le champ collocation et définissez-le sur COLLOCATED.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "POLICY_NAME",
      "groupPlacementPolicy": {
        "collocation": "COLLOCATED"
      }
    }
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer la stratégie d'emplacement.

    • REGION : région dans laquelle créer la stratégie d'emplacement.

    • POLICY_NAME : nom de la stratégie d'emplacement compact.

  • Pour appliquer la stratégie de concentration à d'autres instances compatibles, créez la stratégie en envoyant une requête POST à la méthode beta.resourcePolicies.insert. Dans le corps de la requête, incluez les éléments suivants :

    • Le champ collocation défini sur COLLOCATED.

    • Le champ maxDistance

    POST https://compute.s3nsapis.fr/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 du projet dans lequel vous souhaitez créer la stratégie d'emplacement.

    • REGION : région dans laquelle créer la stratégie d'emplacement.

    • POLICY_NAME : nom de la stratégie d'emplacement compact.

    • MAX_DISTANCE : configuration de distance maximale pour vos instances. La valeur doit être comprise entre 1, qui spécifie de placer vos instances sur le même rack pour obtenir la latence réseau la plus faible possible, et 3, qui spécifie de placer vos instances dans des clusters adjacents. Si vous souhaitez appliquer la stratégie d'emplacement compact à une réservation ou à une instance A4 ou A3 Ultra, vous ne pouvez pas spécifier de valeur 1.

Appliquer une stratégie de concentration

Vous pouvez appliquer une stratégie de concentration à une instance de calcul ou à un groupe d'instances géré (MIG) existants, ou lorsque vous créez des instances, des modèles d'instance, des MIG ou des réservations d'instances.

Pour appliquer une stratégie de concentration à une ressource Compute Engine, sélectionnez l'une des méthodes suivantes :

Une fois que vous avez appliqué une stratégie de concentration à une instance, vous pouvez vérifier l'emplacement physique de l'instance par rapport aux autres instances spécifiant la même stratégie d'emplacement.

Appliquer la règle à une instance existante

Avant d'appliquer une stratégie de concentration à une instance de calcul existante, vérifiez les points suivants :

Sinon, l'application de la stratégie de concentration à l'instance échoue. Si l'instance spécifie déjà une stratégie d'emplacement et que vous souhaitez la remplacer, consultez plutôt Remplacer une stratégie d'emplacement dans une instance.

Pour appliquer une stratégie de concentration à une instance existante, sélectionnez l'une des options suivantes :

gcloud

  1. Arrêtez l'instance.

  2. Pour appliquer une stratégie de concentration à une instance existante, utilisez la commande gcloud compute instances add-resource-policies.

    gcloud compute instances add-resource-policies INSTANCE_NAME \
        --resource-policies=POLICY_NAME \
        --zone=ZONE
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom d'une instance existante.

    • POLICY_NAME : nom d'une stratégie de concentration existante.

    • ZONE : zone où se trouve l'instance

  3. Redémarrez l'instance.

REST

  1. Arrêtez l'instance.

  2. Pour appliquer une stratégie de concentration à une instance existante, envoyez une requête POST à la méthode instances.addResourcePolicies.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    }
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel se trouvent la stratégie de concentration et l'instance.

    • ZONE : zone où se trouve l'instance

    • INSTANCE_NAME : nom d'une instance existante.

    • REGION : région où se trouve la stratégie d'emplacement compact.

    • POLICY_NAME : nom d'une stratégie de concentration existante.

  3. Redémarrez l'instance.

Appliquer la stratégie lors de la création d'une instance

Vous ne pouvez créer une instance de calcul qui spécifie une stratégie d'emplacement compact que dans la même région que la stratégie d'emplacement.

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

gcloud

Pour créer une instance qui spécifie une stratégie de concentration, exécutez la commande gcloud compute instances create avec les options --maintenance-policy et --resource-policies.

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance à créer.

  • MACHINE_TYPE : type de machine compatible pour les stratégies d'emplacement compact.

  • MAINTENANCE_POLICY : stratégie de maintenance de l'hôte de l'instance. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de 1 ou 2, ou si le type de machine que vous avez choisi n'est pas compatible avec la migration à chaud, vous ne pouvez spécifier que TERMINATE. Sinon, vous pouvez spécifier MIGRATE ou TERMINATE.

  • POLICY_NAME : nom d'une stratégie de concentration existante.

  • ZONE : zone dans laquelle créer l'instance.

REST

Pour créer une instance qui spécifie une stratégie de concentration, envoyez une requête POST à la méthode instances.insert. Dans le corps de la requête, incluez les champs onHostMaintenance et resourcePolicies.

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ],
  "scheduling": {
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve la stratégie d'emplacement compact.

  • ZONE : zone dans laquelle créer l'instance et où se trouve le type de machine. Vous ne pouvez spécifier qu'une zone dans la région de la stratégie d'emplacement compact.

  • INSTANCE_NAME : nom de l'instance à créer.

  • MACHINE_TYPE : type de machine compatible pour les stratégies d'emplacement compact.

  • IMAGE_PROJECT : projet contenant l'image, par exemple, debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.

  • IMAGE : spécifiez l'une des options suivantes :

    • Version spécifique de l'image de l'OS. Exemple : debian-12-bookworm-v20240617

    • Une famille d'images, qui doit être au format family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiez family/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.

  • REGION : région où se trouve la stratégie de concentration.

  • POLICY_NAME : nom d'une stratégie de concentration existante.

  • MAINTENANCE_POLICY : stratégie de maintenance de l'hôte de l'instance. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de 1 ou 2, ou si le type de machine que vous avez choisi n'est pas compatible avec la migration à chaud, vous ne pouvez spécifier que TERMINATE. Sinon, vous pouvez spécifier MIGRATE ou TERMINATE.

Pour en savoir plus sur les options de configuration permettant de créer une instance, consultez Créer et démarrer une instance.

Appliquer la stratégie lors de la création d'une réservation

Si vous souhaitez créer une réservation à la demande et à projet unique qui spécifie une stratégie d'emplacement compact, vous devez créer une réservation spécifiquement ciblée. Lorsque vous créez des instances pour consommer la réservation, vérifiez les points suivants :

  • Les instances doivent spécifier la même stratégie d'emplacement compact que celle appliquée à la réservation.

  • Les instances doivent cibler spécifiquement la réservation pour pouvoir l'utiliser. Pour en savoir plus, consultez Utiliser des instances d'une réservation spécifique.

Pour créer une réservation pour un projet unique avec une stratégie de placement compact, sélectionnez l'une des méthodes suivantes :

Pour créer une réservation à projet unique avec une stratégie d'emplacement compact en spécifiant directement les propriétés, sélectionnez l'une des options suivantes :

gcloud

Pour créer une réservation à projet unique avec une stratégie de concentration en spécifiant directement les propriétés, utilisez la commande gcloud compute reservations create avec les options --require-specific-reservation et --resource-policies=policy.

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --require-specific-reservation \
    --resource-policies=policy=POLICY_NAME \
    --vm-count=NUMBER_OF_INSTANCES \
    --zone=ZONE

Remplacez les éléments suivants :

  • RESERVATION_NAME : nom de la réservation.

  • MACHINE_TYPE : type de machine compatible pour les stratégies d'emplacement compact.

  • POLICY_NAME : nom d'une stratégie de concentration existante.

  • NUMBER_OF_INSTANCES : nombre d'instances à réserver, qui ne peut pas être supérieur au nombre maximal d'instances compatibles de la stratégie d'emplacement compact spécifiée.

  • ZONE : zone dans laquelle réserver des instances. Vous ne pouvez réserver des instances que dans une zone de la région de la stratégie de concentration spécifiée.

REST

Pour créer une réservation à projet unique avec une stratégie de concentration en spécifiant directement les propriétés, envoyez une requête POST à la méthode reservations.insert. Dans le corps de la requête, incluez le champ resourcePolicies et le champ specificReservationRequired défini sur true.

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "resourcePolicies": {
    "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  },
  "specificReservation": {
    "count": "NUMBER_OF_INSTANCES",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  },
  "specificReservationRequired": true
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve la stratégie d'emplacement compact.

  • ZONE : zone dans laquelle réserver des instances. Vous ne pouvez réserver des instances que dans une zone de la région de la stratégie de concentration spécifiée.

  • RESERVATION_NAME : nom de la réservation.

  • REGION : région où se trouve la stratégie de concentration.

  • POLICY_NAME : nom d'une stratégie de concentration existante.

  • NUMBER_OF_INSTANCES : nombre d'instances à réserver, qui ne peut pas être supérieur au nombre maximal d'instances compatibles de la stratégie d'emplacement compact spécifiée.

  • MACHINE_TYPE : type de machine compatible pour les stratégies d'emplacement compact.

Pour en savoir plus sur les options de configuration permettant de créer des réservations pour un seul projet, consultez Créer une réservation pour un seul projet.

Appliquer la stratégie lors de la création d'un modèle d'instance

Si vous souhaitez créer un modèle d'instance régional, vous devez le créer dans la même région que la stratégie d'emplacement compacte. Sinon, la création du modèle d'instance échoue.

Après avoir créé un modèle d'instance qui spécifie une stratégie d'emplacement compact, vous pouvez utiliser le modèle pour effectuer les opérations suivantes :

Pour créer un modèle d'instance qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes :

gcloud

Pour créer un modèle d'instance spécifiant une stratégie de concentration, exécutez la commande gcloud compute instance-templates create avec les options --maintenance-policy et --resource-policies.

Par exemple, pour créer un modèle d'instance global qui spécifie une stratégie de concentration, exécutez la commande suivante :

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.

  • MACHINE_TYPE : type de machine compatible pour les stratégies d'emplacement compact.

  • MAINTENANCE_POLICY : stratégie de maintenance de l'hôte de l'instance. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de 1 ou 2, ou si le type de machine que vous avez choisi n'est pas compatible avec la migration à chaud, vous ne pouvez spécifier que TERMINATE. Sinon, vous pouvez spécifier MIGRATE ou TERMINATE.

  • POLICY_NAME : nom d'une stratégie de concentration existante.

REST

Pour créer un modèle d'instance qui spécifie une stratégie de concentration, envoyez une requête POST à l'une des méthodes suivantes :

Dans le corps de la requête, incluez les champs onHostMaintenance et resourcePolicies.

Par exemple, pour créer un modèle d'instance global qui spécifie une stratégie de concentration, envoyez une requête POST comme suit :

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "resourcePolicies": [
      "POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve la stratégie d'emplacement compact.

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.

  • IMAGE_PROJECT : projet contenant l'image, par exemple, debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.

  • IMAGE : spécifiez l'une des options suivantes :

    • Version spécifique de l'image de l'OS. Exemple : debian-12-bookworm-v20240617

    • Une famille d'images, qui doit être au format family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiez family/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.

  • MACHINE_TYPE : type de machine compatible pour les stratégies d'emplacement compact.

  • POLICY_NAME : nom d'une stratégie de concentration existante.

  • MAINTENANCE_POLICY : stratégie de maintenance de l'hôte de l'instance. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de 1 ou 2, ou si le type de machine que vous avez choisi n'est pas compatible avec la migration à chaud, vous ne pouvez spécifier que TERMINATE. Sinon, vous pouvez spécifier MIGRATE ou TERMINATE.

Pour en savoir plus sur les options de configuration permettant de créer un modèle d'instance, consultez la page Créer des modèles d'instance.

Appliquer la stratégie aux instances d'un MIG

Après avoir créé un modèle d'instance qui spécifie une stratégie de concentration, vous pouvez utiliser le modèle pour effectuer les opérations suivantes :

Appliquer la stratégie lors de la création d'un groupe d'instances de machine virtuelle (MIG)

Vous ne pouvez créer des instances de calcul qui spécifient une stratégie de concentration que si elles sont situées dans la même région que la stratégie d'emplacement.

Pour créer un MIG à l'aide d'un modèle d'instance qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes :

gcloud

Pour créer un MIG à l'aide d'un modèle d'instance qui spécifie une stratégie de concentration, utilisez la commande gcloud compute instance-groups managed create.

Par exemple, pour créer un MIG zonal à l'aide d'un modèle d'instance global qui spécifie une stratégie d'emplacement compact, exécutez la commande suivante :

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG à créer.

  • SIZE : taille du MIG.

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant qui spécifie une stratégie d'emplacement compact.

  • ZONE : zone dans laquelle créer le MIG, qui doit se trouver dans la région où se trouve la stratégie de concentration.

REST

Pour créer un MIG à l'aide d'un modèle d'instance qui spécifie une stratégie de concentration, envoyez une requête POST à l'une des méthodes suivantes :

Par exemple, pour créer un MIG zonal à l'aide d'un modèle d'instance global qui spécifie une stratégie d'emplacement compact, envoyez une requête POST comme suit :

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE,
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
    }
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouvent la stratégie d'emplacement compact et le modèle d'instance qui spécifie la stratégie d'emplacement.

  • ZONE : zone dans laquelle créer le MIG, qui doit se trouver dans la région où se trouve la stratégie de concentration.

  • INSTANCE_GROUP_NAME : nom du MIG à créer.

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant qui spécifie une stratégie d'emplacement compact.

  • SIZE : taille du MIG.

Pour en savoir plus sur les options de configuration permettant de créer des MIG, consultez la page Scénarios de base pour la création de MIG.

Appliquer la stratégie à un MIG existant

Vous ne pouvez appliquer une stratégie de concentration à un MIG existant que si le MIG se trouve dans la même région que la stratégie de concentration ou, pour les MIG zonaux, dans une zone de la même région que la stratégie de concentration.

Pour mettre à jour un MIG afin d'utiliser un modèle d'instance qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes :

gcloud

Pour mettre à jour un MIG afin d'utiliser un modèle d'instance qui spécifie une stratégie de concentration, exécutez la commande gcloud compute instance-groups managed rolling-action start-update.

Par exemple, pour mettre à jour un MIG zonal afin qu'il utilise un modèle d'instance spécifiant une stratégie de concentration et remplacer les instances existantes du MIG par de nouvelles instances spécifiant les propriétés du modèle, exécutez la commande suivante :

gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
    --version=template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Remplacez les éléments suivants :

  • MIG_NAME : nom d'un MIG existant.

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant qui spécifie une stratégie d'emplacement compact.

  • ZONE : zone où se trouve le MIG. Vous ne pouvez appliquer la stratégie d'emplacement par concentration qu'à un MIG situé dans la même région que la stratégie d'emplacement.

REST

Pour mettre à jour un MIG afin qu'il utilise un modèle d'instance spécifiant une stratégie de concentration et appliquer automatiquement les propriétés du modèle et la stratégie d'emplacement aux instances existantes dans le MIG, envoyez une requête PATCH à l'une des méthodes suivantes :

Par exemple, pour mettre à jour un MIG zonal afin qu'il utilise un modèle d'instance global spécifiant une stratégie de concentration et remplacer les instances existantes du MIG par de nouvelles instances spécifiant les propriétés du modèle, envoyez la requête PATCH suivante :

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouvent le MIG, la stratégie d'emplacement compact et le modèle d'instance qui spécifie la stratégie d'emplacement.

  • ZONE : zone où se trouve le MIG. Vous ne pouvez appliquer la stratégie d'emplacement par concentration qu'à un MIG situé dans la même région que la stratégie d'emplacement.

  • MIG_NAME : nom d'un MIG existant.

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant qui spécifie une stratégie d'emplacement compact.

Pour en savoir plus sur les options de configuration permettant de mettre à jour les instances d'un MIG, consultez Mettre à jour et appliquer de nouvelles configurations aux instances d'un MIG.

Vérifier l'emplacement physique d'une instance

Après avoir appliqué une stratégie de concentration à une instance de calcul, vous pouvez afficher l'emplacement physique de l'instance par rapport aux autres instances. Cette comparaison est limitée aux instances situées dans votre projet et qui spécifient la même stratégie de placement compact. Afficher l'emplacement physique d'une instance vous aide à effectuer les opérations suivantes :

  • Vérifiez que la règle a bien été appliquée.

  • Identifiez les instances les plus proches les unes des autres.

Pour afficher l'emplacement physique d'une instance par rapport aux autres instances qui spécifient la même stratégie de concentration, sélectionnez l'une des options suivantes :

gcloud

Pour afficher l'emplacement physique d'une instance qui spécifie une stratégie de concentration, exécutez la commande gcloud compute instances describe avec l'option --format.

gcloud compute instances describe INSTANCE_NAME \
    --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \
    --zone=ZONE

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom d'une instance existante qui spécifie une stratégie de concentration.

  • ZONE : zone où se trouve l'instance

Le résultat ressemble à ce qui suit :

VM-Position

RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy']
PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA

La valeur du champ PHYSICAL_HOST est composée de trois parties. Ces parties représentent chacune le cluster, le rack et l'hôte où se trouve l'instance.

Lorsque vous comparez la position de deux instances qui utilisent la même stratégie de concentration dans votre projet, plus les instances partagent un grand nombre de parties du champ PHYSICAL_HOST, plus elles sont proches les unes des autres. Par exemple, supposons que deux instances spécifient l'une des valeurs d'exemple suivantes pour le champ PHYSICAL_HOST :

  • /CCCCCCC/xxxxxx/xxxx : les deux instances sont placées dans le même cluster, ce qui correspond à une valeur de distance maximale de 2. Les instances placées dans le même cluster subissent une faible latence du réseau.

  • /CCCCCCC/BBBBBB/xxxx : les deux instances sont placées dans le même rack, ce qui correspond à une valeur de distance maximale de 1. Les instances placées dans le même rack présentent une latence réseau inférieure à celle des instances placées dans le même cluster.

  • /CCCCCCC/BBBBBB/AAAA : les deux instances partagent le même hôte. Les instances placées sur le même hôte minimisent autant que possible la latence réseau.

REST

Pour afficher l'emplacement physique d'une instance qui spécifie une stratégie de concentration, envoyez une requête GET à la méthode instances.get.

GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve l'instance.

  • ZONE : zone où se trouve l'instance

  • INSTANCE_NAME : nom d'une instance existante qui spécifie une stratégie de concentration.

Le résultat ressemble à ce qui suit :

{
  ...
  "resourcePolicies": [
    "https://www.s3nsapis.fr/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy"
  ],
  "resourceStatus": {
    "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx"
  },
  ...
}

La valeur du champ physicalHost est composée de trois parties. Ces parties représentent chacune le cluster, le rack et l'hôte où se trouve l'instance.

Lorsque vous comparez la position de deux instances qui utilisent la même stratégie de concentration dans votre projet, plus les instances partagent un grand nombre de parties du champ physicalHost, plus elles sont proches les unes des autres. Par exemple, supposons que deux instances spécifient l'une des valeurs d'exemple suivantes pour le champ physicalHost :

  • /CCCCCCC/xxxxxx/xxxx : les deux instances sont placées dans le même cluster, ce qui correspond à une valeur de distance maximale de 2. Les instances placées dans le même cluster subissent une faible latence du réseau.

  • /CCCCCCC/BBBBBB/xxxx : les deux instances sont placées dans le même rack, ce qui correspond à une valeur de distance maximale de 1. Les instances placées dans le même rack présentent une latence réseau inférieure à celle des instances placées dans le même cluster.

  • /CCCCCCC/BBBBBB/AAAA : les deux instances partagent le même hôte. Les instances placées sur le même hôte minimisent autant que possible la latence réseau.

Étape suivante