使用 DynamoDB Auto Scaling 自动管理吞吐容量
DynamoDB Auto Scaling 使用 AWS Application Auto Scaling 服务代表您动态调整预置的吞吐容量,以响应实际的流量模式。这将允许表或全局二级索引增大其预置的读取和写入容量以处理突增流量,而不进行限制。当工作负载减小时,Application Auto Scaling 将减少吞吐量,这样您将无需为未使用的预置容量付费。
利用 Application Auto Scaling,您可以为表或全局二级索引创建扩展策略。扩展策略指定是要扩展读取容量还是写入容量 (或二者),并为表或索引指定最小的和最大的预置容量单位设置。
除了表之外,DynamoDB Auto Scaling 还支持全局二级索引。每个全局二级索引均有各自的预置的吞吐容量,这独立于其基表的吞吐容量。在为全局二级索引创建扩展策略时,Application Auto Scaling 将调整索引的预置吞吐量设置,确保其实际使用量达到或接近所需的使用率。
下图高度概述了 DynamoDB Auto Scaling 管理表的吞吐容量的方式:
![](https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/images/auto-scaling.png)
以下步骤汇总了上图中所示的 Auto Scaling 流程:
-
为 DynamoDB 表创建 Application Auto Scaling 策略。
-
DynamoDB 将使用的容量指标发布到 Amazon CloudWatch。
-
如果表使用的容量在特定时段内超出目标使用率 (或低于目标使用率),则 Amazon CloudWatch 将触发警报。您可以在 AWS 管理控制台上查看警报并使用 Amazon Simple Notification Service (Amazon SNS) 接收通知。
-
CloudWatch 警报调用 Application Auto Scaling 来评估扩展策略。
-
Application Auto Scaling 发出
UpdateTable
请求以调整表的预置吞吐量。 -
DynamoDB 处理
UpdateTable
请求,并动态增加(或减少)表的预置的吞吐容量,使它接近目标使用率。