How do I optimize costs with Amazon DynamoDB?
Last updated: 2022-08-31
I want to optimize the cost of my Amazon DynamoDB workloads.
Use these methods to optimize the cost of your DynamoDB workloads:
- Use the AWS Pricing Calculator to estimate DynamoDB costs, in advance.
- Optimize read/write costs by selecting the correct capacity mode.
- Optimize storage costs by selecting the correct table class.
- Use cost allocation tags.
Use the AWS Pricing Calculator to estimate DynamoDB costs
Use the AWS Pricing Calculator for DynamoDB to estimate the cost of your DynamoDB workloads before you build them. This includes the cost of features such as on-demand capacity mode, backup and restore, Amazon DynamoDB Streams, and Amazon DynamoDB Accelerator (DAX).
Optimize read/write cost by choosing the correct capacity mode for your DynamoDB table
On-demand capacity mode
On-demand capacity mode is a good option if you have unpredictable application traffic. With on-demand mode, you pay only for what you use.
If you configured a table as provisioned capacity mode, then you're charged for provisioned capacities even if you haven't consumed any I/O. So, if you have unused DynamoDB tables in your account, reduce the cost of your unused tables using on-demand mode.
Provisioned capacity mode
Provisioned capacity mode is a good option if you have predictable application traffic that is consistent or ramps gradually. Use this mode to forecast capacity requirements and control costs.
If you can predict your need for DynamoDB read and write throughput in a given AWS Region, then use DynamoDB reserved capacity to reduce costs. DynamoDB reserved capacity allows you to make an upfront commitment on your base level of provisioned capacity. Reserved capacity is not available for tables that use the DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class, or on-demand capacity.
For more information on DynamoDB capacity modes, see Read/write capacity mode.
Optimize storage cost by choosing the right table class for your DynamoDB table
Using the DynamoDB Standard-IA table class can reduce costs for tables that store data that you don't access regularly. This is a good option if you require long-term storage of data that you don't use often, such as application logs, or old social media posts. But, be aware that DynamoDB reads and writes for this table class are priced higher than standard tables.
For more information on DynamoDB table classes, see Table classes.
Use cost allocation tags for DynamoDB
Tagging for DynamoDB provides fine-grained visibility into your DynamoDB bill. You can assign tags to your tables, and see cost breakouts per tab to help with cost optimization by usage. To learn more about cost allocation reports for DynamoDB, see Introducing cost allocation tags for Amazon DynamoDB.
For information on Cost Allocation Tags, see Using cost allocation tags.