Start a conversation

DynamoDB Optimize Capacity

AWS Resource Type:
Amazon DynamoDB Tables

Opportunity Description:

This Finder recommends — and can automatically switch — between Provisioned and On-Demand capacity modes for DynamoDB tables. By analyzing recent usage data and comparing the annual cost of the current mode against its alternative, CloudFix helps you determine which mode offers the greatest cost efficiency — without complex simulations or opaque logic.

It’s a fully transparent, auditable optimization that prioritizes simplicity, helping teams trust and act on the findings quickly.

Criteria for identifying the opportunity:

  • The DynamoDB table is in an ACTIVE state.

  • At least 95% CloudWatch metric coverage is available for ConsumedReadCapacityUnits and ConsumedWriteCapacityUnits during the lookback period (default: 30 days).

  • The annualized cost difference between the current and alternative mode exceeds a configured minimum savings threshold (e.g., $50).

  • Regional pricing for RCU/WCU and per-request units is available via the AWS Price List API.

  • Only single-mode tables (Provisioned or On-Demand) are considered — hybrid configurations are excluded.

Potential Savings (Annual Estimate):

Savings vary based on workload patterns and current mode. For example:

  • Provisioned to On-Demand: Ideal for tables with highly variable or spiky traffic — often results in 30–70% savings.

  • On-Demand to Provisioned: Ideal for consistently high traffic tables — can result in 50–80% savings.

Recommendations include precise projected savings in USD and percentage terms.

What happens when the Fixer is executed?

This Finder has an automatic Fixer. Along with the recommendation, CloudFix provides:

  • A side-by-side cost comparison (current vs. alternative mode)

  • Annual cost projections

  • Graphs comparing observed usage and proposed provisioned capacity

When you execute the fix (via Available to Execute in the finder modal, or automatically if Always Execute Fixer is enabled for this finder), CloudFix runs an SSM Automation runbook that performs the following steps, in order:

  1. Validate the table — confirms the table is ACTIVE and that the requested target mode is actually different from the table's current billing mode.
  2. Update the billing mode using the DynamoDB UpdateTable API. When switching to Provisioned, this also sets the base table's read/write capacity units (peak observed usage plus your configured buffer, default 15%) and provisions each Global Secondary Index — using CloudFix's recommended per-GSI values, falling back to the GSI's existing throughput, and finally to the base table's target values if neither is available.
  3. Wait for the table to return to ACTIVE status (up to 30 minutes).
  4. Tag the table with cloudfix:fixerId, cloudfix:originalResourceId, cloudfix:executionDate, and cloudfix:executionId to record that CloudFix made the change.

You can still switch modes manually in the AWS Console or via API instead, if you prefer — but you no longer have to.

Is it possible to roll back once CloudFix implements the Fixer?

Yes, but not via an automated snapshot restore — a capacity-mode switch does not delete or move any data, so there is nothing to restore from a backup. Rollback means switching the billing mode back:

  • Manually, in the AWS Console or via the UpdateTable API, at any time.
  • Through CloudFix again, once a new recommendation is generated (or by re-running the Fixer against the previous mode) — subject to the same AWS-imposed limit described below (it only constrains repeated Provisioned-to-On-Demand switches; reverting to Provisioned is unrestricted).

Either way, switching back is a live configuration change with no data loss, on both Provisioned and On-Demand.

Can CloudFix implement the fix automatically once I accept the recommendation?

Yes. This Finder has an automatic Fixer. Once you accept the recommendation and execute it — from the finder's Available to Execute tab, or automatically if Always Execute Fixer is turned on for this finder — CloudFix switches the table's capacity mode for you; you do not need to make the change yourself in the AWS Console or API.

Does the fix require downtime?

No. Switching between Provisioned and On-Demand capacity modes does not require table downtime, whether done by CloudFix's Fixer or manually. AWS does rate-limit switches in one direction: a table can move from Provisioned to On-Demand up to four times within a rolling 24-hour window. Switching On-Demand back to Provisioned is not rate-limited and can be done at any time. Attempting to exceed the Provisioned-to-On-Demand limit will fail at the AWS API level, whether initiated by CloudFix or by hand.

Additional Resources:

Choose files or drag and drop files
Was this article helpful?
Yes
No
  1. Bill Gleeson

  2. Posted
  3. Updated

Comments