Ce document explique comment créer un groupe d'instances géré (MIG) avec autoscaling qui ajoute et supprime automatiquement des VM en fonction de l'utilisation moyenne du processeur dans le groupe. Par exemple, si l'utilisation du processeur dans le groupe est faible, le groupe supprime automatiquement des VM pour réduire les coûts.
Vous pouvez adapter automatiquement un groupe d'instances géré en fonction de divers types de signaux d'autoscaling. Pour en savoir plus, consultez la présentation de l'autoscaler.
Vous pouvez également découvrir d'autres scénarios de base pour la création d'un MIG.
Avant de commencer
- Créez un modèle d'instance, qui est nécessaire pour créer un groupe d'instances géré.
-
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 :
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Dans Cloud Console, accédez à la page Groupes d'instances.
Accéder à la page "Groupes d'instances"
Les étapes restantes apparaîtront automatiquement dans la console Google Cloud.
-
Si vous disposez d'un groupe d'instances, sélectionnez-le et cliquez sur Modifier. Si vous n'en avez pas, cliquez sur
Créer un groupe d'instances . - Pour créer un nouveau groupe d'instances, attribuez-lui un nom, puis choisissez un modèle d'instance pour le groupe ou créez-en un.
- Si aucune configuration d'autoscaling n'existe, cliquez sur Configurer l'autoscaling sous Autoscaling.
-
Sous
Mode autoscaling , sélectionnez Activé : ajouter et supprimer des instances dans le groupe pour activer l'autoscaling. - Spécifiez le nombre minimal et maximal d'instances que l'autoscaler peut créer dans ce groupe.
-
Si la section Métriques d'autoscaling ne comporte aucune métrique Utilisation du processeur, ajoutez-en une :
-
Cliquez sur
Ajouter une métrique . -
Sous
Type de métrique , sélectionnez Utilisation du processeur. -
Saisissez l'objectif d'utilisation du processeur souhaité. Cette valeur est traitée comme un pourcentage. Par exemple, pour une utilisation du processeur à 75 %, saisissez
75
. -
Sous Autoscaling prédictif, sélectionnez
Désactivé . Pour en savoir plus sur l'autoscaling prédictif et vérifier s'il est adapté à votre charge de travail, consultez la section Effectuer un scaling basé sur des prédictions. - Cliquez sur OK.
-
Cliquez sur
- Vous pouvez utiliser le champ Période d'initialisation pour définir la période d'initialisation, qui indique à l'autoscaler le temps nécessaire à l'initialisation de votre application. Spécifier une période d'initialisation précise améliore les décisions de l'autoscaler. Par exemple, lors d'un scaling horizontal, l'autoscaler ignore les données des VM qui sont toujours en cours d'initialisation, car il est possible que ces VM ne représentent pas encore une utilisation normale de l'application. La période d'initialisation par défaut est de 60 secondes.
- Pour créer le MIG, cliquez sur
Créer . - Apprenez-en plus sur l'autoscaling et les différents types de signaux de scaling que vous pouvez ajouter à une règle d'autoscaling.
- Découvrez comment gérer les autoscalers.
- Configurez l'autoréparation basée sur l'application, qui vérifie périodiquement que votre application répond comme prévu sur chacune des VM du MIG et recrée automatiquement les VM qui ne répondent pas.
- Découvrez comment appliquer une nouvelle configuration à un sous-ensemble ou à l'ensemble des VM d'un MIG en définissant et en appliquant un nouveau modèle d'instance, une configuration sur toutes les instances, ou une configuration par instance.
- Découvrez comment ajouter une interface d'équilibreur de charge HTTP(S) externe à votre groupe d'instances. Consultez la page Présentation de l'équilibrage de charge pour obtenir des informations sur les autres types d'équilibreurs de charge.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
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.
Limites
Pour afficher la liste complète des limites des MIG, qui varie en fonction de la configuration que vous utilisez, consultez la section Limites des MIG.
Créer un MIG et activer l'autoscaling
Utilisez la console Google Cloud, la gcloud CLI, Terraform ou REST.
Console
gcloud
Avant de pouvoir activer l'autoscaling, vous devez créer un MIG. Suivez les instructions pour créer un MIG avec des VM limitées à une seule zone ou créer un MIG avec des VM réparties sur plusieurs zones d'une région.
Utilisez ensuite la sous-commande
set-autoscaling
afin d'activer l'autoscaling pour le groupe. Par exemple, la commande suivante crée un autoscaler dont l'objectif d'utilisation du processeur est de 60 %. Outre le paramètre--target-cpu-utilization
, le paramètre--max-num-replicas
est également obligatoire lors de la création d'un autoscaler.Vous pouvez éventuellement définir
--min-num-replicas
pour indiquer le nombre minimal de VM que vous souhaitez dans le groupe. Si vous ne définissez pas de valeur minimale, le MIG la définit sur 2 par défaut.Vous pouvez utiliser l'option
--cool-down-period
pour définir la période d'initialisation, qui indique à l'autoscaler le temps nécessaire à l'initialisation de votre application. Spécifier une période d'initialisation précise améliore les décisions de l'autoscaler. Par exemple, lors d'un scaling horizontal, l'autoscaler ignore les données des VM qui sont toujours en cours d'initialisation, car il est possible que ces VM ne représentent pas encore une utilisation normale de l'application. La période d'initialisation par défaut est de 60 secondes.gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \ --max-num-replicas 20 \ --target-cpu-utilization 0.60 \ --cool-down-period 90
Si vous le souhaitez, vous pouvez activer l'autoscaling prédictif pour effectuer un scaling horizontal de manière à anticiper la charge prévue. Pour savoir si l'autoscaling prédictif est adapté à votre charge de travail, consultez la section Scaling basé sur les prédictions.
Vous pouvez vérifier que l'autoscaling est activé à l'aide de la commande
instance-groups managed describe
, qui décrit le MIG correspondant et fournit des informations sur les fonctionnalités d'autoscaling de ce groupe :gcloud compute instance-groups managed describe example-managed-instance-group
Terraform
Avant de pouvoir activer l'autoscaling, vous devez créer un MIG. Suivez les instructions pour créer un MIG avec des VM limitées à une seule zone ou créer un MIG avec des VM réparties sur plusieurs zones d'une région.
Pour configurer l'autoscaling dans un MIG, vous pouvez utiliser la ressource
google_compute_autoscaler
.L'exemple suivant configure l'autoscaling en fonction de l'utilisation du processeur dans un MIG zonal.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
REST
Avant de pouvoir activer l'autoscaling, vous devez créer un MIG avec des VM limitées à une seule zone ou créer un MIG avec des VM réparties sur plusieurs zones d'une région.
Si vous disposez d'un MIG zonal, envoyez une requête
POST
à la méthodeautoscalers.insert
. Si vous disposez d'un MIG régional, utilisez la méthoderegionAutoscalers.insert
.Exemple :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/
Le corps de votre requête doit contenir les champs
name
,target
etautoscalingPolicy
. Le champautoscalingPolicy
doit définir vos valeurscpuUtilization
etmaxNumReplicas
cibles.Vous pouvez éventuellement définir
minNumReplicas
pour indiquer le nombre minimal de VM que vous souhaitez dans le groupe. Si vous ne définissez pas de valeur minimale, le MIG la définit sur 2 par défaut.Vous pouvez utiliser le champ
coolDownPeriodSec
pour définir la période d'initialisation, qui indique à l'autoscaler le temps nécessaire à l'initialisation de votre application. Spécifier une période d'initialisation précise améliore les décisions de l'autoscaler. Par exemple, lors d'un scaling horizontal, l'autoscaler ignore les données des VM qui sont toujours en cours d'initialisation, car il est possible que ces VM ne représentent pas encore une utilisation normale de l'application. La période d'initialisation par défaut est de 60 secondes.{ "name": "example-autoscaler", "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group", "autoscalingPolicy": { "maxNumReplicas": 10, "cpuUtilization": { "utilizationTarget": 0.6 }, "coolDownPeriodSec": 90 } }
Si vous le souhaitez, vous pouvez activer l'autoscaling prédictif pour effectuer un scaling horizontal de manière à anticiper la charge prévue. Pour savoir si l'autoscaling prédictif est adapté à votre charge de travail, consultez la section Scaling basé sur les prédictions.
Pour en savoir plus sur l'activation de l'autoscaling en fonction de l'utilisation du processeur, consultez la page Effectuer un autoscaling basé sur l'utilisation du processeur.
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/22 (UTC).
-