本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
弹性伸缩策略
扩展策略包含以下组件:
-
目标指标 — 使用 Valkey 或 Redis OSS Auto Scaling 时使用该 CloudWatch 指标来确定何时扩展以及扩展多少。 ElastiCache
-
最小和最大容量 – 可扩展的最小和最大分区或副本数。
重要
在创建 Auto Scaling 策略时,如果当前容量高于配置的最大容量,我们 scaleIn MaxCapacity 将在策略创建期间执行。同样,如果当前容量低于配置的最小容量,我们 scaleOut 将 MinCapacity。
-
冷却时间 – 在完成一个横向缩减或横向扩展活动后开始另一个横向扩展活动之前等待的时间(秒)。
-
服务相关角色 — 链接到特定 Amazon 服务的 Amazon 身份和访问管理 (IAM) 角色。服务相关角色包括该服务代表您调用其他 Amazon 服务所需的所有权限。 ElastiCache 使用 Valkey 或 Redis OSS Auto Scaling 会自动为你
AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG
生成这个角色。 -
启用或禁用横向缩减活动 – 能够为策略启用或禁用横向缩减活动。
弹性伸缩目标指标
在此类型的策略中,预定义或自定义指标以及该指标的目标值是在目标跟踪扩展策略配置中指定的。 ElastiCache 使用 Valkey 或 Redis OSS Auto Scaling 可创建和管理触发扩展策略的 CloudWatch 警报,并根据指标和目标值计算缩放调整。扩展策略根据需要添加或删除分区/副本,以便将指标保持在指定的目标值或该值附近。除了将指标保持在目标值附近以外,目标跟踪扩展策略还会根据由于工作负载变化而造成的指标波动进行调整。这种策略还会最大限度减少集群的可用分区/副本数的快速波动。
例如,考虑使用具有预定义的平均 ElastiCachePrimaryEngineCPUUtilization
指标的扩展策略。这样的策略可以将CPU利用率保持在或接近指定的利用率百分比,例如 70%。
注意
对于每个集群,您只能针对每个目标指标创建一个弹性伸缩策略。
最小和最大容量
分片
您可以使用 Valkey 或 Redis OSS 自动缩放来 ElastiCache 指定可以缩放的最大分片数。此值必须小于或等于 250 且最小为 1。您还可以指定要通过 auto scaling 管理的最小分片数。此值必须至少为 1,且等于或小于为最大分区数 (250) 指定的值。
副本
您可以使用 Valkey 或 Redis OSS 自动缩放来 ElastiCache 指定要管理的最大副本数。此值必须小于或等于 5。您还可以指定由 auto Scaling 管理的最小副本数。此值必须至少为 1,且等于或小于为最大副本数 (5) 指定的值。
要确定典型流量所需的最小和最大分区/副本数,请使用模型的预期通信速率测试弹性伸缩配置。
注意
ElastiCache 使用 Valkey 或 Redis 的OSS自动扩展策略可以增加集群容量,直到集群容量达到您定义的最大大小或适用服务限制。若要请求提高限制,请参阅 Amazon Service Limits 并选择限制类型 Nodes per cluster per instance type(每个实例类型的每个集群的节点数)。
重要
在无流量时横向缩减。如果变体的流量变为零,则 ElastiCache 使用 Valkey 或 Redis OSS 会自动缩放到指定的最小实例数。
冷却时间
您可以添加影响集群扩展的冷却时间,以优化目标跟踪扩缩策略的响应速度。冷却时间阻止后续扩展或缩减请求,直至冷却时间到期。这会减慢 ElastiCache 使用 Valkey 或 Redis OSS 集群中为缩小请求删除分片/副本的速度,以及为扩展请求创建分片/副本的速度。您可以指定以下冷却时间:
-
缩减活动会减少集群中分片/副本的数量。缩减冷却时间指定在完成一个缩减活动后开始另一个缩减活动之前等待的时间 (秒)。
-
横向扩展活动会增加集群中分片/副本的数量。扩展冷却时间指定在完成一个扩展活动后开始另一个扩展活动之前等待的时间 (秒)。
如果未指定横向缩减或横向扩展冷却时间,则默认横向扩展冷却时间为 600 秒,默认横向缩减冷却时间为 900 秒。
启用或禁用缩减活动
您可以为策略启用或禁用缩减活动。启用横向缩减活动允许扩展策略删除分区/副本。在启用缩减活动时,扩展策略中的缩减冷却时间将应用于缩减活动。禁用横向缩减活动将禁止扩展策略删除分区/副本。
注意
横向扩展活动始终处于启用状态,因此扩展策略可以根据需要使用 Valkey 或 Redis OSS 分片/副本 ElastiCache 进行创建。