Autoscaler géré

<ph type="x-smartling-placeholder">

Cette page décrit le fonctionnement de l'autoscaler géré, ainsi que les coûts et les limites associés. Il fournit également des informations pour vous aider à déterminer comment configurer l'autoscaler géré.

Fonctionnement de l'autoscaler géré

Lorsque vous activez l'autoscaler géré, Spanner ajuste automatiquement la taille de votre instance. La fonctionnalité d'autoscaler géré réagit aux changements dans la charge de travail ou les besoins de stockage de votre instance à mesure que votre charge augmente ou diminue. L'autoscaling géré augmente la capacité de calcul de l'instance ou la réduit.

Lorsque vous configurez l'autoscaler géré, vous pouvez utiliser des unités de traitement pour les petites instances ou des nœuds pour les grandes instances. Dans ce document, nous utilisons le terme capacité de calcul pour désigner les nœuds ou les unités de traitement.

L'autoscaler géré Spanner détermine la quantité de ressources de calcul est requise en fonction des éléments suivants:

  • Objectif d'utilisation du processeur à haute priorité
  • Objectif d'utilisation du stockage
  • Limite minimale
  • Limite maximale

Chaque dimension de scaling génère une taille d'instance recommandée, et Spanner utilise automatiquement la valeur la plus élevée. Cela signifie, par exemple, que si votre instance a besoin de 10 nœuds pour atteindre votre objectif d'utilisation du stockage, mais de 12 nœuds pour atteindre votre objectif d'utilisation du processeur, Spanner la redimensionne à 12 nœuds.

À mesure que la capacité de calcul évolue, Spanner optimise en permanence le stockage. Il rééquilibre les données entre tous les serveurs pour s'assurer que le trafic est réparti de manière uniforme et qu'aucun serveur n'est surchargé. Pour en savoir plus, consultez la section Limites.

Si l'autoscaler géré fait évoluer une instance jusqu'à sa limite maximale, mais que la charge de travail entraîne toujours une utilisation du processeur supérieure à la cible, les requêtes de charge de travail peuvent avoir une latence plus élevée ou échouer. Si une instance est mise à l'échelle jusqu'à sa cible de capacité de calcul maximale, mais que la charge de travail nécessite plus d'espace de stockage que la limite de stockage maximale, les requêtes d'écriture peuvent échouer. Pour savoir si la cible maximale est atteinte, vous pouvez consulter les journaux des événements système de l'autoscaler géré dans la console Google Cloud, sur la page Insights système. Pour en savoir plus, consultez la section Limites de stockage.

Lorsque Spanner effectue un scaling à la baisse d'une instance, il supprime la capacité de calcul plus lentement que lors d'un scaling à la hausse, afin de réduire tout impact sur la latence.

Coûts

Vos coûts Spanner totaux peuvent être inférieurs ou supérieurs, en fonction de la façon dont vous avez configuré votre instance Spanner avant d'activer l'autoscaler géré et des limites que vous avez définies pour l'autoscaler géré.

Par exemple, si vous aviez l'habitude de configurer manuellement votre instance Spanner pour qu'elle dispose d'une capacité de calcul suffisante pour gérer les pics de charge à tout moment, vos coûts avec l'autoscaler géré peuvent être inférieurs, car il réduit la capacité de calcul lorsque l'instance est inactive.

Si vous aviez l'habitude de configurer manuellement votre instance Spanner pour disposer d'une capacité de calcul suffisante pour les charges de travail moyennes et que les performances globales se dégradent lorsque le trafic de votre charge de travail augmente, vos coûts avec l'autoscaler géré peuvent être plus élevés, car l'autoscaler géré peut augmenter la capacité de calcul lorsque l'instance est occupée. Toutefois, cela offre à vos utilisateurs des performances plus cohérentes.

Vous pouvez limiter le coût maximal de votre instance Spanner en définissant le nombre maximal de nœuds ou d'unités de traitement au niveau dépenses.

Limites

Les limites suivantes s'appliquent lorsque vous activez ou modifiez le d'autoscaling sur une instance:

  • Vous ne pouvez pas déplacer une instance lorsque le la fonctionnalité d'autoscaler géré est activée. Vous devez d'abord désactiver l'autoscaler géré, puis déplacer l'instance. Une fois l'instance déplacée, vous pouvez réactiver l'autoscaler géré.
  • Vous devez définir la limite minimale de l'instance d'autoscaling sur 1 000 unités de traitement minimum ou plus, ou 1 nœud ou plus.
  • Lorsque vous activez l'autoscaling sur une instance existante, la capacité de l'instance existante peut être inférieure à la valeur de limite minimale que vous configurez sur l'autoscaler géré. Cependant, l'instance effectue automatiquement un scaling à la hausse jusqu'à la valeur minimale configurée lorsque vous la démarrez. Par exemple, si votre instance comporte un nœud, mais que vous définissez la valeur minimale sur deux nœuds, elle est automatiquement mise à l'échelle jusqu'à deux nœuds lorsque vous démarrez votre instance.

Paramètres de l'autoscaler géré

Lorsque vous créez ou modifiez une instance et que vous choisissez d'activer l'autoscaler géré, vous définissez les valeurs indiquées dans le tableau suivant.

Paramètre Description
Objectif d'utilisation du processeur à haute priorité Pourcentage de la capacité de processeur à priorité élevée de l'instance. Cette valeur doit être comprise entre 10% et 90%. Lorsque l'utilisation du processeur d'une instance dépasse la cible que vous avez définie, Spanner ajoute immédiatement de la capacité de l'instance. Lorsque l'utilisation du processeur est nettement inférieure la cible, Spanner supprime de la capacité de calcul. Pour plus d'informations, voir Déterminez l'objectif d'utilisation du processeur.
Objectif d'utilisation du stockage Pourcentage de stockage sur un nœud que vous pouvez utiliser avant que Spanner ne procède au scaling à la hausse. Cet objectif garantit que vous disposez toujours une capacité de calcul suffisante pour gérer les fluctuations de la quantité de données que vous stockez. Cette valeur doit être comprise entre 10 et 99%. Pour obtenir des conseils, consultez la section Déterminer l'objectif d'utilisation du stockage.
Limite minimale La plus petite capacité de calcul Spanner effectue un scaling à la baisse de l'instance. La valeur minimale ne peut pas être inférieure à 10 % de la valeur que vous avez définie pour la limite maximale. Par exemple : Si la limite maximale est de 40 nœuds, la limite minimale doit être d'au moins 4 nœuds. La limite de 10 % est une limite stricte. Pour en savoir plus, consultez la section Déterminer la limite minimale.
Limite maximale Capacité de calcul maximale pouvant être évolutive par Spanner l'état de l'instance. Pour les nœuds, cette valeur doit être supérieure à un nœud (ou à 1 000 unités de traitement) et égale ou supérieure au nombre minimal de nœuds ou d'unités de traitement. Cette valeur ne peut pas dépasser 10 fois le nombre que vous avez choisi pour la capacité de calcul minimale. Dix fois l'exigence est une limite stricte. Pour en savoir plus, consultez la section Déterminer la limite maximale.

Configurer l'autoscaler géré

Cette section explique comment déterminer les nombres à choisir pour vos paramètres d'autoscaler gérés. Après avoir défini vos valeurs initiales, surveiller votre instance et ajuster les chiffres si nécessaire.

Déterminer l'objectif d'utilisation du processeur

La cible optimale pour votre instance dépend des exigences de latence et de débit de votre charge de travail. Pour afficher nos recommandations concernant l'utilisation maximale du processeur : pour connaître les configurations d'instances régionales, birégionales et multirégionales, consultez Alertes en cas d'utilisation intensive du processeur

En général, si vous constatez une latence inacceptable, vous devez réduire la cible d'utilisation du processeur.

Déterminer l'objectif d'utilisation du stockage

Pour l'autoscaling, l'objectif d'utilisation du stockage est exprimé en pourcentage d'un nœud. Pour les instances de 1 nœud (1 000 unités de traitement) et supérieures, la taille de stockage est limitée à 4 To par nœud.

Déterminer la limite maximale

La valeur que vous choisissez comme capacité de calcul maximale est égale à la capacité de calcul dont l'instance a besoin pour gérer le trafic le plus dense, même si vous ne prévoyez pas d'atteindre ce volume la plupart du temps. Spanner ne fait jamais évoluer plus que la capacité de calcul dont il a besoin. Vous pouvez aussi considérer ce nombre comme la plus grande quantité de ressources de calcul pour laquelle vous êtes prêt à payer. Voir Paramètres de l'autoscaler pour en savoir plus sur les valeurs acceptées

La limite maximale doit autoriser à la fois l'objectif d'utilisation du processeur et l'objectif d'utilisation du stockage que vous définissez pour l'autoscaling.

  • Si vous passez d'une allocation manuelle à une mise à l'échelle automatique gérée pour une instance, recherchez la capacité de calcul la plus élevée que l'instance a eue au cours des deux derniers mois. Valeur maximale de l'autoscaler géré doit être au moins aussi élevée.

  • Si vous activez l'autoscaler géré pour une nouvelle instance, examinez les métriques des autres instances et utilisez-les comme guide lorsque vous définissez la limite maximale.

  • Si vous avez une nouvelle charge de travail et que vous ne savez pas comment elle va évoluer, vous pouvez estimer la capacité de calcul nécessaire pour atteindre l'objectif d'utilisation du stockage intégré, puis ajuster ce nombre ultérieurement.

Vous devez également connaître la quantité de quota restante sur votre nœud, car l'autoscaler géré ne peut pas configurer votre instance pour qu'elle dispose d'une capacité de calcul supérieure à votre quota. Pour en savoir plus, consultez la section Limites de nœuds.

Une fois l'instance opérationnelle et l'autoscaling activé, surveiller l'instance et vérifier que la valeur choisie pour le paramètre La limite maximale doit être au moins égale à la limite recommandée pour le processeur cible et la limite recommandée pour la cible de stockage.

Déterminer la limite minimale

Vous définissez une limite minimale pour l'autoscaler géré afin de vous assurer que votre instance Spanner peut effectuer un scaling à la baisse jusqu'à la taille la plus petite et la plus rentable. Spanner empêche automatiquement le nœud passer en dessous du minimum requis pour maintenir le processeur et l'espace de stockage objectifs d'utilisation.

La valeur minimale la plus faible autorisée par l'autoscaler géré est de 1 nœud ou de 1 000 unités de traitement. Lorsque vous activez l'autoscaling pour une instance existante inférieure à la valeur minimale configurée pour l'autoscaler géré, automatiquement à la hausse jusqu'à ce minimum lorsque vous la démarrez.

Après avoir démarré l'instance qui a géré l'autoscaling, vous devez effectuer un test initial pour vous assurer qu'elle fonctionne à la taille minimale définie. Vous devez tester périodiquement pour s’assurer qu’il continue à fonctionner comme prévu.

Pour en savoir plus sur les valeurs acceptées, consultez Paramètres de l'autoscaler géré dans ce document.

Dans de nombreux cas, vous souhaiterez définir la valeur minimale sur plusieurs valeurs. Choisissez un nombre plus élevé ou augmentez la limite minimale pour les situations suivantes :

  • Vous prévoyez un événement d'échelle de pic d'activité lorsque votre trafic devrait augmenter temporairement et que vous souhaitez vous assurer d'avoir suffisamment de ressources capacité.
  • Votre application envoie du trafic. Lorsque vous ajoutez de la capacité de calcul, Spanner se rééquilibre automatiquement pour utiliser les nouveaux nœuds unités de traitement. Étant donné que ce processus peut prendre plusieurs minutes, vous pouvez envisager d'adopter une approche prudente et de choisir une valeur minimale plus élevée. De cette façon, votre instance peut s'adapter parfaitement aux pics.
  • Vous augmentez la capacité de calcul maximale. La valeur minimale doit toujours être de 10 pourcentage ou plus de l'objectif de capacité de calcul maximale. Par exemple, si vous définissez le nombre maximal de nœuds sur 30, vous devez définir le nombre minimal de les nœuds à 3 au minimum.

Si vous augmentez la valeur de la capacité de calcul minimale sur une instance, Spanner tente immédiatement de procéder au scaling de l'instance au nouveau minimum. Les contraintes standards s'appliquent. Lorsque vous avez atteint votre quota, votre demande de modification de la configuration de l'autoscaler géré échoue et la configuration n'est pas mise à jour.

Options et limites des paramètres de la Google Cloud CLI

Lorsque vous utilisez Google Cloud CLI pour configurer l'autoscaler géré, vous devez définir certaines options obligatoires. Vous pouvez utiliser des indicateurs facultatifs pour indiquer si vous souhaitez utiliser des nœuds ou des unités de traitement. Pour en savoir plus sur la création d'une instance avec l'autoscaler géré ou l'activation de l'autoscaling géré sur une instance existante, consultez les pages suivantes :

Les options suivantes sont requises lorsque vous activez l'autoscaler géré sur votre instance:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-storage-percent

Si vous choisissez d'utiliser des nœuds, vous devez également utiliser les deux options suivantes lorsque vous activez l'autoscaler géré:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Si vous choisissez d'utiliser des unités de traitement, vous devez également utiliser les deux indicateurs suivants lorsque vous activez l'autoscaler géré :

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

Les limites suivantes s'appliquent lors de l'ajout de l'autoscaler géré à un instance existante à l'aide de la Google Cloud CLI:

  • Vous ne pouvez pas utiliser l'option --nodes avec les options --autoscaling-min-nodes ou --autoscaling-max-nodes, car l'option --nodes définit un nombre spécifique de nœuds plutôt qu'une plage de mise à l'échelle. De même, vous ne pouvez pas utiliser l'option --processing-units avec les options autoscaling-min-processing-units ou autoscaling-max-processing-units, car l'option --processing-units définit un nombre spécifique d'unités de traitement plutôt qu'une plage de mise à l'échelle.
  • Vous ne pouvez pas combiner les indicateurs pour les nœuds et les unités de traitement. Par exemple, vous ne pouvez pas utiliser --autoscaling-max-nodes avec autoscaling-min-processing-units.

Ajuster vos paramètres

Surveillez votre utilisation de la capacité de calcul et ajustez vos paramètres, si est nécessaire, surtout après l'activation initiale de l'autoscaler géré. Nous vous recommandons d'utiliser la page Insights système de la console Google Cloud.

Contrôle des accès

Pour configurer l'autoscaler géré, vous devez être un compte principal disposant d'un rôle créer et mettre à jour les autorisations pour l'instance que vous configurez.

Surveillance

Spanner fournit plusieurs métriques qui vous permettent de comprendre le fonctionnement de l'autoscaler géré lorsqu'il évolue à la hausse ou à la baisse pour répondre aux exigences de la charge de travail. Les métriques peuvent également vous aider à déterminer si vos paramètres sont optimaux pour répondre aux exigences de charge de travail et de coût de votre entreprise. Par exemple, si vous constatez que le nombre de nœuds d'une instance est souvent proche du nombre maximal de nœuds, vous pouvez envisager d'augmenter cette valeur maximale. Pour en savoir plus sur des ressources Spanner, consultez Surveiller des instances avec Cloud Monitoring

Les métriques suivantes sont dans les graphiques de l'onglet System Insights (Insights système) de la console Google Cloud. Vous pouvez également afficher ces métriques Cloud Monitoring :

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Journalisation

Spanner crée un journal d'audit des événements système chaque fois qu'il procède au scaling d'une instance.

Vous pouvez afficher les journaux des événements système de l'autoscaler géré dans la section Console Google Cloud sur la page Insights sur le système.

Vous pouvez également afficher les journaux à l'aide de l'explorateur de journaux:

  1. Dans la console Google Cloud, ouvrez l'explorateur de journaux:

    Accéder à l'explorateur de journaux

  2. Sélectionnez le projet Google Cloud approprié.

  3. Dans le champ Requête, saisissez ce qui suit :

     protoPayload.methodName="AutoscaleInstance"
    

    Vous pouvez ajouter la requête suivante pour filtrer davantage les journaux:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"
  4. Cliquez sur Exécuter la requête.

Le volet Résultats de la requête affiche les journaux de la dernière heure.

Pour en savoir plus sur l'affichage des journaux, consultez la page Cloud Logging. Vous pouvez configurer des alertes basées sur les journaux. depuis la page Explorateur de journaux de Google Cloud ou à l'aide de la classe API Cloud Monitoring :

Étape suivante