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

弹性伸缩策略

扩展策略包含以下组件:

  • 目标指标 – ElastiCache for Valkey and Redis OSS 自动扩缩使用的 CloudWatch 指标,用于确定何时扩缩以及扩缩多少。

  • 最小和最大容量 – 可扩展的最小和最大分区或副本数。

    重要

    创建弹性伸缩策略时,如果当前容量高于配置的最大容量,我们会在策略创建过程中横向缩减为最大容量。同样,如果当前容量低于配置的最小容量,我们将横向扩展到最小容量。

  • 冷却时间 – 在完成一个横向缩减或横向扩展活动后开始另一个横向扩展活动之前等待的时间(秒)。

  • 服务相关角色 – 与特定 Amazon 服务关联的 Amazon Identity and Access Management (IAM) 角色。服务相关角色包含服务代表您调用其他 Amazon 服务所需的一切权限。ElastiCache 自动扩缩会自动为您生成此角色,即 AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG

  • 启用或禁用横向缩减活动 – 能够为策略启用或禁用横向缩减活动。

弹性伸缩目标指标

在这种类型的策略中,预定义或自定义指标以及指标目标值是在目标跟踪扩展策略配置中指定的。ElastiCache for Valkey and Redis OSS 自动扩缩可创建和管理触发扩缩策略的 CloudWatch 警报,并根据指标和目标值计算扩缩调整。扩展策略根据需要添加或删除分区/副本,以便将指标保持在指定的目标值或该值附近。除了将指标保持在目标值附近以外,目标跟踪扩展策略还会根据由于工作负载变化而造成的指标波动进行调整。这种策略还会最大限度减少集群的可用分区/副本数的快速波动。

例如,考虑使用具有预定义的平均 ElastiCachePrimaryEngineCPUUtilization 指标的扩展策略。这种策略可以将 CPU 使用率保持在指定的使用率百分比(如 70%)或该值附近。

注意

对于每个集群,您只能针对每个目标指标创建一个弹性伸缩策略。

最小和最大容量

分片

您可以指定 ElastiCache for Valkey and Redis OSS 自动扩缩可以扩缩的最大分片数量。此值必须小于或等于 250 且最小为 1。您还可以指定由自动扩缩管理的最小分片数。此值必须至少为 1,且等于或小于为最大分区数 (250) 指定的值。

副本

您还可以指定由 ElastiCache for Valkey and Redis OSS 自动扩缩管理的最大副本数。此值必须小于或等于 5。您还可以指定由自动扩缩管理的副本的最小数量。此值必须至少为 1,且等于或小于为最大副本数 (5) 指定的值。

要确定典型流量所需的最小和最大分区/副本数,请使用模型的预期通信速率测试弹性伸缩配置。

注意

ElastiCache 自动扩缩策略会增加集群容量,直到其达到您定义的最大大小或直到服务限额适用为止。若要请求提高限制,请参阅 Amazon Service Limits 并选择限制类型 Nodes per cluster per instance type(每个实例类型的每个集群的节点数)

重要

在无流量时横向缩减。如果变体的流量变为零,ElastiCache 会自动横向缩减到指定的最小实例数。

冷却时间

您可以添加影响集群扩展的冷却时间,以优化目标跟踪扩缩策略的响应速度。冷却时间阻止后续扩展或缩减请求,直至冷却时间到期。这会减慢横向缩减请求在 ElastiCache for Valkey and Redis OSS 集群中删除分片/副本的速度,以及横向扩展请求创建分片/副本的速度。您可以指定以下冷却时间:

  • 横向缩减活动会减少集群中的分片/副本数量。缩减冷却时间指定在完成一个缩减活动后开始另一个缩减活动之前等待的时间 (秒)。

  • 横向扩展活动会增加集群中分片/副本的数量。扩展冷却时间指定在完成一个扩展活动后开始另一个扩展活动之前等待的时间 (秒)。

如果未指定横向缩减或横向扩展冷却时间,则默认横向扩展冷却时间为 600 秒,默认横向缩减冷却时间为 900 秒。

启用或禁用缩减活动

您可以为策略启用或禁用缩减活动。启用横向缩减活动允许扩展策略删除分区/副本。在启用缩减活动时,扩展策略中的缩减冷却时间将应用于缩减活动。禁用横向缩减活动将禁止扩展策略删除分区/副本。

注意

横向扩展活动始终处于启用状态,以便扩缩策略可以根据需要创建 ElastiCache 分片/副本。