Politiques de dimensionnement Suivi de la cible - Amazon ElastiCache for Redis

Politiques de dimensionnement Suivi de la cible

Grâce aux politiques de suivi des objectifs et d'échelonnement, vous sélectionnez une métrique et définissez une valeur cible. ElastiCache for Redis Auto Scaling crée et gère les alarmes CloudWatch qui déclenchent la politique de mise à l'échelle et calcule l'ajustement de mise à l'échelle en fonction de la métrique et de la valeur cible. La politique de mise à l'échelle ajoute ou supprime des partitions si nécessaire pour maintenir la métrique à la valeur cible spécifiée ou proche de celle-ci. En plus de maintenir la métrique proche de la valeur cible, une politique de dimensionnement Suivi de la cible s'ajuste également aux fluctuations de la métrique dues à un modèle de charge fluctuant, et minimise les fluctuations rapides dans la capacité du parc.

Par exemple, examinons une politique de mise à l'échelle qui utilise la métrique prédéfinie d'utilisation moyenne de ElastiCachePrimaryEngineCPUUtilization avec une valeur cible configurée. Une telle politique peut maintenir l'utilisation du CPU à la valeur cible spécifiée ou proche de celle-ci.

Critères de Auto Scaling pour les partitions

Votre politique Auto Scaling définit les mesures prédéfinies suivantes pour votre cluster :

  • ElastiCachePrimaryEngineCPUUtilization : Valeur moyenne de la métrique EngineCPUUtilization dans CloudWatch sur tous les nœuds primaires du cluster ElastiCache for Redis. Vous pouvez trouver la valeur de métrique agrégée dans CloudWatch sous ElastiCache for Redis ReplicationGroupId, Role pour le ReplicationGroupId et le rôle primaire requis.

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage : Valeur moyenne de la métrique DatabaseMemoryUsageCountedForEvictPercentage dans CloudWatch sur tous les nœuds du cluster ElastiCache for Redis. Vous pouvez trouver la valeur de mesure agrégée pour ReplicationGroup dans CloudWatch sous ElastiCache for Redis Redis Replication Group Metrics (Métriques de groupe de réplication Redis).

Lorsque le service détecte que votre métrique ElastiCachePrimaryEngineCPUUtilization est égale ou supérieure au paramètre Cible, il augmente automatiquement la capacité de vos partitions. ElastiCache for Redis monte en puissance vos partitions de cluster d'un nombre égal au plus grand des deux nombres : variation en pourcentage par rapport à la cible et 20 % par rapport aux partitions actuelles. Pour la mise à l'échelle, ElastiCache for Redis ne s'adaptera pas automatiquement à moins que la valeur globale de la métrique ne soit inférieure à 75 % de la cible définie.

Pour un exemple de mise à l'échelle, si vous avez 50 partitions et

  • si votre cible est réduit de 30 %, ElastiCache for Redis augmente de 30 %, ce qui donne 65 partitions par cluster.

  • si votre cible est réduit de 10 %, ElastiCache for Redis monte en puissance par défaut au minimum de 20 %, ce qui donne 60 partitions par cluster.

Dans un exemple de mise à l'échelle, si vous avez sélectionné une valeur cible de 60 %, ElastiCache for Redis ne s'adaptera pas automatiquement tant que la métrique n'est pas inférieure ou égale à 45 % (25 % en dessous de la cible de 60 %).

Considérations relatives à Auto Scaling

Gardez les considérations suivantes à l'esprit :

  • Une politique de mise à l'échelle Suivi de la cible suppose qu'elle doit effectuer une montée en charge ; lorsque la métrique spécifiée est au-dessus de la valeur cible. Vous ne pouvez pas utiliser une politique de mise à l'échelle Suivi de la cible pour effectuer une montée en charge lorsque la métrique spécifiée est en dessous de la valeur cible. ElastiCache for Redis met à l'échelle les partitions avec un écart minimum de 20 % par rapport à la cible des partitions existantes dans le cluster.

  • Une politique de mise à l'échelle Suivi de la cible n'effectue pas de mise à l'échelle lorsque la métrique spécifiée a des données insuffisantes. Elle n'effectue pas de mise à l'échelle car elle n'interprète pas des données insuffisantes comme une faible utilisation.

  • Vous pouvez constater des écarts entre la valeur cible et les points de données de métrique réels. Ceci est dû au fait qu'ElastiCache for Redis Auto Scaling agit toujours avec prudence en effectuant un arrondi vers le haut ou vers le bas quand il détermine la capacité à ajouter ou à enlever. Cela l'empêche d'ajouter une capacité insuffisante ou de retirer trop de capacité.

  • Pour garantir la disponibilité de l'application, le service augmente proportionnellement aux métriques aussi rapidement que possible, mais diminue plus progressivement.

  • Vous pouvez disposer de plusieurs politiques de suivi de cible et d'échelonnement pour un cluster ElastiCache for Redis dans la mesure où chacune d'entre elles utilise une métrique différente. L'objectif d'ElastiCache for Redis Auto Scaling est de toujours donner la priorité à la disponibilité, afin que son comportement diffère selon que les politiques de suivi de cible sont prêtes pour une augmentation ou une diminution de taille. Il augmentera la taille du service si l'une des politiques Suivi de la cible est prête pour une augmentation de taille, mais la diminuera uniquement si toutes les politiques Suivi de la cible (avec la portion de diminution en charge activée) sont prêtes pour une diminution de taille.

  • Ne modifiez pas et ne supprimez pas les alarmes CloudWatch qu'ElastiCache for Redis Auto Scaling gère pour une politique de suivi de cible et d'échelonnement. ElastiCache for Redis Auto Scaling supprime les alarmes automatiquement quand vous supprimez la politique de mise à l'échelle.

  • ElastiCache for Redis Auto Scaling ne vous empêche pas de modifier manuellement les partitions de cluster. Ces ajustements manuels n'affectent pas les alarmes CloudWatch associées à la politique de mise à l'échelle, mais peuvent avoir un impact sur les métriques pouvant déclencher ces alarmes CloudWatch.

  • Ces alarmes CloudWatch gérées par Auto Scaling sont définies sur la métrique moyenne parmis toutes les partitions du cluster. Ainsi, avoir des partitions chaudes peut entraîner l'un ou l'autre des scénarios suivants :

    • une mise à l'échelle lorsqu'elle n'est pas nécessaire en raison de la charge sur quelques partitions chaudes déclenchant une alarme CloudWatch

    • l'absence de mise à l'échelle lorsque cela est nécessaire en raison d'AVG agrégé sur toutes les partitions affectant l'alarme à ne pas briser.

  • Les limites par défaut ElastiCache for Redis sur les nœuds par cluster s'appliquent toujours. Ainsi, lorsque vous optez pour Auto Scaling et si vous prévoyez que le nombre maximal de nœuds dépasse la limite par défaut, demandez une augmentation de limite à AWS Service Limits et choisissez le type de limite Nodes per cluster per instance type (Nœuds par cluster par type d'instance).

  • Assurez-vous que vous disposez d'un nombre suffisant d'ENI (Elastic Network Interfaces) disponibles dans votre VPC, nécessaires lors de la mise à l'échelle. Pour de plus amples informations, veuillez consulter Interfaces réseau Elastic.

  • S'il n'y a pas suffisamment de capacité disponible à partir d'EC2, ElastiCache for Redis Auto Scaling ne sera pas mis à l'échelle et sera retardé jusqu'à ce que la capacité soit disponible.

  • ElastiCache for Redis Auto Scaling pendant la réduction de charge ne supprime pas les partitions dont les emplacements ont une taille d'élément supérieure à 256 Mo après sérialisation.

  • Pendant la réduction de charge, il ne supprimera pas les partitions si la mémoire disponible sur la configuration des partitions résultante est insuffisante.