Skip to main content

Remediate Over-Provisioned DynamoDB Table

Overview

This tutorial demonstrates how to remediate an over-provisioned DynamoDB table by switching from provisioned capacity mode to on-demand billing. When a table has significantly more provisioned Read Capacity Units (RCU) and Write Capacity Units (WCU) than it actually uses, you're paying for idle capacity. Switching to on-demand eliminates this waste.

Cost Impact: Switching from provisioned (25 RCU / 25 WCU) to on-demand eliminates the fixed cost of unused provisioned capacity. At low utilization (<20%), on-demand billing typically costs significantly less since you only pay per-request ($1.25 per million write request units, $0.25 per million read request units in us-east-1). For a table consuming well under its provisioned limits, this can reduce costs by 50-80%.

Prerequisites

  • Access to the AWS Console
  • Appropriate IAM permissions to modify DynamoDB table settings
  • Understanding of the table's traffic patterns (confirm utilization is consistently low)

Step 1: Navigate to the DynamoDB Table

Navigate to the DynamoDB table remediation-dynamodb-over-provisioned-table in the AWS Console at: https://us-east-1.console.aws.amazon.com/dynamodbv2/home?region=us-east-1#table?name=remediation-dynamodb-over-provisioned-table

Step 2: Review the Table Overview

On the table detail page, you can see the current capacity mode and provisioned throughput. Click the Additional settings tab to view the full capacity configuration.

Step 3: View Current Capacity Settings

Click the Read/write capacity tab. Here you can see the current billing mode is Provisioned with 25 Read Capacity Units (RCU) and 25 Write Capacity Units (WCU). With less than 20% utilization over 30 days, this capacity is significantly over-provisioned.

Step 4: Edit Capacity Settings

Click Edit to modify the capacity settings.

Step 5: Switch to On-Demand Mode

Under Read/write capacity settings, select On-demand capacity mode. On-demand mode automatically scales to handle your workload and you only pay for the read/write requests your application actually performs.

Note: After switching to on-demand, you must wait 24 hours before you can switch back to provisioned mode.

Step 6: Save Changes

Click Save changes to apply the new billing mode.

Step 7: Verify the Change

Verify that the table now shows On-demand as the capacity mode. The change takes effect immediately — DynamoDB will now automatically scale capacity based on actual traffic and you will only be charged for consumed read/write units.

Alternative Approaches

Reduce Provisioned Capacity

Instead of switching to on-demand, lower the RCU/WCU to match actual usage (e.g., reduce from 25 to 5 RCU/WCU). This is better if traffic patterns are predictable and you want cost certainty.

Enable Auto Scaling

Keep provisioned mode but configure auto scaling with a lower minimum capacity and a target utilization of 70%. This allows DynamoDB to scale down during low-traffic periods while scaling up when needed.

Summary

  • Remediation: Switch from provisioned to on-demand billing mode
  • Savings: 50-80% cost reduction for low-utilization tables
  • Risk: Minimal — on-demand scales automatically with no capacity limits
  • Rollback: Wait 24 hours, then switch back to provisioned mode if needed

Regularly reviewing DynamoDB capacity settings ensures you're not paying for unused throughput, especially for tables with variable or low traffic patterns.