

# 通过 AWS 管理控制台使用 DynamoDB 自动扩缩
<a name="AutoScaling.Console"></a>

如果您使用 AWS 管理控制台 创建表或，默认情况下将启用 Amazon DynamoDB 自动扩缩。您还可以使用控制台为现有表启用自动扩缩、修改自动扩缩设置或禁用自动扩缩。

**注意**  
 对于设置缩减和扩展冷却时间等更高级的功能，请使用 AWS Command Line Interface (AWS CLI) 通过编程方式管理 DynamoDB 自动扩缩。有关更多信息，请参阅 [使用 AWS CLI 管理 DynamoDB 自动扩缩](AutoScaling.CLI.md)。

**Topics**
+ [开始之前：向用户授予 DynamoDB 自动扩缩的权限](#AutoScaling.Permissions)
+ [创建启用了自动扩缩的新表](#AutoScaling.Console.NewTable)
+ [在现有表上启用 DynamoDB 自动扩缩](#AutoScaling.Console.ExistingTable)
+ [在控制台上查看自动扩缩活动](#AutoScaling.Console.ViewingActivities)
+ [修改或禁用 DynamoDB 自动扩缩设置](#AutoScaling.Console.Modifying)

## 开始之前：向用户授予 DynamoDB 自动扩缩的权限
<a name="AutoScaling.Permissions"></a>

在 AWS Identity and Access Management（IAM）中，AWS 托管策略 `DynamoDBFullAccess` 提供使用 DynamoDB 控制台所需的权限。但是，对于 DynamoDB 自动扩缩，用户需要额外的权限。

**重要**  
 要删除启用自动扩缩的表，需要 `application-autoscaling:*` 权限。AWS 托管策略 `DynamoDBFullAccess` 包含此类权限。

要设置用户来执行 DynamoDB 控制台访问和 DynamoDB 自动扩缩操作，请创建一个角色并向该角色添加 **AmazonDynamoDBFullAccess** 策略。然后，将该角色分配给用户。

## 创建启用了自动扩缩的新表
<a name="AutoScaling.Console.NewTable"></a>

**注意**  
DynamoDB Auto Scaling 功能需要存在一个代表您执行自动扩缩操作的服务相关角色（`AWSServiceRoleForApplicationAutoScaling_DynamoDBTable`）。将自动为您创建此角色。有关更多信息，请参阅《应用程序自动扩缩用户指南》**中的[实现应用程序自动扩缩的服务相关角色](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)。

**创建启用了自动扩缩的新表**

1. 打开 DynamoDB 控制台：[https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)。

1. 选择**创建表**。

1. 在**创建表**页面上，输入**表名称**和主键详细信息。

1. 如果您选择**默认设置**，则会在新表中启用自动扩缩。

   否则，请选择**自定义设置**，并执行以下操作来指定表的自定义设置：

   1. 对于**表类**，请保留默认选择 **DynamoDB 标准**。

   1. 对于**读/写容量设置**，请保留默认选择**已预置**，然后执行以下操作：

      1. 对于**读取容量**，请确保将**自动扩缩**设置为**开启**。

      1. 对于**写入容量**，请确保将**自动扩缩**设置为**开启**。

      1. 对于**读取容量**和**写入容量**，请为表以及表的所有全局二级索引（可选）设置所需的扩展策略。
         + **最小容量单位** – 输入自动扩缩范围的下限。
         + **最大容量单位** – 输入自动扩缩范围的上限。
         + **目标利用率** - 输入表的目标利用率百分比。
**注意**  
如果为新表创建全局二级索引，则该索引在创建时的容量将与基表的容量相同。创建表后，您可以在表的设置中更改索引的容量。

1. 选择**创建表**。这会使用您指定的自动扩缩参数创建表。

## 在现有表上启用 DynamoDB 自动扩缩
<a name="AutoScaling.Console.ExistingTable"></a>

**注意**  
DynamoDB 自动扩缩功能需要存在一个代表您执行自动扩缩操作的服务相关角色（`AWSServiceRoleForApplicationAutoScaling_DynamoDBTable`）。将自动为您创建此角色。有关更多信息，请参阅 [Application Auto Scaling 的服务相关角色](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)。

**为现有表启用 DynamoDB 自动扩缩**

1. 打开 DynamoDB 控制台：[https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)。

1. 在控制台左侧的导航窗格中，选择**表**。

1. 选择您要启用自动扩缩的表，然后执行以下操作：

   1. 选择**其他设置**选项卡。

   1. 在**读/写容量**部分中，选择**编辑**。

   1. 在**容量模式**部分中，选择**预调配**。

   1. 在**表容量**部分，对于**读取容量**和/或**写入容量**，将**自动扩缩**设置为**开启**。对于其中每一个，请为表以及表的所有全局二级索引（可选）设置所需的扩展策略。
      + **最小容量单位** – 输入自动扩缩范围的下限。
      + **最大容量单位** – 输入自动扩缩范围的上限。
      + **目标利用率** - 输入表的目标利用率百分比。
      + **将相同的读/写容量设置应用于所有全局二级索引** – 选择全局二级索引是否应使用与基表相同的自动扩缩策略。
**注意**  
为获得最佳性能，建议您启用**将相同的读/写容量设置应用于所有全局二级索引**。此选项允许 DynamoDB 自动扩缩均匀扩展表上的所有全局二级索引。这包括现有的全局二级索引，以及您将来为此表创建的任何其他索引。  
启用此选项后，您无法对单个全局二级索引设置扩展策略。

1. 根据需要进行设置后，选择 **Save (保存)**。

## 在控制台上查看自动扩缩活动
<a name="AutoScaling.Console.ViewingActivities"></a>

当您的应用程序驱动对表进行读取和写入流量时，DynamoDB 自动扩缩功能会动态修改表的吞吐量设置。Amazon CloudWatch 会跟踪所有 DynamoDB 表和二级索引的预配置和使用的容量、受限事件、延迟以及其他指标。

要在 DynamoDB 控制台中查看这些指标，请选择要处理的表，然后选择**监控**选项卡。要创建表指标的可自定义视图，请选择 **View all in CloudWatch (在 CloudWatch 中查看全部)**。

## 修改或禁用 DynamoDB 自动扩缩设置
<a name="AutoScaling.Console.Modifying"></a>

您可以使用 AWS 管理控制台 修改 DynamoDB 自动扩缩设置。要执行此操作，请转至表的**其他设置**选项卡，然后选择**读/写容量**部分中的**编辑**。有关这些设置的更多信息，请参阅 [在现有表上启用 DynamoDB 自动扩缩](#AutoScaling.Console.ExistingTable)。