1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 你提到了目标跟踪,我假设你已经对Aurora集群设置了AutoScaling。你也可以使用Scheduled Scaling策略,这是Application AutoScaling的本地部分(该服务告知RDS何时进行扩缩容)https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html。这将比EventBridge -> Lambda更简单,更便宜(没有Lambda成本)。在设置时确保选择时区,如果你居住在时区变化的国家,则需要考虑这些变化。
总结:如果你只使用Scheduled Action而不是目标跟踪,只需在每个Scheduled Action中将Min和Max设置为相同的值,那么所需容量将会更改为该值。如果你也使用目标跟踪来处理突发流量,则需要将Min设置为希望在扩容时所需的值,并将Max设置为略高的值,以允许额外的扩容来处理突发流量。
详细信息:Scheduled Action设置可伸缩目标的min和/或max值。如果所需容量超出了这个新的min/max范围,它将随着新的min/max值一起移动。以下是一些快速缩放示例,但类似的概念适用于缩小(在操作之前的第一列值;计划活动设置的中间列是min/max;触发计划活动后的最后一列值。NULL意味着该值未包含在计划活动中)
最小/最大/所需容量 | 最小/最大 | 最小/最大/所需容量 | 注释 |
---|---|---|---|
0/0/0 | 2/2 | 2/2/2 | 最小值和最大值设置为 2,因此期望值会增加到 2 以不低于最小值 |
0/1/1 | NULL/4 | 0/1/4 | 期望值没有上升,因为只有最大值增加了,期望值仍介于最小值和最大值之间 |
0/1/2 | 2/4 | 2/2/4 | 期望值上升了 1,因此不低于 Min。最大值为 4 以允许动态缩放 |
1/4/4 | 2/6 | 2/4/6 | 期望值没有变化,因为它已经更高了(大概来自目标跟踪),并且在预定动作之后仍处于最小值和最大值之间。 |