La forme la plus simple d'autoscaling consiste à faire évoluer un groupe d'instances géré (MIG) en fonction de l'utilisation du processeur de ses instances.
Vous pouvez également effectuer l'autoscaling d'un groupe d'instances géré en fonction de la capacité de diffusion de l'équilibrage de charge, des métriques Monitoring ou des planifications.
Avant de commencer
- Examinez les limites de l'autoscaler.
- Découvrez les principes de base de l'autoscaler.
-
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Dans la console, accédez à la page Groupes d'instances.
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.
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 au groupe pour activer l'autoscaling.
Spécifiez le nombre minimal et maximal d'instances que l'autoscaler doit créer dans ce groupe.
Dans la section Signaux d'autoscaling, si une métrique Utilisation du processeur n'existe pas encore, ajoutez-en une:
- Cliquez sur Ajouter un signal.
- Dans la liste déroulante Type de signal, sélectionnez Utilisation du processeur.
- Saisissez l'utilisation du processeur cible souhaitée. 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 Scaling basé sur les prédictions.
- Cliquez sur OK.
Vous pouvez utiliser la période d'initialisation pour indiquer à 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.
Cliquez sur Enregistrer.
- Découvrez comment activer l'autoscaling prédictif.
- Découvrez comment gérer les autoscalers.
- Découvrez comment les autoscalers prennent des décisions.
- Découvrez comment utiliser plusieurs signaux d'autoscaling pour effectuer un scaling de votre groupe.
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.
Effectuer un autoscaling basé sur l'utilisation du processeur
Vous pouvez procéder à un autoscaling en fonction de l'utilisation moyenne du processeur d'un groupe d'instances géré. L'utilisation de cette stratégie permet à l'autoscaler de collecter les données d'utilisation du processeur associées aux instances du groupe et de déterminer si un scaling est nécessaire. Vous définissez l'utilisation du processeur cible que l'autoscaler doit gérer et l'autoscaler s'occupe de maintenir ce niveau.
L'autoscaler traite l'objectif d'utilisation du processeur comme une fraction de l'utilisation moyenne de tous les processeurs virtuels au fil du temps dans le groupe d'instances. Si l'utilisation moyenne de l'ensemble de vos processeurs virtuels dépasse l'utilisation cible, l'autoscaler ajoute des instances de VM. Si l'utilisation moyenne de l'ensemble de vos processeurs virtuels est inférieure à l'utilisation cible, l'autoscaler supprime des instances. Par exemple, définir une utilisation cible de 0,75 indique à l'autoscaler de maintenir une utilisation moyenne de 75 % parmi tous les processeurs virtuels du groupe d'instances.
Vous pouvez également effectuer un scaling en fonction de l'utilisation prévue du processeur. Pour plus d'informations et pour savoir si cette méthode est adaptée à votre charge de travail, consultez la section Scaling basé sur les prédictions.
Activer l'autoscaling basé sur l'utilisation du processeur
Console
gcloud
Utilisez la sous-commande
set-autoscaling
pour activer l'autoscaling pour un groupe d'instances géré. 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 :gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \ --max-num-replicas 20 \ --target-cpu-utilization 0.60 \ --cool-down-period 90
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.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 sous-commande
instance-groups managed describe
, qui décrit le groupe d'instances géré correspondant et fournit des informations sur les fonctionnalités d'autoscaling de ce groupe d'instances :gcloud compute instance-groups managed describe example-managed-instance-group
Pour obtenir la liste des commandes et indicateurs
gcloud
disponibles, consultez la référencegcloud
.REST
Pour créer un autoscaler, utilisez la méthode
autoscalers.insert
pour un MIG zonal ou la méthoderegionAutoscalers.insert
pour un MIG régional.L'exemple suivant crée un autoscaler pour un MIG zonal :
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
.autoscalingPolicy
doit définircpuUtilization
etmaxNumReplicas
.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.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.
{ "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 } }
Pour plus d'informations sur l'activation de l'autoscaling en fonction de l'utilisation du processeur, suivez le tutoriel Utiliser l'autoscaling pour des applications hautement évolutives.
Comment l'autoscaler gère une utilisation intensive du processeur
En période d'utilisation intensive du processeur, si le taux d'utilisation approche des 100 %, l'autoscaler estime que le groupe est peut-être déjà surchargé. Dans ce cas, l'autoscaler augmente le nombre de machines virtuelles de 50 % au maximum.
É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/12/22 (UTC).
-