定义扩缩策略 - 亚马逊 ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

定义扩缩策略

目标跟踪扩展策略配置由定义指标和目标值的JSON块表示。您可以将扩展策略配置另存为文本文件中的一个JSON块。在调用 Amazon CLI 或 Application Auto Scal API ing 时,您可以使用该文本文件。有关策略配置语法的更多信息,请参阅《Application Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration中的。

您可以使用以下选项定义目标跟踪扩缩策略配置:

使用预定义的指标

通过使用预定义的指标,您可以在 ElastiCache (Redis) OSS Auto Scaling 中为 ElastiCache 使用 Valkey 或 Redis OSS 集群快速定义目标跟踪扩展策略。

目前,在 A NodeGroup uto Scaling 中 ElastiCache 支持以下预定义指标:

  • ElastiCachePrimaryEngineCPUUtilization— 集群中 CloudWatch所有主节点的EngineCPUUtilization指标的平均值。

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage— 集群中 CloudWatch 所有主节点的DatabaseMemoryUsageCountedForEvictPercentage指标的平均值。

  • ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage— 集群中 CloudWatch 所有主节点的ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage指标的平均值。

有关 EngineCPUUtilizationDatabaseMemoryUsageCountedForEvictPercentageDatabaseCapacityUsageCountedForEvictPercentage 指标的更多信息,请参阅使用 CloudWatch 指标监控使用情况。要在扩展策略中使用预定义的指标,您需要为扩展策略创建一个目标跟踪配置。此配置必须包括PredefinedMetricSpecification用于预定义指标的, TargetValue 以及该指标的目标值的。

以下示例描述了使用 Valkey 或 Redis 集群进行目标跟踪扩展 ElastiCache 的典型策略配置。OSS在此配置中,ElastiCachePrimaryEngineCPUUtilization预定义的指标用于根据集群中所有主节点的平均CPU利用率为 40% 来调整集群。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }

使用自定义指标

通过使用自定义指标,您可以定义满足您的自定义要求的目标跟踪扩展策略。您可以根据任何与扩展成比例变化的 ElastiCache 指标来定义自定义指标。并非所有 ElastiCache 指标都适用于目标跟踪。指标必须是有效的使用率指标,它用于描述实例的繁忙程度。指标值必须随集群中分区数按比例增加或减少。要使用指标数据按比例横向扩展或缩减分区数,必须按比例进行这种增加或减少。

以下示例说明了扩缩策略的目标跟踪配置。在此配置中,自定义指标根据名为的集群中所有分片的平均CPU利用率为 50% 来调整 ElastiCache (RedisOSS) 集群。my-db-cluster

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

使用冷却时间

您可以为 ScaleOutCooldown 指定一个值(秒)以添加横向扩展集群的冷却时间。同样,您可以为 ScaleInCooldown 添加一个值(秒)以添加横向缩减集群的冷却时间。有关更多信息,请参阅《Auto Scaling Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration中的。

以下示例说明了扩缩策略的目标跟踪配置。在此配置中,ElastiCachePrimaryEngineCPUUtilization预定义的指标用于根据集群中所有主节点的平均CPU利用率为 40% 来调整 ElastiCache (RedisOSS)集群。该配置将横向缩减冷却时间指定为 10 分钟,并将横向扩展冷却时间指定为 5 分钟。

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