如何定期自动扩缩容Aurora只读副本?

0

【以下的问题经过翻译处理】 你好!我们目前正在使用亚马逊Aurora数据库,并希望根据时间表而不是目标跟踪策略来扩展读取副本。虽然控制台并没有原生支持此功能,但我们计划通过Lambda函数和EventBridge规则来实现。是否有更好的方法来实现我们的方法?

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/02/22/2/2最小值和最大值设置为 2,因此期望值会增加到 2 以不低于最小值
0/1/1NULL/40/1/4期望值没有上升,因为只有最大值增加了,期望值仍介于最小值和最大值之间
0/1/22/42/2/4期望值上升了 1,因此不低于 Min。最大值为 4 以允许动态缩放
1/4/42/62/4/6期望值没有变化,因为它已经更高了(大概来自目标跟踪),并且在预定动作之后仍处于最小值和最大值之间。
profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则