Si vous utilisez des groupes d'instances gérés (MIG), consultez ce document pour apprendre à créer, configurer et supprimer l'autoscaler de votre MIG.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Cloud de Confiance by S3NS . 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 :
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 Cloud de Confiance pour accéder aux services Cloud de Confiance by S3NS et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .
Créer un autoscaler
La création d'un autoscaler est légèrement différente selon la règle d'autoscaling que vous souhaitez utiliser. Pour en savoir plus sur la création d'un autoscaler, consultez les pages :
- Scaling basé sur l'utilisation du processeur
- Scaling basé sur la capacité de diffusion de l'équilibrage de charge
- Scaling basé sur les métriques Cloud Monitoring
- Scaling basé sur les planifications
Obtenir des informations sur un autoscaler
Pour en savoir plus sur un autoscaler particulier, utilisez la console, la sous-commande gcloud compute instance-groups managed describe ou la méthode get pour une ressource REST d'autoscaler zonale ou régionale.
Console
- Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
- Cliquez sur le nom d'un groupe d'instances géré dans la liste afin d'ouvrir la page de présentation correspondante.
- Cliquez sur Détails pour afficher les détails du groupe, y compris ses paramètres d'autoscaling.
gcloud
Exécutez la commande instance-groups managed describe :
gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME
Si un autoscaler est associé au groupe, la commande renvoie des détails sur cet autoscaler :
...
autoscaler:
autoscalingPolicy:
coolDownPeriodSec: 60
cpuUtilization:
utilizationTarget: 0.6
maxNumReplicas: 20
minNumReplicas: 10
mode: ON
scaleInControl:
timeWindowSec: 300
maxScaledInReplicas:
fixed: 3
calculated: 3
...REST
Exécutez la méthode instanceGroupManagers.get.
Pour un groupe d'instances géré régional, remplacez zones/ZONE par regions/REGION.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
Si un autoscaler est associé au groupe, la requête renvoie un lien vers la ressource d'autoscaler.
200 OK
{
...
"status": {
...
"autoscaler": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group"
},
}Pour récupérer des détails sur la ressource d'autoscaler, utilisez la méthode autoscalers.get pour un MIG zonal ou la méthode regionAutoscalers.get pour un MIG régional.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/example-autoscaler
200 OK
{
"kind": "compute#autoscaler",
"id": "8744945839459481093",
"creationTimestamp": "2018-09-28T13:02:50.553-07:00",
"name": "example-group",
"target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/instanceGroupManagers/example-group",
"autoscalingPolicy": {
"minNumReplicas": 10,
"maxNumReplicas": 20,
"mode": "ON",
"scaleInControl": {
"timeWindowSec": 60,
"maxScaledInReplicas": {
"calculated": 3,
"percent": 15
}
},
"coolDownPeriodSec": 60,
"cpuUtilization": {
"utilizationTarget": 0.6
}
},
"zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c",
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group",
"status": "ACTIVE"
}
Mettre à jour un autoscaler
Lorsque vous mettez à jour un autoscaler, la propagation des modifications peut prendre un certain temps, et il peut s'écouler quelques minutes avant que vos nouveaux paramètres ne soient pris en compte.
Console
- Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
- Cliquez sur le nom d'un groupe d'instances géré dans la liste afin d'ouvrir la page de présentation correspondante.
- Cliquez sur Modifier.
- Cliquez sur Taille du groupe et autoscaling pour afficher et modifier les paramètres d'autoscaling du groupe.
- Cliquez sur Enregistrer lorsque vous avez terminé.
gcloud
Utilisez la commande update-autoscaling.
gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
--max-num-replicas MAX_NUM ...Pour obtenir des instructions sur la création d'un autoscaler, consultez la section Créer un autoscaler.
REST
Pour mettre à jour une ressource d'autoscaler, utilisez la méthode autoscalers.patch pour un MIG zonal ou la méthode regionAutoscalers.patch pour un MIG régional.
Fournissez un corps de requête contenant la nouvelle configuration.
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers?autoscaler=example-autoscaler
{
"autoscalingPolicy": {
"maxNumReplicas": 20
}
}
200 OK
{
"kind": "compute#operation",
"id": "4244494732310423322",
"name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603",
"zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f",
"operationType": "compute.autoscalers.patch",
"targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler",
"targetId": "340775527929467142",
"status": "RUNNING",
...
}Lorsque vous effectuez des requêtes qui modifient des données, une ressource zoneOperations (Opérations de la zone) ou regionOperations (Opérations de la région) est renvoyée. Vous pouvez l'interroger pour vérifier l'état de votre modification.
Utiliser l'autoscaling prédictif
L'autoscaling prédictif utilise les données historiques pour effectuer un scaling horizontal de votre groupe en prévision de la charge attendue. Il fonctionne mieux si votre charge de travail répond aux critères suivants :
- L'initialisation de votre application prend beaucoup de temps (si vous configurez par exemple une période d'initialisation de plus de deux minutes).
- Votre charge de travail varie de manière prévisible en fonction de cycles quotidiens ou hebdomadaires.
Pour en savoir plus, consultez Scaling basé sur des prédictions.
Désactiver un autoscaler ou lui appliquer une restriction
Vous pouvez désactiver un autoscaler pour l'empêcher temporairement de procéder au scaling du MIG, ou lui appliquer une restriction de sorte qu'il ne puisse appliquer un scaling horizontal qu'à votre MIG. Cette fonctionnalité est utile lorsque vous souhaitez :
- examiner les instances de VM sans interférence liée au scaling ;
- reconfigurer plusieurs propriétés de votre groupe d'instances géré en empêchant le déclenchement d'actions de scaling lorsque votre groupe n'est que partiellement reconfiguré ;
- maintenir la capacité du groupe d'instances géré pour être en mesure d'effectuer un rollback rapide lors de la redirection d'une charge de travail vers un nouveau groupe d'instances géré.
- activer l'autoscaling prédictif ultérieurement. L'autoscaling prédictif nécessite une règle d'autoscaling pour démarrer la collecte de l'historique de charge sur lequel baser les prédictions. L'autoscaler détecte cet historique même lorsque son mode est défini sur
OFF.
Lorsque vous réactivez l'autoscaler, celui-ci reprend son fonctionnement normal.
Suivez les instructions fournies dans cette section pour définir le mode de l'autoscaler. Les modes suivants sont disponibles :
- Désactivé : désactive temporairement l'autoscaling. Utilisez ce mode pour empêcher toute modification automatique de la taille du groupe d'instances géré. La configuration de l'autoscaling reste inchangée. Vous pourrez donc réactiver l'autoscaling par la suite.
- Effectuer un scaling horizontal uniquement : limitez l'autoscaling à l'ajout de nouvelles instances de VM. Utilisez ce mode pour empêcher la réduction du groupe et permettre à celui-ci de provisionner des VM supplémentaires en cas d'augmentation de la charge.
- Activé : active toutes les opérations d'autoscaling conformément aux règles définies.
Console
- Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
- Cliquez sur le nom d'un groupe d'instances géré dans la liste afin d'ouvrir la page de présentation correspondante.
- Cliquez sur Modifier.
- Cliquez sur Taille du groupe et autoscaling pour afficher et modifier les paramètres d'autoscaling du groupe.
- Dans la section Autoscaling, définissez le mode d'autoscaling afin de désactiver ou limiter l'autoscaling pour le groupe, ou de réactiver l'autoscaler.
- Cliquez sur Enregistrer lorsque vous avez terminé.
gcloud
Pour désactiver, limiter ou réactiver un autoscaler, exécutez la commande update-autoscaling avec l'option --mode.
gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
--mode MODE Remplacez l'élément suivant :
MODE:offpour désactiver l'autoscaler, mais conserver sa configuration ;only-scale-outpour uniquement empêcher l'autoscaler d'ajouter des instances ;onpour réactiver toutes les activités de l'autoscaler conformément aux règles définies.
REST
Pour mettre à jour le mode d'une ressource d'autoscaler, utilisez la méthode autoscalers.patch pour un MIG zonal ou la méthode regionAutoscalers.patch pour un MIG régional.
Fournissez un corps de requête incluant la propriété autoscalingPolicy.mode.
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/autoscalers?autoscaler=my-autoscaler
{
"autoscalingPolicy": {
"mode":"MODE"
}
}Remplacez l'élément suivant :
MODE:OFFpour désactiver l'autoscaler, mais conserver sa configuration ;ONLY_SCALE_OUTpour uniquement empêcher l'autoscaler d'ajouter des instances ;ONpour réactiver toutes les activités de l'autoscaler conformément aux règles définies.
Lorsque vous définissez le mode d'autoscaling sur ONLY_SCALE_OUT, l'autoscaler se comporte comme suit :
- L'autoscaler ne réduit pas la valeur
targetSizedu groupe d'instances géré, indépendamment de la diminution de la charge ou des modifications apportées à sa configuration. - Si vous modifiez manuellement la taille cible d'un groupe d'instances géré zonal, l'autoscaler ignore la taille fournie manuellement si elle est inférieure à la taille recommandée.
- Vous ne pouvez pas modifier manuellement la taille cible d'un groupe d'instances géré régional.
- Si vous définissez le champ
autoscalingPolicy.maxNumReplicassur une valeur inférieure à la valeurtargetSizeactuelle du groupe lorsque le mode de l'autoscaler est défini surONLY_SCALE_OUT, l'autoscaler ne réduit pas le nombre d'instances dans le groupe. Comme d'habitude, l'autoscaler recalcule en continu la taille recommandée du groupe et peut la diminuer pour respecter la nouvelle valeur maximale. Toutefois, le groupe n'est pas soumis à un scaling vertical. - Le champ
autoscalers.statusaffiche l'avertissement "L'autoscaling fonctionne en mode restreint : ONLY_SCALE_OUT".
Lorsque vous définissez le mode de l'autoscaler sur OFF, l'autoscaler se comporte comme suit :
- L'autoscaler ne modifie pas la valeur
targetSizedu groupe d'instances géré en réponse aux modifications de la charge ou de sa configuration. Comme d'habitude, l'autoscaler recalcule en continu la taille recommandée du groupe et peut la diminuer pour respecter la nouvelle valeur maximale. Toutefois, le groupe n'est pas soumis à un scaling vertical. - Vous pouvez modifier manuellement la taille cible d'un groupe d'instances géré zonal ou régional. Les valeurs
minNumReplicasetmaxNumReplicasde la règle d'autoscaling n'affectent pas la taille que vous avez définie. - Si vous désactivez l'autoscaling pour un groupe d'instances géré régional dans lequel la redistribution proactive des instances est activée et que le groupe d'instances géré présente une distribution inégale des instances entre les zones, le groupe supprime ou crée de manière proactive des instances dans ses zones pour rétablir une distribution égale.
- Le champ
autoscalers.statusaffiche l'avertissement "L'autoscaling fonctionne en mode restreint : OFF".
Contrôler le taux de scaling vertical d'un autoscaler
Si l'initialisation de vos charges de travail prend plusieurs minutes, vous pouvez configurer les éléments suivants pour réduire le risque de latence des réponses et de panne due à des événements de scaling brusques :
Contrôles de scaling vertical : si vous prévoyez la survenue régulière de pics de charge peu après les baisses de charge, vous pouvez limiter le taux de scaling vertical en configurant les contrôles de scaling vertical. Cela empêche l'autoscaler de supprimer plus d'instances de VM d'un MIG que votre charge de travail ne peut le tolérer.
Période de stabilisation : si vous souhaitez éviter la suppression prématurée d'instances ou autoriser un scaling vertical plus rapide pour réduire les coûts, vous pouvez configurer la période de stabilisation. Cette période contrôle la durée pendant laquelle l'autoscaler attend pour effectuer un scaling vertical des instances après une diminution de la charge.
Configurer les contrôles de scaling vertical
La configuration des contrôles de scaling vertical est facultative. Par défaut, les contrôles de scaling vertical ne sont pas configurés. Si aucun contrôle de scaling vertical n'est défini, l'autoscaler s'appuie toujours sur son mécanisme de stabilisation par défaut. Autrement dit, il maintient la taille recommandée au niveau requis pour absorber le pic de charge pendant la période de stabilisation.
Console
Pour configurer des contrôles de scaling vertical pour un groupe d'instances géré avec autoscaling, procédez comme suit :
Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
Cliquez sur le nom d'un groupe d'instances géré avec autoscaling dans la liste afin d'ouvrir la page de présentation correspondante.
Cliquez sur Modifier.
Cliquez sur Taille du groupe et autoscaling pour afficher et modifier les paramètres d'autoscaling du groupe.
Dans la section Contrôles de scaling vertical, sélectionnez Activer les contrôles de scaling vertical.
Dans le champ Scaling maximal de, spécifiez le nombre maximal ou le pourcentage d'instances pouvant être supprimées du groupe à la fois.
Dans la section sur, spécifiez la fréquence à laquelle les instances peuvent être supprimées du groupe.
Cliquez sur Enregistrer.
gcloud
Vous pouvez configurer des contrôles de scaling lors de la création ou de la mise à jour d'un autoscaler.
Configurer des contrôles de scaling lors de la création d'un autoscaler
Définissez des contrôles de scaling lors de la création d'un autoscaler pour un groupe d'instances géré en utilisant l'option --scale-in-control avec la commande gcloud
compute instance-groups managed set-autoscaling.
Par exemple, utilisez la commande suivante pour configurer l'autoscaling pour un objet example-group :
gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
--target-cpu-utilization 0.6 \
--max-num-replicas 50 \
--scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Configurer des contrôles de scaling lors de la mise à jour d'un autoscaler
Mettez à jour les contrôles de scaling dans l'autoscaler existant d'un groupe d'instances géré en utilisant l'option --scale-in-control avec la commande gcloud compute instance-groups managed update-autoscaling.
Par exemple, utilisez la commande suivante pour définir des contrôles de scaling dans une configuration d'autoscaling existante pour example-group :
gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
--scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME: nom du MIG à mettre à jour.MAX_SCALE_IN_REPLICAS: nombre maximal de VM pouvant être déduit de la taille maximale, provenant de la fenêtre temporelle continue spécifiée. Le nombre d'instances de VM spécifié peut faire l'objet d'un scaling en une seule fois. Votre service devrait donc pouvoir se permettre de perdre autant de VM à la fois. Vous pouvez spécifier un nombre de VM ou un pourcentage. Utilisez le signe%pour les pourcentages, par exemple :50%.TIME_WINDOW: fenêtre temporelle continue dans laquelle la taille maximale est obtenue. L'autoscaling ne dépassera pas le nombre maximal d'instances dupliquées autorisé, lequel est aligné sur la taille maximale obtenue dans cette fenêtre temporelle continue. La valeur doit être comprise entre60et3600.
Par exemple, imaginons que vous définissiez la fenêtre temporelle sur 1 800 secondes (30 minutes). Lors du calcul de la taille actuelle recommandée pour le groupe d'instances géré, l'autoscaler utilise la logique suivante :
- Il prend la taille maximale des 30 dernières minutes (par exemple, 100 VM).
- Il prend
max-scaled-in-replicas(par exemple, 10 VM). - Il définit la limite inférieure de la taille recommandée comme suit : taille maximale moins
max-scaled-in-replicas(100 - 10 = 90 VM).
REST
Configurez les contrôles de scaling en définissant les champs maxScaledInReplicas et timeWindowSec dans la structure autoscalingPolicy.scaleInControl d'une ressource d'autoscaler zonale ou régionale. Il n'existe aucune valeur par défaut pour ces champs. Vous devez fournir des valeurs pour les deux champs.
Vous pouvez configurer des contrôles de scaling lors de la création ou de la mise à jour d'un autoscaler.
Configurer des contrôles de scaling lors de la création d'un autoscaler
Utilisez la méthode autoscalers.insert pour un MIG zonal ou la méthode regionAutoscalers.insert pour un MIG régional.
POST
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME",
"autoscalingPolicy": {
"minNumReplicas": 1,
"maxNumReplicas": 5,
"coolDownPeriodSec": 60,
"cpuUtilization": {
"utilizationTarget": 0.8
},
"scaleInControl": {
"maxScaledInReplicas": {
"fixed": MAX_SCALE_IN_REPLICAS
},
"timeWindowSec": TIME_WINDOW
}
}
}
Pour en savoir plus sur la création d'un autoscaler, consultez les articles suivants :
- Effectuer un scaling basé sur l'utilisation du processeur ou de la capacité de diffusion de l'équilibrage de charge
- Effectuer un scaling basé sur les métriques Cloud Monitoring
Configurer des contrôles de scaling lors de la mise à jour d'un autoscaler
Utilisez la méthode autoscalers.patch pour un MIG zonal ou la méthode regionAutoscalers.patch pour un MIG régional.
PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"minNumReplicas": 1,
"maxNumReplicas": 5,
"coolDownPeriodSec": 60,
"cpuUtilization": {
"utilizationTarget": 0.8
},
"scaleInControl": {
"maxScaledInReplicas": {
"fixed": MAX_SCALE_IN_REPLICAS
},
"timeWindowSec": TIME_WINDOW
}
}
}
Remplacez les éléments suivants :
AUTOSCALER_NAME: nom de l'autoscaler à créer. Vous pouvez nommer votre autoscaler en fonction du groupe d'instances géré qui l'utilisera ou lui donner un autre nom.INSTANCE_GROUP_NAME: nom du groupe d'instances géré auquel ajouter l'autoscaler. Pour un groupe d'instances géré régional, remplacezzones/ZONEparregions/REGION.MAX_SCALE_IN_REPLICAS: nombre maximal de VM pouvant être déduit de la taille cible maximale recommandée, provenant de la fenêtre temporelle continue spécifiée. Le nombre d'instances de VM spécifié peut faire l'objet d'un scaling vertical en une seule fois. Votre service devrait donc pouvoir se permettre de perdre autant de VM à la fois. Vous pouvez spécifier un nombre de VM ou un pourcentage. UtilisezmaxScaledInReplicas.percentagepour spécifier une valeur en pourcentage.TIME_WINDOW: fenêtre temporelle continue dans laquelle la taille maximale recommandée est obtenue. L'autoscaling ne dépassera pas le nombre maximal d'instances dupliquées autorisé, lequel est aligné sur la taille maximale obtenue dans cette fenêtre temporelle continue. Spécifiez cette valeur en secondes dans la plage comprise entre60et3600, par exemple :1800.
Par exemple, imaginons que vous définissiez la fenêtre temporelle sur 1 800 secondes (30 minutes). Lors du calcul de la taille actuelle recommandée pour le groupe d'instances géré, l'autoscaler utilise la logique suivante :
- Il prend la taille maximale des 30 dernières minutes (par exemple, 100 VM).
- Il prend
max-scaled-in-replicas(par exemple, 10 VM). - Il définit la limite inférieure de la taille recommandée comme suit : taille maximale moins
max-scaled-in-replicas(100 - 10 = 90 VM).
Pour en savoir plus sur le fonctionnement des contrôles de scaling, consultez la page Comprendre les décisions des autoscalers.
Obtenir la configuration actuelle des contrôles de scaling
Pour obtenir la configuration actuelle des contrôles de scaling, consultez la section Obtenir des informations sur un autoscaler.
Supprimer les contrôles de scaling
À l'aide de Google Cloud CLI ou de l'API Compute Engine, vous pouvez supprimer les contrôles de scaling vertical pour lever les restrictions sur la durée et l'ampleur des opérations de scaling vertical.
Si aucun contrôle de scaling n'est défini, l'autoscaler s'appuie toujours sur son mécanisme de stabilisation par défaut. Autrement dit, il maintient la taille recommandée au niveau requis pour absorber le pic de charge pendant la période de stabilisation.
Console
Pour supprimer des contrôles de scaling vertical pour un groupe d'instances géré avec autoscaling, procédez comme suit :
Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
Cliquez sur le nom d'un groupe d'instances géré avec autoscaling dans la liste afin d'ouvrir la page de présentation correspondante.
Cliquez sur Modifier.
Cliquez sur Taille du groupe et autoscaling pour afficher et modifier les paramètres d'autoscaling du groupe.
Dans la section Contrôles de scaling vertical, décochez la case Activer les contrôles de scaling vertical.
Cliquez sur Enregistrer.
gcloud
Supprimez les contrôles de scaling vertical en associant l'option --clear-scale-in-control à la commande gcloud compute instance-groups managed update-autoscaling.
Par exemple, utilisez la commande suivante pour supprimer les contrôles de scaling vertical de la configuration d'autoscaling pour example-group :
gcloud compute instance-groups managed update-autoscaling example-group \
--clear-scale-in-control
REST
Pour supprimer les contrôles de scaling vertical, utilisez la méthode autoscalers.patch pour un MIG zonal ou la méthode regionAutoscalers.patch pour un MIG régional et fournissez une configuration vide pour les contrôles de scaling vertical.
PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"scaleInControl": null
}
}
Remplacez les éléments suivants :
AUTOSCALER_NAME: nom de l'autoscaler à mettre à jour. Pour obtenir la liste des autoscalers existants et de leurs groupes d'instances gérés cibles, utilisez la méthodeautoscalers.aggregatedList.
Configurer la période de stabilisation
La période de stabilisation par défaut est de 600 secondes. Vous pouvez configurer cette valeur entre 0 secondes et 3600 secondes (une heure).
Pour configurer la période de stabilisation, utilisez l'une des options suivantes :
Console
Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
Cliquez sur le nom d'un groupe d'instances géré avec autoscaling dans la liste afin d'ouvrir la page de présentation correspondante.
Cliquez sur Modifier.
Cliquez sur Taille du groupe et autoscaling pour développer la section.
Si aucun autoscaler n'est configuré pour le MIG, cliquez sur Configurer l'autoscaling et procédez comme suit :
Dans les champs Nombre minimal d'instances et Nombre maximal d'instances, saisissez le nombre d'instances que l'autoscaler doit maintenir.
Un signal d'utilisation du processeur est inclus par défaut. Vous pouvez le modifier ou cliquer sur Ajouter un signal pour en créer un autre.
Dans le champ Période de stabilisation, saisissez la durée en secondes. La valeur par défaut est de
600secondes.
Si une configuration d'autoscaling existe déjà, saisissez la durée en secondes dans le champ Période de stabilisation. La valeur par défaut est de
600secondes.Cliquez sur Enregistrer.
gcloud
Vous pouvez configurer la période de stabilisation lorsque vous créez ou mettez à jour un autoscaler.
Configurer une période de stabilisation lors de la création d'un autoscaler
Exécutez la commande gcloud compute instance-groups managed set-autoscaling et ajoutez l'option --stabilization-period pour définir la période de stabilisation.
gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
--target-cpu-utilization 0.6 \
--max-num-replicas 50 \
--stabilization-period STABILIZATION_PERIOD
Configurer une période de stabilisation lors de la mise à jour d'un autoscaler
Exécutez la commande gcloud compute instance-groups managed update-autoscaling en incluant l'option --stabilization-period.
gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
--stabilization-period STABILIZATION_PERIOD
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME: nom du MIG.STABILIZATION_PERIOD: durée en secondes. La valeur doit être comprise entre0et3600. Pour en savoir plus, consultez la section Bonnes pratiques pour la période de stabilisation de ce document.
REST
Pour configurer la période de stabilisation, utilisez l'une des ressources suivantes :
Pour un MIG régional, utilisez la ressource REST
regionAutoscalers.Pour un MIG zonal, utilisez la ressource REST
autoscalers.
Vous pouvez configurer la période de stabilisation lorsque vous créez ou mettez à jour un autoscaler.
Configurer la période de stabilisation lors de la création d'un autoscaler
Pour un MIG zonal, utilisez la méthode
autoscalers.insert.Pour un MIG régional, utilisez la méthode
regionAutoscalers.insert.
POST
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME",
"autoscalingPolicy": {
"minNumReplicas": 1,
"maxNumReplicas": 5,
"coolDownPeriodSec": 60,
"cpuUtilization": {
"utilizationTarget": 0.8
},
"stabilizationPeriodSec": STABILIZATION_PERIOD
}
}
Configurer la période de stabilisation lors de la mise à jour d'un autoscaler
Pour un MIG zonal, utilisez la méthode
autoscalers.patch.Pour un MIG régional, utilisez la méthode
regionAutoscalers.patch.
PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"minNumReplicas": 1,
"maxNumReplicas": 5,
"coolDownPeriodSec": 60,
"cpuUtilization": {
"utilizationTarget": 0.8
},
"stabilizationPeriodSec": STABILIZATION_PERIOD
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.AUTOSCALER_NAME: nom de l'autoscaler.INSTANCE_GROUP_NAME: nom du MIG.STABILIZATION_PERIOD: durée en secondes. La valeur doit être comprise entre0et3600. Pour en savoir plus, consultez la section Bonnes pratiques pour la période de stabilisation de ce document.
Bonnes pratiques pour la période de stabilisation
Il est recommandé de configurer la période de stabilisation en fonction du type de charge de travail, comme suit :
Charges de travail volatiles : si le trafic de votre application varie fortement, conservez la période de stabilisation par défaut de 600 secondes (10 minutes) ou plus. Cette durée peut vous aider à éviter les frais généraux liés à la création et à la suppression fréquentes d'instances.
Services Web à scaling rapide : si votre application s'initialise rapidement (en quelques secondes) et que vous souhaitez réduire considérablement les coûts, envisagez de réduire la période de stabilisation à une durée comprise entre
180et240secondes. Cette durée peut vous aider à effectuer un scaling rapide.Charges de travail avec affinité de session : si votre application nécessite que la même instance de VM gère les requêtes client pendant une période prolongée, même après une diminution de la charge, utilisez une période de stabilisation plus longue (par exemple,
1800secondes).Définir sur
0: ne définissez la période de stabilisation sur0que si votre application peut gérer des réductions de capacité immédiates sans impacter la latence des utilisateurs, et si vous n'avez aucune inquiétude concernant la surcharge liée à la création et à la suppression fréquentes d'instances causées par les fluctuations rapides des signaux de charge.
De plus, nous vous recommandons de définir une période de stabilisation plus longue que la période d'initialisation pour éviter de supprimer des instances avant que les nouvelles ne soient entièrement prêtes à diffuser.
Supprimer un autoscaler
Vous pouvez supprimer définitivement votre ressource d'autoscaler et son historique. Si vous souhaitez arrêter temporairement l'autoscaling et conserver la ressource d'autoscaler, sa configuration et son historique, vous pouvez désactiver l'autoscaler au lieu de le supprimer.
Console
Dans la console Cloud de Confiance , accédez à la page Groupes d'instances.
Cliquez sur le nom d'un groupe d'instances géré dans la liste afin d'ouvrir la page de présentation correspondante.
Cliquez sur Modifier.
Cliquez sur Taille du groupe et autoscaling pour afficher et modifier les paramètres d'autoscaling du groupe.
Dans la liste Mode d'autoscaling, sélectionnez Supprimer la configuration d'autoscaling pour arrêter l'autoscaler et supprimer sa configuration.
Cliquez sur Enregistrer lorsque vous avez terminé.
gcloud
Utilisez la commande stop-autoscaling pour arrêter un autoscaler et supprimer sa configuration.
gcloud compute instance-groups managed stop-autoscaling INSTANCE_GROUP_NAME
L'arrêt d'un autoscaler le supprime du groupe d'instances géré. Si vous souhaitez redémarrer l'autoscaler, vous devez le recréer à l'aide de la commande set-autoscaling.
Si vous supprimez un groupe d'instances géré en utilisant gcloud CLI, tous les autoscalers associés à ce groupe sont également supprimés.
REST
Pour arrêter un autoscaler et supprimer sa configuration, utilisez la méthode autoscalers.delete pour un MIG zonal ou la méthode regionAutoscalers.delete pour un MIG régional.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/AUTOSCALER_NAME
Votre avis
Nous souhaitons en savoir plus sur vos cas d'utilisation, les défis que vous rencontrez ou vos impressions sur l'autoscaling. Nous vous invitons à nous faire part de vos commentaires à l'adresse suivante : mig-discuss@google.com.
Étape suivante
- Découvrez comment les autoscalers prennent des décisions.
- Découvrez comment utiliser plusieurs signaux d'autoscaling pour effectuer un scaling de votre groupe.