Skip to main content
MEDIUMDynamoDBCost Optimization

DynamoDB Auto Scaling Missing

dynamodb-autoscaling-missing

What this rule checks

Detects DynamoDB tables without auto-scaling enabled.

How to fix it

  1. 1Enable DynamoDB auto-scaling or use on-demand capacity
  2. 2Set appropriate minimum and maximum capacity units
FlaggedThe table defaults to PROVISIONED billing with no Application Auto Scaling target, so throughput is fixed and cannot absorb spikes.
import { Stack, App } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';

new dynamodb.Table(this, 'Table', {
  partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
});
FixedPAY_PER_REQUEST billing lets DynamoDB scale capacity automatically with demand, removing the need for a fixed provisioned target.
import { Stack, App } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';

new dynamodb.Table(this, 'Table', {
  partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
  billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
});

CDK Insights pinpoints the exact file and line in your CDK source for every finding, so you can jump straight to the fix.

Affected resource types

AWS::DynamoDB::Table

AWS documentation

Read the AWS guidance

Intentional? Suppress this finding

Sometimes a flag is deliberate โ€” a genuinely public endpoint, say. You can dismiss dynamodb-autoscaling-missing and the reason is kept in the report, not silently hidden.

In .cdk-insights.json:

{
  "ignoreRules": [
    { "id": "dynamodb-autoscaling-missing", "reason": "Why this is intentional" }
  ]
}

Or inline in your CDK code:

Validations.of(scope).acknowledge({
  id: 'cdk-insights::dynamodb-autoscaling-missing',
  reason: 'Why this is intentional',
});

Use the rule ID dynamodb-autoscaling-missing shown above โ€” not the CDK-* ID from SARIF / GitHub code scanning. To dismiss every finding on one construct instead, use ignorePaths. Suppression docs โ†’

Catch this in your stack

$ npx cdk-insights scan

CDK Insights runs this and 118+ other rules locally against your synthesised CDK app โ€” free, no account, your code never leaves your machine.

More DynamoDB rules