Définition d'une politique de mise à l'échelle - Amazon ElastiCache

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Définition d'une politique de mise à l'échelle

Une configuration de politique de dimensionnement Suivi de la cible est représentée par un bloc JSON dans lequel sont définies les métriques et valeurs cibles. Vous pouvez enregistrer une configuration de politique de dimensionnement sous forme de bloc JSON dans un fichier texte. Vous utilisez ce fichier texte lorsque vous appelez l'API Application Auto Scaling AWS CLI ou l'API Application Auto Scaling. Pour plus d'informations sur la syntaxe de la configuration d'une stratégie, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d'API Application Auto Scaling.

Les options suivantes sont disponibles pour définir une configuration de politique de suivi de cible et d'échelonnement :

Utilisation d'une métrique prédéfinie

Une configuration de politique de dimensionnement Suivi de la cible est représentée par un bloc JSON dans lequel sont définies les métriques et valeurs cibles. Vous pouvez enregistrer une configuration de politique de dimensionnement sous forme de bloc JSON dans un fichier texte. Vous utilisez ce fichier texte lorsque vous appelez l'API Application Auto Scaling AWS CLI ou l'API Application Auto Scaling. Pour plus d'informations sur la syntaxe de la configuration d'une stratégie, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d'API Application Auto Scaling.

Les options suivantes sont disponibles pour définir une configuration de politique de suivi de cible et d'échelonnement :

Utilisation d'une métrique prédéfinie

En utilisant des métriques prédéfinies, vous pouvez définir rapidement une politique de dimensionnement pour le suivi des cibles ElastiCache pour un cluster Valkey et Redis OSS qui fonctionne avec le suivi des cibles dans Auto Scaling. ElastiCache Actuellement, ElastiCache prend en charge la métrique prédéfinie suivante dans ElastiCache Replicas Auto Scaling :

ElastiCacheReplicaEngineCPUUtilization— La valeur moyenne de la CPUUtilization métrique Engine pour CloudWatch toutes les répliques du cluster. Vous trouverez la valeur de la métrique agrégée ci-dessous ElastiCache ReplicationGroupId, Role pour CloudWatch Required ReplicationGroupId et Role Replica.

Pour utiliser une métrique prédéfinie dans votre politique de dimensionnement, créez une configuration de suivi de la cible pour votre politique de dimensionnement. Cette configuration doit inclure PredefinedMetricSpecification pour la métrique prédéfinie et TargetValue pour la valeur cible de cette métrique.

Utilisation d'une métrique personnalisée

L'utilisation de métriques personnalisées vous permet de définir une stratégie de dimensionnement Suivi de la cible répondant à vos exigences personnelles. Vous pouvez définir une métrique personnalisée basée sur n'importe quelle métrique ElastiCache pour Valkey et Redis OSS qui change proportionnellement à la mise à l'échelle. Toutes les ElastiCache mesures ne fonctionnent pas pour le suivi des cibles. La métrique doit être une métrique d'utilisation valide et décrire le degré d'occupation d'une instance. La valeur de la métrique doit augmenter ou diminuer proportionnellement au nombre de réplicas dans le cluster. Cette augmentation ou diminution proportionnelle est nécessaire pour que les données de la métrique puissent être utilisées afin d'augmenter ou de réduire proportionnellement le nombre de réplicas .

L'exemple suivant décrit une configuration de suivi de la cible pour une politique de dimensionnement. Dans cette configuration, une métrique personnalisée ajuste un cluster en fonction d'une utilisation moyenne du processeur de 50 % pour toutes les répliques d'un cluster nommé. my-db-cluster

{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ {"Name": "ReplicationGroup","Value": "my-db-cluster"}, {"Name": "Role","Value": "REPLICA"} ], "Statistic": "Average", "Unit": "Percent" } }

Utilisation des temps de stabilisation

Vous pouvez spécifier une valeur, en secondes, pour que ScaleOutCooldown ajoute un temps de stabilisation à la montée en puissance de votre cluster. De la même manière, vous pouvez ajouter une valeur, en secondes, pour que ScaleInCooldown ajoute un temps de stabilisation pour la diminution de charge de votre cluster. Pour plus d'informations sur ScaleInCooldown et ScaleOutCooldown, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d'API Application Auto Scaling. L'exemple suivant décrit une configuration de suivi de la cible pour une politique de dimensionnement. Dans cette configuration, la métrique ElastiCacheReplicaEngineCPUUtilization prédéfinie est utilisée pour ajuster un cluster en fonction d'une utilisation moyenne du processeur de 40 % pour toutes les répliques de ce cluster. La configuration indique un temps de stabilisation de diminution en charge de 10 minutes et un temps de stabilisation de montée en charge de 5 minutes.

{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Désactivation de l'activité de diminution en charge

Vous pouvez empêcher la configuration de la politique de dimensionnement du suivi des cibles de s'adapter à votre cluster ElastiCache for Valkey et Redis OSS en désactivant l'activité de dimensionnement. La désactivation de l'activité de diminution en charge empêche la politique de mise à l'échelle de supprimer des réplicas, tout en l'autorisant encore à les créer si nécessaire.

Vous pouvez spécifier une valeur booléenne pour que DisableScaleIn active ou désactive l'activité de diminution en charge de votre cluster. Pour plus d'informations sur DisableScaleIn, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d'API Application Auto Scaling.

L'exemple suivant décrit une configuration de suivi de la cible pour une politique de dimensionnement. Dans cette configuration, la métrique ElastiCacheReplicaEngineCPUUtilization prédéfinie ajuste un cluster en fonction d'une utilisation moyenne du processeur de 40 % pour toutes les répliques de ce cluster. La configuration désactive l'activité de diminution en charge pour la politique de dimensionnement.

{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }

Appliquer une politique de dimensionnement à un cluster ElastiCache pour Valkey et Redis OSS

Après avoir enregistré votre cluster auprès ElastiCache de Valkey et Redis OSS Auto Scaling et défini une politique de dimensionnement, vous appliquez la politique de dimensionnement au cluster enregistré. Pour appliquer une politique de dimensionnement à un cluster ElastiCache pour Valkey et Redis OSS, vous pouvez utiliser l'API Application Auto Scaling AWS CLI ou l'API Application Auto Scaling.

À l'aide du AWS CLI

Pour appliquer une politique de dimensionnement à votre cluster ElastiCache for Valkey et Redis OSS, utilisez la put-scaling-policycommande avec les paramètres suivants :

  • --policy-name : nom de la politique de mise à l'échelle.

  • --policy-type : définissez cette valeur à TargetTrackingScaling.

  • --resource-id — Identifiant de ressource pour le cluster. Pour ce paramètre, le type de ressource est ReplicationGroup et l'identifiant unique est le nom du cluster, par exemplereplication-group/myscalablecluster.

  • --service-namespace : définissez cette valeur à elasticache.

  • --scalable-dimension : définit cette valeur à elasticache:replication-group:Replicas.

  • -- target-tracking-scaling-policy -configuration — Configuration de la politique de dimensionnement du suivi des cibles à utiliser pour le cluster.

Dans l'exemple suivant, vous appliquez une politique de dimensionnement de suivi des cibles nommée myscalablepolicy à un cluster nommé avec mise à l'échelle myscalablecluster ElastiCache automatique. Pour ce faire, vous utilisez une configuration de politique enregistrée dans un fichier nommé config.json.

Pour Linux, macOS ou Unix :

aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id replication-group/myscalablecluster \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:Replicas \ --target-tracking-scaling-policy-configuration file://config.json
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }

Pour Windows :

aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id replication-group/myscalablecluster ^ --service-namespace elasticache ^ --scalable-dimension elasticache:replication-group:Replicas ^ --target-tracking-scaling-policy-configuration file://config.json

Utilisation de l'API

Pour appliquer une politique de dimensionnement à votre ElastiCache cluster avec l'API Application Auto Scaling, utilisez l'opération PutScalingPolicyApplication Auto Scaling API avec les paramètres suivants :

  • PolicyName — Le nom de la politique de dimensionnement.

  • PolicyType — Définissez cette valeur surTargetTrackingScaling.

  • ResourceID — Identifiant de ressource pour le cluster. Pour ce paramètre, le type de ressource est ReplicationGroup et l'identifiant unique est le nom du ElastiCache cluster Redis OSS, par exemplereplication-group/myscalablecluster.

  • ServiceNamespace — Définissez cette valeur sur elasticache.

  • ScalableDimension — Définissez cette valeur surelasticache:replication-group:Replicas.

  • TargetTrackingScalingPolicyConfiguration — La configuration de la politique de dimensionnement du suivi des cibles à utiliser pour le cluster.

Dans l'exemple suivant, vous appliquez une politique de dimensionnement de suivi des cibles nommée scalablepolicy à un cluster nommé avec mise à l'échelle myscalablecluster ElastiCache automatique. Vous utilisez une configuration de politique basée sur la métrique prédéfinie ElastiCacheReplicaEngineCPUUtilization.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "elasticache", "ResourceId": "replication-group/myscalablecluster", "ScalableDimension": "elasticache:replication-group:Replicas", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" } } }