Amazon DynamoDB
Developer Guide (API Version 2012-08-10)

Using the AWS Management Console With DynamoDB Auto Scaling

When you use the AWS Management Console to create a new table, DynamoDB auto scaling is enabled for that table by default. You can also use the console to enable auto scaling for existing tables, modify auto scaling settings, or disable auto scaling.

Note

For more advanced features like setting scale in and scale out cooldown times use the AWS Command Line Interface (AWS CLI) to manage DynamoDB auto scaling.

Before You Begin: Grant User Permissions for DynamoDB Auto Scaling

In AWS Identity and Access Management (IAM), the AWS-managed policy DynamoDBFullAccess provides the required permissions for using the DynamoDB console. However, for DynamoDB auto scaling, IAM users will require some additional privileges.

Important

application-autoscaling:* permissions are required to delete an autoscaling enabled table. The AWS-managed policy DynamoDBFullAccess attached next includes such permissions.

To set up an IAM user for DynamoDB console access and DynamoDB auto scaling, add the following policy:

To attach the AmazonDynamoDBFullAccess policy

  1. Open the IAM console at https://console.aws.amazon.com/iam/.

  2. On the IAM console dashboard, choose Users, and then choose your IAM user from the list.

  3. On the Summary page, choose Add permissions.

  4. Choose Attach existing policies directly.

  5. From the list of policies, choose AmazonDynamoDBFullAccess, and then choose Next: Review.

  6. Choose Add permissions.

Creating a New Table with Auto Scaling Enabled

Note

DynamoDB auto scaling requires the presence of a service linked role (AWSServiceRoleForApplicationAutoScaling_DynamoDBTable) that performs auto scaling actions on your behalf. This role is created automatically for you. For more information, see Service-Linked Roles for Application Auto Scaling.

To create a new table with auto scaling enabled

  1. Open the DynamoDB console at https://console.aws.amazon.com/dynamodb/.

  2. Choose Create Table.

  3. On the Create DynamoDB table page, enter a Table name and Primary key details.

  4. Ensure that Use default settings is selected. (Your AWS account already has AWSServiceRoleForApplicationAutoScaling_DynamoDBTable.)

    Otherwise, for custom settings:

    1. Deselect Use default settings.

    2. In the Auto scaling section, set the parameter settings and ensure that AWSServiceRoleForApplicationAutoScaling_DynamoDBTable is selected.

  5. When the settings are as you want them, choose Create. Your table will be created with the auto scaling parameters.

Enabling DynamoDB Auto Scaling on Existing Tables

Note

DynamoDB auto scaling requires the presence of a service linked role (AWSServiceRoleForApplicationAutoScaling_DynamoDBTable) that performs auto scaling actions on your behalf. This role is created automatically for you. For more information, see Service-Linked Roles for Application Auto Scaling.

If you have never used DynamoDB auto scaling before, see Creating a New Table with Auto Scaling Enabled.

To enable DynamoDB auto scaling for an existing table, do the following:

  1. Open the DynamoDB console at https://console.aws.amazon.com/dynamodb/.

  2. Choose the table that you want to work with, and then choose Capacity.

  3. In the Auto Scaling section, do the following:

    1. Select Read capacity, Write capacity, or both. (For write capacity, note that you can choose Same settings as read.) For each of these, do the following:

      • Target utilization—Type your target utilization percentage for the table.

      • Minimum provisioned capacity—Type your lower boundary for the auto scaling range.

      • Maximum provisioned capacity—Type your upper boundary for the auto scaling range.

      • Apply same settings to global secondary indexes—Leave this option at its default setting (enabled).

        Note

        For best performance, we recommend that you enable Apply same settings to global secondary indexes. This option allows DynamoDB auto scaling to uniformly scale all the global secondary indexes on the base table. This includes existing global secondary indexes, and any others that you create for this table in the future.

        With this option enabled, you can't set a scaling policy on an individual global secondary index.

      (For Write capacity, note that you can choose Same settings as read.)

      In the IAM Role section, ensure that AWSServiceRoleForApplicationAutoScaling_DynamoDBTable is selected.

  4. When the settings are as you want them, choose Save.

Viewing Auto Scaling Activities in the Console

As your application drives read and write traffic to your table, DynamoDB auto scaling dynamically modifies the table's throughput settings.

To view these auto scaling activities in the DynamoDB console, choose the table that you want to work with. Choose Capacity, and then expand the Scaling activities section. When your table's throughput settings are modified, you will see informational messages here.

Modifying or Disabling DynamoDB Auto Scaling Settings

You can use the AWS Management Console to modify your DynamoDB auto scaling settings. To do this, go to the Capacity tab for your table and modify the settings in the Auto Scaling section. For more information about these settings, see Enabling DynamoDB Auto Scaling on Existing Tables.

To disable DynamoDB auto scaling, go to the Capacity tab for your table and clear Read capacity, Write capacity, or both.