

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 會自動為您註冊可擴展的目標。

如果您想要使用 CLI 或其中一個 AWS SDKs AWS 設定自動擴展，您可以使用下列選項：
+ AWS CLI: 

  為資料表的寫入容量呼叫 [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: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`，容量下限為 5 個寫入容量單位，容量上限為 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 