Identify any Amazon DynamoDB tables with underutilized read capacity and downsize the provisioned capacity to lower the cost of your monthly AWS bill. The read capacity downsize should be used in conjunction with DynamoDB Auto Scaling in order to manage the throughput capacity automatically and save costs. Once enabled, DynamoDB Auto Scaling will dynamically adjust provisioned read capacity on your behalf, in response to current traffic patterns (i.e. when the workload decreases, the throughput is also decreased automatically to stop paying for unused provisioned capacity). By default, a DynamoDB table read capacity is considered "underutilized" when the number of read capacity units consumed is lower than the number of provisioned read capacity units set for a table over a specified time period.
The AWS CloudWatch metrics utilized to detect underused DynamoDB read capacity are:
ProvisionedReadCapacityUnits - the number of provisioned read capacity units for a DynamoDB table (Units: Count).
ConsumedReadCapacityUnits - the number of read capacity units consumed over the specified time period (Units: Count).
optimisation
You are being charged for AWS DynamoDB read capacity, regardless whether or not you use the provisioned capacity units for your tables. To avoid unexpected charges on your AWS bill, it is recommended to downsize the provisioned read capacity to the bare minimum and use DynamoDB Auto Scaling to manage the throughput capacity based on workload.
Audit
To identify any DynamoDB tables with underutilized read capacity, available in your AWS account, perform the following actions:
Remediation / Resolution
To downsize the provisioned read capacity for your underutilized Amazon DynamoDB tables and enable Auto Scaling to help automate capacity management, perform the following:
References
- AWS Documentation
- FAQs
- Amazon DynamoDB Pricing
- Amazon DynamoDB Metrics and Dimensions
- Managing Throughput Capacity Automatically with DynamoDB Auto Scaling
- Using the AWS Management Console With DynamoDB Auto Scaling
- Using the AWS CLI to Manage DynamoDB Auto Scaling
- AWS Command Line Interface (CLI) Documentation
- dynamodb
- list-tables
- cloudwatch
- get-metric-statistics
- iam
- create-role
- create-policy
- attach-role-policy
- application-autoscalinghttp://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html
- register-scalable-targethttp://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html
- put-scaling-policy
- AWS Blog(s)
- New – Auto Scaling for Amazon DynamoDB