À propos de la flexibilité des instances dans les MIG

La flexibilité des instances dans les groupes d'instances gérés (MIG) vous permet de spécifier plusieurs types de machines pour les instances de machines virtuelles (VM) du groupe, au lieu d'être limité à un seul type de machine. Si un type de machine n'est pas disponible, le MIG peut automatiquement sélectionner un autre type compatible dans votre liste en fonction de la disponibilité actuelle des ressources. Cette flexibilité permet d'améliorer la disponibilité des ressources, en particulier pour les applications pouvant fonctionner sur différents types de machines et nécessitant une capacité à grande échelle ou du matériel très demandé.

Ce document décrit le fonctionnement de la flexibilité des instances dans un MIG, ainsi que ses limites. Pour savoir comment configurer un MIG afin qu'il utilise la flexibilité des instances, consultez Ajouter la flexibilité des instances.

Flexibilité des instances

Un MIG crée toutes ses VM en fonction du modèle d'instance que vous sélectionnez. Le modèle d'instance spécifie le type de machine à utiliser pour chaque VM. Grâce à la flexibilité des instances, vous pouvez lister tous les types de machines compatibles avec votre application.

L'image suivante compare un MIG qui utilise un seul type de machine à un MIG qui utilise la flexibilité des instances. Comme illustré dans l'image, un MIG avec un seul type de machine crée des VM identiques basées sur un modèle d'instance, tandis qu'un MIG avec flexibilité d'instance peut créer des VM avec différents types et tailles de machines.

Comparaison d'un MIG qui utilise un seul type de machine avec un MIG qui utilise la flexibilité des instances

Fonctionnement de la flexibilité des instances

Par défaut, un MIG crée toutes les VM à l'aide d'un seul type de machine à partir du modèle d'instance. Vous pouvez définir plusieurs types de machines dans un MIG en configurant une sélection d'instances (instanceSelections) dans la règle de flexibilité des instances (instanceFlexibilityPolicy).

Si votre charge de travail peut fonctionner sur plusieurs types de machines différents, vous pouvez configurer une liste de tous les types de machines compatibles avec votre application dans un seul instanceSelection comme suit :

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      }
    }
  }
  

Les types de machines d'une sélection d'instances ont la même préférence. Si vous souhaitez qu'un MIG choisisse les types de machines dans un ordre spécifique, vous pouvez configurer plusieurs sélections d'instances, chacune avec une liste de types de machines et un classement pour définir les préférences. Une valeur de classement inférieure signifie une préférence plus élevée. Le MIG tente de créer ses VM à l'aide de types de machines ayant une préférence plus élevée. Si ces types de machines préférés ne sont pas disponibles, le MIG utilise un type de machine avec une préférence inférieure.

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "most-preferred": {
        "rank": 1,
        "machineTypes": ["c3-standard-16","n2-standard-16","c2-standard-16"]
      },
      "least-preferred": {
        "rank": 2,
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      }
    }
  }
  

Votre application doit être prête à s'exécuter sur l'un des types de machines listés, car la disponibilité du matériel change au fil du temps et un matériel spécifique n'est pas garanti, sauf si vous utilisez des réservations.

Comment un MIG sélectionne les types de machines

Lorsque vous configurez plusieurs types de machines, le MIG en sélectionne un en fonction de la disponibilité actuelle des ressources et donne la priorité aux réservations inutilisées. Si vous avez configuré des classements, le MIG tient d'abord compte de votre ordre de préférence. Dans une sélection d'instances classées, le MIG vérifie ensuite la disponibilité des ressources, puis les réservations.

Les zones de la région du MIG peuvent également avoir un impact sur la sélection du type de machine, car la disponibilité des ressources varie d'une zone à l'autre. Pour en savoir plus, consultez la section suivante sur la façon dont un MIG sélectionne des zones.

Comment un MIG sélectionne-t-il des zones ?

Vous pouvez configurer la flexibilité des instances dans un MIG régional dont la forme de distribution cible est BALANCED ou ANY_SINGLE_ZONE. Grâce à la flexibilité des instances, lorsqu'un MIG régional crée une VM, il sélectionne une zone en fonction de la forme de distribution cible sélectionnée, comme suit :

  • BALANCED : le MIG sélectionne une zone avec des ressources disponibles qui peut équilibrer la répartition des VM dans les zones de la manière la plus équitable possible. Dans une zone sélectionnée, le MIG hiérarchise les types de machines en fonction des classements, s'ils sont configurés, et des réservations disponibles.

  • ANY_SINGLE_ZONE : le MIG sélectionne la zone qui comporte le plus de types de machines en fonction des rangs, le cas échéant, et dans laquelle le MIG peut créer le plus de VM à partir des réservations inutilisées.

Pour en savoir plus sur le fonctionnement d'une forme de distribution cible, consultez Forme de distribution cible du MIG régional.

Flexibilité et réservations des instances

Vous pouvez utiliser la flexibilité des instances avec les réservations. Un MIG utilise des réservations basées sur le champ reservationAffinity que vous avez défini dans le modèle d'instance.

Lorsqu'une sélection d'instances comporte plusieurs types de machines, le MIG sélectionne d'abord le type de machine avec une réservation inutilisée. Si vous souhaitez modifier l'ordre dans lequel le MIG sélectionne les types de machines, vous pouvez configurer plusieurs sélections d'instances et spécifier vos préférences à l'aide de classements. Le MIG suit ensuite l'ordre de préférence, puis tient compte des réservations lors de la sélection d'une instance.

Pour en savoir plus sur les réservations, consultez Choisir un type de réservation.

Flexibilité des instances et VM Spot

Si votre MIG avec flexibilité des instances utilise des VM Spot, il sélectionne automatiquement un type de machine avec le taux de préemption le plus faible observé pour minimiser les perturbations de votre charge de travail. Si vous souhaitez remplacer ce comportement, vous pouvez configurer plusieurs sélections d'instances et spécifier votre préférence à l'aide de classements. Le MIG suit ensuite l'ordre de préférence, puis tient compte de la fiabilité des VM Spot lors de la sélection d'une instance.

Pour en savoir plus sur les VM Spot, consultez VM Spot dans un groupe d'instances géré.

Flexibilité des instances et réparation des VM

Par défaut, si une VM d'un MIG échoue, le MIG la répare en la recréant avec la même configuration, y compris le type de machine. Si vous configurez la flexibilité des instances et que le type de machine d'origine de la VM défaillante est temporairement indisponible, le MIG sélectionne un autre type de machine en fonction de la sélection d'instance spécifiée.

Pour en savoir plus sur les réparations, consultez À propos de la réparation des VM pour la haute disponibilité.

Cas d'utilisation

Les sections suivantes décrivent certains cas d'utilisation de la flexibilité des instances dans les MIG.

Optimisation des coûts

Un MIG peut provisionner automatiquement les instances les plus rentables pour votre infrastructure lorsque vous configurez les paramètres de flexibilité des instances de votre MIG comme suit :

  • Types de machines : sélectionnez les types de machines qui offrent le rapport coût/performances idéal pour votre charge de travail. Vous n'avez pas besoin de spécifier toutes les tailles disponibles pour chaque type de machine. Indiquez uniquement celles qui sont les plus rentables pour vos besoins.

  • Classement : attribuez des classements aux sélections d'instances en fonction de vos préférences de coût, le type de machine le moins cher étant le plus préféré. Cela vous permet d'obtenir le type de machine le moins cher en fonction de la disponibilité.

  • Emplacement : lorsque vous créez le MIG, sélectionnez toutes les zones et la forme de distribution cible BALANCED. Cela augmente les chances d'obtenir les types de machines les moins chers dans les zones où ils sont disponibles.

En fonction de vos paramètres de flexibilité des instances, le MIG provisionne automatiquement la meilleure combinaison possible de types de machines disponibles pour répondre à vos critères de coût et à la capacité totale demandée. Cela permet de garantir le coût le plus bas possible à un moment donné.

Améliorer l'obtention

Vous pouvez configurer la flexibilité des instances de MIG pour améliorer l'accessibilité. Pour ce faire, sélectionnez autant de types de machines que possible qui sont compatibles avec votre application dans le même classement. Pour augmenter encore vos chances d'obtenir les ressources, vous pouvez choisir toutes les zones lorsque vous créez votre MIG et utiliser la forme de distribution cible BALANCED, qui donne la priorité aux zones où des ressources sont disponibles. En fonction des types de machines sélectionnés et de la forme BALANCED, le MIG trouve la capacité là où elle est la plus disponible.

Pour maximiser vos chances d'acquérir des VM Spot et réduire le risque de préemption, Google vous recommande d'inclure un large éventail de types de machines dans le même classement. Cela élargit la recherche de capacité disponible du MIG, ce qui permet d'obtenir les meilleurs résultats possible avec le modèle de provisionnement de spot.

Maximiser les performances

Vous pouvez configurer la flexibilité des instances de MIG pour optimiser les performances. Pour ce faire, sélectionnez les familles et les tailles de machines qui conviennent le mieux à votre charge de travail. Classez ensuite les types de machines en fonction de leurs performances, du plus élevé au plus faible, en utilisant la taille la plus recommandée dans chaque famille. En fonction du classement et des types de machines, le MIG sélectionne les machines les plus performantes parmi toutes les ressources disponibles.

Limites

La flexibilité des instances présente les limites suivantes :

Étape suivante