Appliquer des recommandations de types de machines aux MIG


Compute Engine fournit des recommandations de type de machine pour les groupes d'instances gérés (MIG, Managed Instance Groups), qui vous aideront à améliorer les performances des charges de travail et la rentabilité. Utilisez ces recommandations pour déterminer si vous devez redimensionner le type de machine de vos instances pour ajouter ou supprimer des ressources de processeur virtuel et de mémoire.

Pour en savoir plus sur les types de machines disponibles pour les instances de VM, consultez la documentation liée aux types de machines.

Les recommandations de types de machines sont également appelées recommandations de dimensionnement.

Avant de commencer

  • Consultez la documentation sur Google Cloud Console.
  • 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 comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    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 Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

Restrictions

Des recommandations sont disponibles pour les groupes d'instances gérés qui se trouvent dans une seule zone et qui ne font l'objet ni d'un autoscaling, ni d'un équilibrage de charge.

Tarifs

Les recommandations de types de machines sont disponibles gratuitement. Si vous appliquez une recommandation visant à redimensionner le type de machine de votre instance, vous payez pour le type de machine choisi.

Cas d'utilisation

Vous pouvez bénéficier de recommandations de types de machines dans les conditions de charges de travail suivantes:

  • Des charges de travail avec des augmentations et des diminutions périodiques du trafic, telles que des charges de travail susceptibles de générer du trafic saisonnier.
  • Des charges de travail sous-utilisées dans le processeur et la mémoire RAM, car limitées par d'autres restrictions, telles que le débit en lecture/écriture.
  • les charges de travail qui exécutent des logiciels nécessitant des licences logicielles individuelles et qui ne peuvent plus ajouter d'instances ; Dans ce cas, vous pouvez vous fier aux recommandations de type de machine pour adapter vos types de machines tout en maintenant le nombre d'instances de VM.
  • Des charges de travail dans l'incapacité de s'adapter dynamiquement à un nombre fluctuant d'instances, telles que les charges de travail non compatibles avec l'autoscaling.

Les recommandations de type de machine peuvent ne pas vous intéresser pour l'une des raisons suivantes:

  • Vos charges de travail présentent de très brefs pics d'utilisation du processeur. Les recommandations de dimensionnement étant basées sur l'utilisation moyenne du processeur à des intervalles de 60 secondes, il est possible que les recommandations ne soient pas générées assez rapidement pour capturer des pics d'une plus courte durée. Les applications présentant de courts pics d'utilisation de processeur peuvent avoir besoin de fonctionner sur un type de machine plus important que celui recommandé. Vous pouvez également activer l'autoscaling pour faire face à ces pics.
  • Vos pics de charge se produisent moins d'une fois tous les huit jours (par exemple, une fois par mois). L'algorithme de dimensionnement ne prend pas en compte les pics peu fréquents. Il ne consulte que les huit derniers jours de l'historique.
  • Chaque instance de votre MIG traite une charge de travail très différente des autres. Dans ce cas, les recommandations sont optimisées pour les instances de VM ayant la charge la plus élevée, ce qui peut provoquer le surdimensionnement de la plupart des instances de VM du groupe.
  • Votre MIG contient des VM sous-exploitées, car il ne fournit pas de charge en direct, mais une capacité de basculement prête à l'emploi.
  • Votre MIG contient des VM surdimensionnées pour l'une des raisons suivantes :
    • Votre licence logicielle requiert une taille de machine minimale.
    • Vous devez répondre aux conditions requises pour les IOPS de stockage ou de mise en réseau qui ne sont disponibles qu'avec un type de machine minimal.

Fonctionnement des recommandations de types de machines

Compute Engine surveille l'utilisation du processeur et de la mémoire des VM en cours d'exécution. Il émet des recommandations d'après les huit derniers jours de données. Afin de recommander le meilleur type de machine unique pour toutes les instances d'un groupe d'instances géré, Compute Engine propose une recommandation de dimensionnement standard pour des instances individuelles. Une fois les anomalies ajustées, il choisit un type de machine qui ne sous-dimensionne aucune instance de VM unique. Les instances qui ne sont pas en cours d'exécution, comme les instances de VM arrêtées ou en cours de redémarrage, ne sont pas prises en compte dans le calcul.

Compute Engine peut émettre des recommandations semblables à celles-ci :

  • Si la plupart du temps votre groupe d'instances a peu utilisé les processeurs, Compute Engine recommandera un type de machine comportant moins de processeurs virtuels.
  • Si la plupart du temps votre groupe d'instances a beaucoup utilisé les processeurs, Compute Engine recommandera un type de machine comportant davantage de processeurs virtuels.
  • Si votre groupe d'instances n'a pas utilisé une grande partie de sa mémoire, Compute Engine recommandera un type de machine avec moins de mémoire.
  • Si la plupart du temps votre groupe d'instances a utilisé intensivement une grande partie de sa mémoire, Compute Engine recommandera un type de machine comportant davantage de mémoire.

Compute Engine peut recommander d'utiliser un type de machine standard ou personnalisé. Sachez qu'il existe des limitations relatives à la quantité de mémoire et de processeurs virtuels disponibles sur une machine. Par exemple, l'augmentation d'une ressource peut nécessiter l'augmentation d'une autre ressource au même moment pour que les spécifications d'un type de machine valide soient respectées. En outre, Compute Engine ne recommande que les types de machines disponibles dans la zone où l'instance est en cours d'exécution.

Pour en savoir plus, consultez les spécifications relatives au type de machine personnalisé.

Si la charge de travail du groupe d'instances géré varie beaucoup entre les instances, certaines d'entre elles peuvent être surdimensionnées afin que les instances pleinement utilisées disposent de ressources suffisantes conformément à la recommandation. Par exemple, Compute Engine peut formuler les recommandations suivantes pour prendre en charge la charge de travail de l'instance 4, même si les instances 1, 2, 3 et 5 sont surdimensionnées et sous-utilisées :

Recommandations émises pour un groupe d'instances géré
Exemple de surdimensionnement dû à des charges de travail différentes parmi les instances gérées

C'est pourquoi les recommandations pour le groupe d'instances géré fonctionnent mieux lorsque la charge de travail des instances est raisonnablement répartie.

Pour les estimations de différence de coût, le coût d'un groupe d'instances est basé sur l'utilisation au cours de la semaine précédente (avant la remise automatique proportionnelle à une utilisation soutenue) et est extrapolé à 30 jours. Cette valeur est ensuite comparée au coût mensuel du type de machine recommandé (avant la remise automatique proportionnelle à une utilisation soutenue). Pour plus de détails, consultez la documentation sur les tarifs.

Afficher les recommandations de types de machines

Compute Engine émet des recommandations via Google Cloud Console. Vous pouvez consulter les recommandations de type de la machine via l'outil de recommandation à l'aide de la gcloud CLI ou de REST.

Console

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

    Accéder à la page Groupes d'instances

  2. Sélectionnez le projet et cliquez sur Continuer.
  3. Dans la colonne Recommendation (Recommandation), examinez les recommandations relatives aux groupes d'instances individuelles gérés. Vous pouvez également trier la colonne en fonction du montant des économies estimées. Si aucune recommandation ne s'affiche à côté des groupes d'instances, cela signifie que Compute Engine n'en propose aucune.

    Colonne de recommandations.

  4. Si votre groupe d'instances comporte deux modèles d'instance, Compute Engine formule des recommandations pour chacun d'entre eux. Cliquez sur une recommandation pour afficher les recommandations du modèle d'instance correspondant.

    Recommandations pour plusieurs modèles

gcloud

Exécutez la commande gcloud recommender recommendations list, puis spécifiez le service de recommandation de redimensionnement de groupe d'instances de VM géré.

gcloud recommender recommendations list \
      --recommender=google.compute.instanceGroupManager.MachineTypeRecommender \
      --project [PROJECT_ID] \
      --location [ZONE] \
      --format=yaml

Exemple :

gcloud recommender recommendations list \
    --recommender=google.compute.instanceGroupManager.MachineTypeRecommender \
    --project my-project \
    --location us-central1-a \
    --format=yaml

La réponse inclut les champs suivants pour chaque recommandation :


---
content:
  ...
  operationGroups:
  - operations:
    - action: test
      path: /properties/machineType
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/my-old-template
      resourceType: compute.googleapis.com/InstanceTemplate
      value: n1-standard-4
    - action: copy
      path: /
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      sourcePath: /
      sourceResource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/my-old-template
    - action: replace
      path: /name
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      value: $new-it-name
    - action: replace
      path: /properties/machineType
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      value: custom-2-5632
  - operations:
    - action: replace
      path: /versions/*/name
      pathValueMatchers:
        versions/*/instanceTemplate:
          matchesPattern: .*global/instanceTemplates/my-old-template
      resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instanceGroupManagers/example-group
      resourceType: compute.googleapis.com/InstanceGroupManager
      value: global/instanceTemplates/$new-it-name
...
description: Save cost by changing machine type from n1-standard-4 to custom-2-5120.
...
name: projects/823742397239/locations/us-central1-a/recommenders/google.compute.instanceGroupManager.MachineTypeRecommender/recommendations/c50a1c41-7e65-417d-a32e-45248a2cb318
...

Pour en savoir plus, consultez la documentation sur le service de recommandation.

REST

Utilisez l'API Recommender avec l'ID de l'outil de recommandation du type de machine pour les MIG.

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

La réponse inclut les champs suivants pour chaque recommandation :

  • name : nom de la recommandation
  • description : explication de la recommandation, dans un format lisible
  • operationGroups : groupes d'opérations que vous pouvez effectuer dans un ordre sérialisé pour appliquer la recommandation

Pour en savoir plus, consultez la documentation sur le service de recommandation.

Lorsque vous créez un groupe d'instances géré, les recommandations pour le nouveau groupe sont visibles 24 heures après la création du groupe.

Par la suite, les recommandations sont actualisées à intervalles réguliers tout au long de la journée.

Appliquer des recommandations aux groupes d'instances

Si vous souhaitez appliquer les recommandations émises par Compute Engine, vous pouvez redimensionner les instances gérées directement à partir de la console. Vous pouvez également effectuer manuellement les opérations de redimensionnement. L'API Recommender renvoie une série d'opérations de redimensionnement. Pour en savoir plus, consultez la section Groupes d'opérations.

Lorsque vous appliquez une recommandation à un groupe d'instances géré, vous effectuez les opérations suivantes :

  1. Vous clonez les modèles d'instance utilisés par le groupe d'instances géré.
  2. Vous modifiez les modèles d'instance clonés en fonction des recommandations et des modifications que vous apportez.
  3. Il applique le nouveau modèle à l'aide du programme de mise à jour de groupes d'instances gérés. Si le groupe d'instances possède deux modèles d'instance, voici ce qui se produit :

    1. Les recommandations s'appliquent pour un modèle d'instance à la fois.
    2. Un groupe d'instances géré ne peut disposer que de deux modèles d'instance à la fois. Vous ne pouvez donc pas appliquer de recommandation tout en conservant deux autres modèles d'instance. Toutefois, vous pouvez appliquer une recommandation si votre groupe d'instances ne dispose que d'un seul modèle d'instance.

Pour redimensionner des instances gérées directement depuis la console :

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur le texte de la recommandation pour le groupe d'instances que vous souhaitez mettre à jour.

    Sélectionner une colonne de recommandation

  3. Une fenêtre contextuelle contenant plus de détails s'affiche. Plusieurs options sont proposées : Annuler, Ignorer la recommandation ou Continuer. Pour examiner et appliquer la recommandation, cliquez sur Continuer.

  4. Sur la page Examiner la recommandation, la recommandation est expliquée en détail. Si vous poursuivez, Compute Engine met à jour vers le nouveau modèle toutes les instances du groupe qui utilisent l'ancien modèle.

  5. (Avancé) Pour personnaliser le déploiement du nouveau modèle dans vos instances, cliquez sur Personnaliser le déploiement. L'écran Configuration du déploiement s'affiche.

    1. Si vous souhaitez supprimer et créer activement des instances à l'aide du nouveau modèle d'instance, sélectionnez Automatique. Si vous souhaitez n'appliquer la mise à jour que lorsque l'instance est créée par d'autres moyens, par exemple lors d'un redimensionnement ou lorsqu'une nouvelle instance est ajoutée au groupe, sélectionnez Sélection.
    2. Si vous sélectionnez les mises à jour automatiques, choisissez si vous souhaitez Conserver les noms des instances lors du remplacement d'instances.
      • Si vous choisissez de conserver les noms des instances, sous Instances supplémentaires temporaires, indiquez le nombre d'instances supplémentaires temporaires à créer au-delà de la taille cible du groupe d'instances géré. Plus vous autorisez d'instances, plus votre mise à jour est rapide, au prix des instances supplémentaires. La valeur par défaut correspond à une instance supplémentaire.
    3. Sous Nombre maximal d'instances indisponibles, choisissez le nombre d'instances pouvant être hors connexion simultanément au cours de cette mise à jour. Ce nombre inclut également toute instance indisponible pour d'autres raisons. Par exemple, si le groupe d'instances est en cours de redimensionnement, les instances en cours de création peuvent être indisponibles et, par conséquent, incluses dans ce nombre. La valeur par défaut correspond à une instance indisponible à la fois.
    4. Facultatif : Développez Afficher les options avancées. Sous Durée d'attente minimale, choisissez le nombre de secondes à attendre avant de marquer une nouvelle instance comme mise à jour. Cette durée commence une fois la vérification de l'état réussie. Contrôlez le taux auquel le modèle d'instance est appliqué à l'aide de cette fonctionnalité.
  6. Pour appliquer les modifications, cliquez sur Enregistrer.

  7. Lorsque vous êtes prêt à déployer les modifications, cliquez sur Déployer.

Ignorer des recommandations

Lorsque vous avez terminé d'utiliser une recommandation, vous pouvez l'ignorer depuis la console. Dans la console, cette action supprime la recommandation de l'estimation des économies totales et minimise également son apparence en la grisant.

Lorsqu'une recommandation est ignorée via la console, cela n'a pas d'incidence sur la liste de recommandations renvoyée par l'API Recommender. Pour gérer l'état des recommandations renvoyées par l'API Recommender, consultez la page Utiliser l'API.

Pour ignorer une seule recommandation depuis la console, procédez comme suit :

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur le texte de la recommandation que vous voulez ignorer. Une fenêtre contextuelle affiche plus de détails et le bouton Ignorer.

  3. Cliquez sur Ignorer.

Pour restaurer une recommandation dans la console, procédez comme suit :

  1. Sur la page Groupes d'instances, cliquez sur le texte de recommandation grisé à restaurer.

    Recommandation ignorée

  2. Une fenêtre contextuelle affiche plus de détails et le bouton Restaurer.

  3. Cliquez sur Restaurer.

Utiliser l'agent de surveillance pour des recommandations plus précises

Cloud Monitoring propose un agent de surveillance qui collecte des métriques de disque, de processeur, de réseau et de processus supplémentaires à partir de vos instances de VM. Vous pouvez installer l'agent de surveillance sur les instances de VM pour qu'il puisse accéder aux ressources système et aux services d'application permettant de recueillir ces données.

Si l'agent de surveillance est installé et s'exécute sur une instance de VM, les métriques de processeur et de mémoire qu'il collecte sont automatiquement utilisées afin de calculer les recommandations de dimensionnement. Les métriques de l'agent de surveillance permettent de mieux comprendre l'utilisation des ressources de l'instance par rapport aux métriques par défaut de Compute Engine. De cette façon, le moteur de recommandations peut mieux estimer les besoins en ressources et émettre des recommandations plus précises.

Pour installer l'agent, consultez la page Installer l'agent Cloud Monitoring.

Étape suivante