

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon DynamoDB 和 Application Auto Scaling
<a name="services-that-can-integrate-dynamodb"></a>

您可以使用目标跟踪扩缩策略和计划的扩缩来扩展 DynamoDB 表和全局二级索引。

使用以下信息可帮助您将 DynamoDB 与 Application Auto Scaling 集成。

## 为 DynamoDB 创建的服务相关角色
<a name="integrate-service-linked-role-dynamodb"></a>

使用 Application Auto Scaling 将 DynamoDB 资源注册为可扩展目标 AWS 账户 时，将在您的中自动创建以下服务相关角色。此角色允许 Application Auto Scaling 在您的账户中执行受支持的操作。有关更多信息，请参阅 [Application Auto Scaling 的服务相关角色](application-auto-scaling-service-linked-roles.md)。
+ `AWSServiceRoleForApplicationAutoScaling_DynamoDBTable`

## 服务相关角色使用的服务委托人
<a name="integrate-service-principal-dynamodb"></a>

上一节中的服务相关角色只能由为角色定义的信任关系授权的服务委托人担任。Application Auto Scaling 使用的服务相关角色为以下服务委托人授予访问权限：
+ `dynamodb.application-autoscaling.amazonaws.com`

## 使用 Application Auto Scaling 将 DynamoDB 资源注册为可扩展目标
<a name="integrate-register-dynamodb"></a>

Application Auto Scaling 需要一个可扩展目标，然后才能为 DynamoDB 表或全局二级索引创建扩缩策略或计划的操作。可扩展目标是 Application Auto Scaling 可以横向扩展或横向缩减的资源。可扩展目标由资源 ID、可扩展维度和命名空间的组合唯一标识。

如果您使用 DynamoDB 控制台配置弹性伸缩，DynamoDB 会自动为您注册一个可扩展的目标。

如果要使用 AWS CLI 或其中一个来配置 auto Scaling AWS SDKs，则可以使用以下选项：
+ AWS CLI: 

  调用[register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)命令获取表的写入容量。以下示例注册了名为的表的预配置写入容量`my-table`，该表的最小写入容量为五个写入容量单位，最大容量为 10 个写入容量单位：

  ```
  aws application-autoscaling register-scalable-target \
    --service-namespace dynamodb \
    --scalable-dimension dynamodb:table:WriteCapacityUnits \
    --resource-id table/my-table \
    --min-capacity 5 \
    --max-capacity 10
  ```

  如果成功，此命令将返回可扩展目标的 ARN：

  ```
  {
      "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
  }
  ```

  调用[register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)命令获取表的读取容量。以下示例注册了名为的表的预配置读取容量`my-table`，该表的最小容量为 5 个读取容量单位，最大容量为 10 个读取单元：

  ```
  aws application-autoscaling register-scalable-target \
    --service-namespace dynamodb \
    --scalable-dimension dynamodb:table:ReadCapacityUnits \
    --resource-id table/my-table \
    --min-capacity 5 \
    --max-capacity 10
  ```

  如果成功，此命令将返回可扩展目标的 ARN：

  ```
  {
      "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
  }
  ```

  调用[register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)命令获取全局二级索引的写入容量。以下示例注册了名为的全局二级索引的预配置写入容量`my-table-index`，该索引的最小写入容量为五个写入容量单位，最大容量为 10 个写入容量单位：

  ```
  aws application-autoscaling register-scalable-target \
    --service-namespace dynamodb \
    --scalable-dimension dynamodb:index:WriteCapacityUnits \
    --resource-id table/my-table/index/my-table-index \
    --min-capacity 5 \
    --max-capacity 10
  ```

  如果成功，此命令将返回可扩展目标的 ARN：

  ```
  {
      "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
  }
  ```

  调用[register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)命令获取全局二级索引的读取容量。以下示例注册了名为的全局二级索引的预配置读取容量`my-table-index`，该索引的最小容量为 5 个读取容量单位，最大容量为 10 个读取容量单位：

  ```
  aws application-autoscaling register-scalable-target \
    --service-namespace dynamodb \
    --scalable-dimension dynamodb:index:ReadCapacityUnits \
    --resource-id table/my-table/index/my-table-index \
    --min-capacity 5 \
    --max-capacity 10
  ```

  如果成功，此命令将返回可扩展目标的 ARN：

  ```
  {
      "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
  }
  ```
+ AWS 软件开发工具包：

  调用 [RegisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html) 操作并提供 `ResourceId`、`ScalableDimension`、`ServiceNamespace`、`MinCapacity` 和 `MaxCapacity` 作为参数。

## 相关资源
<a name="dynamodb-related-resources"></a>

如果您刚刚开始使用 Application Auto Scaling，则可以在以下文档中找到有关扩展 DynamoDB 资源的其它有用信息：
+ *Amazon DynamoDB 开发人员指南*中的[使用 DynamoDB Auto Scaling 管理吞吐量](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html)
+ 《Amazon DynamoDB 开发人员指南》**中的[评估表的自动扩缩设置](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CostOptimization_AutoScalingSettings.html)
+ [CloudFormation 如何使用博客上的 DynamoDB 表和索引配置自动缩放](https://aws.amazon.com/blogs/database/how-to-use-aws-cloudformation-to-configure-auto-scaling-for-amazon-dynamodb-tables-and-indexes/) AWS 