Ajouter de la flexibilité aux instances


Ce document explique comment ajouter une flexibilité d'instance qui vous permet de définir plusieurs types de machines dans un MIG.

Vous pouvez ajouter de la flexibilité aux instances lorsque vous créez un MIG ou en modifiant un MIG existant. Pour ajouter cette flexibilité, configurez une règle de flexibilité des instances dans le MIG. La stratégie remplace le type de machine spécifié dans le modèle d'instance. Chaque fois que le MIG crée une instance de machine virtuelle (VM), il sélectionne automatiquement l'un des types de machines que vous avez listés dans la règle en fonction de la disponibilité des ressources. Vous pouvez également attribuer des niveaux aux listes de types de machines pour indiquer vos préférences.

Pour savoir comment la flexibilité des instances fonctionne dans un MIG, consultez la section À propos de la flexibilité des instances.

Avant de commencer

  • Assurez-vous de choisir des types de machines compatibles avec la région où se trouve votre MIG. Pour connaître les types de machines disponibles dans une région, consultez la section Régions et zones disponibles.
  • 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 Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Créer un MIG avec la flexibilité des instances

Avant de créer un MIG, vous devez d'abord créer un modèle d'instance, si vous n'en avez pas déjà un. Vous pouvez ensuite créer un MIG avec la flexibilité des instances pour remplacer le type de machine spécifié dans le modèle d'instance.

Créez un MIG avec la flexibilité des instances de l'une des manières suivantes:

Créer un MIG avec plusieurs types de machines

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur Créer un groupe d'instances.

  3. Dans le champ Nom, saisissez un nom pour le MIG.

  4. Dans la liste Modèle d'instance, sélectionnez le modèle d'instance que vous souhaitez utiliser pour le MIG.

  5. Avant de pouvoir spécifier le nombre d'instances et ajouter des sélections d'instances, vous devez procéder comme suit:

    1. Définissez un emplacement comme suit:

      1. Faites défiler la page jusqu'à la section Emplacement, puis sélectionnez Plusieurs zones.

      2. Dans les menus déroulants Régions et Zones, sélectionnez une région et les zones dans lesquelles vous souhaitez créer les VM dans le MIG. Si vous avez sélectionné un modèle d'instance régional, la région de ce modèle est sélectionnée par défaut.

      3. Dans le champ Forme de distribution cible, sélectionnez Équilibrée ou Une des zones.

      4. Dans la boîte de dialogue qui s'affiche, cliquez sur Désactiver la redistribution des instances.

    2. Supprimez la configuration d'autoscaling comme suit:

      1. Dans la section Autoscaling (Autoscaling), dans le menu déroulant Mode d'autoscaling, cliquez sur Supprimer la configuration d'autoscaling.

      2. Dans la boîte de dialogue qui s'affiche, cliquez sur Supprimer.

    3. Faites défiler la page jusqu'au champ Nombre d'instances.

  6. Dans le champ Nombre d'instances, spécifiez le nombre de VM que vous souhaitez inclure dans le groupe.

  7. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections d'instances.

    La fenêtre Sélections d'instances s'ouvre.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection d'une nouvelle instance, procédez comme suit:

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans la section Types de machines, cliquez sur Ajouter un type de machine, sélectionnez un type de machine que vous souhaitez ajouter dans la sélection d'instances, puis cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      3. Une fois que vous avez ajouté les types de machines à la sélection d'instances, cliquez sur OK.

  8. Dans la fenêtre Sélections d'instances, cliquez sur OK.

  9. Conservez les paramètres par défaut des autres champs ou modifiez-les si nécessaire.

  10. Cliquez sur Créer.

gcloud

Pour créer un MIG régional avec plusieurs types de machines, utilisez la commande instance-groups managed create (bêta) comme suit:

gcloud beta compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur any-single-zone. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution any-single-zone et incluez l'indicateur --zones ZONE.

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION: région dans laquelle vous souhaitez créer le MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • INSTANCE_TEMPLATE : nom du modèle d'instance.
  • SHAPE : forme de distribution cible. La valeur peut être balanced ou any-single-zone. Les autres formes de distribution cible ne sont pas acceptées.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG (par exemple, n1-standard-16,n2-standard-16,e2-standard-16).

REST

Pour créer un MIG régional avec plusieurs types de machines, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert bêta.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ]
      }
    }
  }
}

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur ANY_SINGLE_ZONE. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution ANY_SINGLE_ZONE et incluez le champ distributionPolicy.zones[].zone dans la requête.

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID de votre projet.
  • REGION: région dans laquelle vous souhaitez créer le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • INSTANCE_TEMPLATE_URL: URL du modèle d'instance.
  • SHAPE : forme de distribution cible. La valeur peut être BALANCED ou ANY_SINGLE_ZONE. Les autres formes de distribution cible ne sont pas acceptées.
  • INSTANCE_SELECTION: nom de la liste des types de machines.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG (par exemple, "n1-standard-16","n2-standard-16","e2-standard-16").

Créer un MIG avec plusieurs types de machines et préférences

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur Créer un groupe d'instances.

  3. Dans le champ Nom, saisissez un nom pour le MIG.

  4. Dans la liste Modèle d'instance, sélectionnez le modèle d'instance que vous souhaitez utiliser pour le MIG.

  5. Avant de pouvoir spécifier le nombre d'instances et ajouter des sélections d'instances, vous devez procéder comme suit:

    1. Définissez un emplacement comme suit:

      1. Faites défiler la page jusqu'à la section Emplacement, puis sélectionnez Plusieurs zones.

      2. Dans les menus déroulants Régions et Zones, sélectionnez une région et les zones dans lesquelles vous souhaitez créer les VM dans le MIG. Si vous avez sélectionné un modèle d'instance régional, la région de ce modèle est sélectionnée par défaut.

      3. Dans le champ Forme de distribution cible, sélectionnez Équilibrée ou Une des zones.

      4. Dans la boîte de dialogue qui s'affiche, cliquez sur Désactiver la redistribution des instances.

    2. Supprimez la configuration d'autoscaling comme suit:

      1. Dans la section Autoscaling (Autoscaling), dans le menu déroulant Mode d'autoscaling, cliquez sur Supprimer la configuration d'autoscaling.

      2. Dans la boîte de dialogue qui s'affiche, cliquez sur Supprimer.

    3. Faites défiler la page jusqu'au champ Nombre d'instances.

  6. Dans le champ Nombre d'instances, spécifiez le nombre de VM que vous souhaitez inclure dans le groupe.

  7. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections d'instances.

    La fenêtre Sélections d'instances s'ouvre. Répétez les étapes suivantes pour chaque sélection d'instance que vous souhaitez ajouter dans le MIG.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection d'une nouvelle instance, procédez comme suit:

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans le champ Classement, saisissez l'ordre de préférence parmi les sélections d'instances que vous ajoutez pour le MIG.

      3. Dans la section Types de machines, cliquez sur Ajouter un type de machine, sélectionnez un type de machine que vous souhaitez ajouter dans la sélection d'instances, puis cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      4. Une fois que vous avez ajouté les types de machines à la sélection d'instances, cliquez sur OK.

  8. Une fois les instances sélectionnées, cliquez sur OK.

  9. Conservez les paramètres par défaut des autres champs ou modifiez-les si nécessaire.

  10. Cliquez sur Créer.

gcloud

Pour créer un MIG régional avec plusieurs types de machines et préférences, utilisez la commande instance-groups managed create (bêta).

gcloud beta compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
    --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur any-single-zone. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution any-single-zone et incluez l'indicateur --zones ZONE.

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • INSTANCE_TEMPLATE : nom du modèle d'instance.
  • SHAPE : forme de distribution cible. La valeur peut être balanced ou any-single-zone. Les autres formes de distribution cible ne sont pas acceptées.
  • INSTANCE_SELECTION: nom de la liste des types de machines. Vous pouvez ajouter plusieurs listes avec des préférences différentes.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG.

REST

Pour créer un MIG régional avec plusieurs types de machines, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert bêta.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4",
          ...
        ],
        "rank": RANK_2
      },
      ...
    }
  }
}

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur ANY_SINGLE_ZONE. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution ANY_SINGLE_ZONE et incluez le champ distributionPolicy.zones[].zone dans la requête.

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID de votre projet.
  • REGION: région dans laquelle vous souhaitez créer le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • INSTANCE_TEMPLATE_URL: URL du modèle d'instance.
  • SHAPE : forme de distribution cible. La valeur peut être BALANCED ou ANY_SINGLE_ZONE.
  • ZONE: zone dans laquelle vous souhaitez créer le MIG. Utilisez ce champ si vous souhaitez créer un MIG régional dans une zone spécifique. Sinon, vous pouvez ignorer ce champ.
  • INSTANCE_SELECTION: nom de la liste des types de machines. Vous pouvez ajouter plusieurs listes avec des préférences différentes.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG.
  • RANK: nombre représentant l'ordre de préférence. Une valeur inférieure signifie une préférence plus élevée.

Ajouter la flexibilité des instances à un MIG existant

Vous pouvez ajouter de la flexibilité aux instances d'un MIG existant. Si le MIG contient déjà des VM, vous devez les supprimer en redimensionnant le MIG à 0. Vous pouvez ensuite définir plusieurs types de machines dans le MIG. Vous pouvez également définir des préférences pour certains types de machines.

Si vous souhaitez ajouter une sélection d'instances à une règle de flexibilité des instances existante, consultez la section Modifier la configuration de flexibilité des instances.

Définir plusieurs types de machines

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur le nom du MIG dans lequel vous souhaitez définir plusieurs types de machines.

  3. Cliquez sur Modifier.

  4. Dans le champ Nombre d'instances, si le nombre n'est pas déjà 0, définissez-le sur 0.

  5. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections d'instances.

    La fenêtre Sélections d'instances s'ouvre.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection d'une nouvelle instance, procédez comme suit:

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans la section Types de machines, cliquez sur Ajouter un type de machine, sélectionnez un type de machine que vous souhaitez ajouter dans la sélection d'instances, puis cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      3. Une fois que vous avez ajouté les types de machines à la sélection d'instances, cliquez sur OK.

  6. Dans la fenêtre Sélections d'instances, cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

Pour définir plusieurs types de machines dans un MIG, utilisez la commande bêta instance-groups managed update.

gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --size 0 \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME: nom du MIG dans lequel vous souhaitez ajouter de la flexibilité aux instances.
  • REGION : région où se trouve le MIG.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG (par exemple, n1-standard-16,n2-standard-16,e2-standard-16).

REST

Pour définir plusieurs types de machines dans un MIG, envoyez une requête PATCH à la méthode bêta regionInstanceGroupManagers.patch.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "targetSize": 0,
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
    "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
          ...
        ]
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID de votre projet.
  • REGION : région où se trouve le MIG.
  • INSTANCE_GROUP_NAME: nom du MIG dans lequel vous souhaitez ajouter de la flexibilité aux instances.
  • INSTANCE_SELECTION: nom de la liste des types de machines.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG (par exemple, "n1-standard-16","n2-standard-16","e2-standard-16").
  • RANK: nombre représentant l'ordre de préférence. Une valeur inférieure signifie une préférence plus élevée.

Définir plusieurs types de machines et préférences

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur le nom du MIG dans lequel vous souhaitez définir plusieurs types de machines.

  3. Cliquez sur Modifier.

  4. Dans le champ Nombre d'instances, si le nombre n'est pas déjà 0, définissez-le sur 0.

  5. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections d'instances.

    La fenêtre Sélections d'instances s'ouvre. Répétez les étapes suivantes pour chaque sélection d'instance que vous souhaitez ajouter dans le MIG.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection d'une nouvelle instance, procédez comme suit:

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans le champ Classement, saisissez l'ordre de préférence parmi les sélections d'instances que vous ajoutez pour le MIG.

      3. Dans la section Types de machines, cliquez sur Ajouter un type de machine, sélectionnez un type de machine que vous souhaitez ajouter dans la sélection d'instances, puis cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      4. Une fois que vous avez ajouté les types de machines à la sélection d'instances, cliquez sur OK.

  6. Une fois les instances sélectionnées, cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

Pour définir plusieurs types de machines avec des préférences dans un MIG, utilisez la commande bêta instance-groups managed update.

gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --size 0 \
    --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
    --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME: nom du MIG dans lequel vous souhaitez ajouter de la flexibilité aux instances.
  • REGION : région où se trouve le MIG.
  • INSTANCE_SELECTION: nom de la liste des types de machines. Vous pouvez ajouter plusieurs listes avec des préférences différentes.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG.

REST

Pour définir plusieurs types de machines avec des préférences dans un MIG, utilisez la méthode regionInstanceGroupManagers.patch (bêta).

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "targetSize": 0,
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4"
        ],
        "rank": RANK_2
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID de votre projet.
  • REGION : région où se trouve le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • INSTANCE_SELECTION: nom de la liste des types de machines. Vous pouvez ajouter plusieurs listes avec des préférences différentes.
  • MACHINE_TYPE: types de machines que vous souhaitez configurer dans le MIG.

Étape suivante