Check provider logo

DynamoDB table uses on-demand capacity or has auto scaling enabled for read and write capacity units

dynamodb_table_autoscaling_enabled

Severitymedium
Servicedynamodb
by Prowler

DynamoDB tables use automatic capacity scaling via on-demand mode or PROVISIONED mode with auto scaling enabled for both read and write capacity units.

Provisioned tables are evaluated for scaling on both dimensions.

Risk

Insufficient capacity scaling causes throttling that degrades availability and increases latency.

Sustained throttling can trigger retry storms, timeouts, and backlogs, risking missed writes or out-of-order processing that impacts data integrity and drives operational costs.

Run this check with Prowler CLI

prowler aws --checks dynamodb_table_autoscaling_enabled

Recommendation

Adopt elastic capacity: prefer on-demand for unpredictable traffic, or use PROVISIONED with auto scaling on both reads and writes.

Define safe utilization targets and bounds, monitor consumption, and plan for bursts to maintain availability and resilience over manual fixed throughput.

Remediation

CLI

aws dynamodb update-table --table-name <table-name> --billing-mode PAY_PER_REQUEST

Native IaC
Terraform
Other
  1. Open the AWS console and go to DynamoDB
  2. Click Tables and select your table
  3. Open the Additional settings tab and click Edit in Read/write capacity
  4. Set Capacity mode to On-demand (PAY_PER_REQUEST)
  5. Click Save

Source Code

Resource Type

AwsDynamoDbTable

References