π AWS DynamoDB Provisioned Table Auto Scaling is not configured π’
- Contextual name: π Provisioned Table Auto Scaling is not configured π’
- ID:
/ce/ca/aws/dynamodb/table-auto-scaling
- Located in: π AWS DynamoDB
Flagsβ
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
Our Metadataβ
- Policy Type:
COMPLIANCE_POLICY
- Policy Category:
SECURITY
Similar Policiesβ
- AWS Security Hub
- [[DynamoDB.1] DynamoDB tables should automatically scale capacity with demand]([DynamoDB.1] DynamoDB tables should automatically scale capacity with demand (https://docs.aws.amazon.com/securityhub/latest/userguide/dynamodb-controls.html#dynamodb-1)]
- Internal
dec-x-17b4855f
Similar Internal Rulesβ
Rule | Policies | Flags |
---|---|---|
βοΈ dec-x-17b4855f | 1 |
Logicβ
- π§ prod.logic.yaml π’
Descriptionβ
Descriptionβ
This policy checks that Amazon DynamoDB tables configured with provisioned throughput mode have Auto Scaling enabled.
Rationaleβ
DynamoDB Auto Scaling automates the management of throughput capacity for tables. It dynamically adjusts provisioned read and write capacity in response to actual traffic patterns. This helps maintain application performance by preventing request throttling while reducing costs by automatically decreasing capacity for idle workloads.
Impactβ
Without Auto Scaling, DynamoDB tables are at risk of being either over-provisioned, leading to unnecessary costs, or under-provisioned, resulting in throttled requests, increased latency, and potential service disruptions.
Auditβ
This policy marks an AWS DynamoDB Table as
INCOMPLIANT
if it is in Provisioned mode but does not have a related AWS App AutoScaling Scalable Target record in the CMDB.Table configured with On-Demand capacity mode is flagged as
INAPPLICABLE
.
Remediationβ
Remediationβ
From Command Lineβ
Option 1: Enable Auto Scaling for Provisioned Modeβ
Register a Scalable Targetβ
Use the following command to register a scalable target for the specified read or write capacity of your DynamoDB table:
aws application-autoscaling register-scalable-target \
--service-namespace dynamodb \
--resource-id "table/{{dynamodb-table-name}}" \
--scalable-dimension "{{dynamodb:table:WriteCapacityUnits/ReadCapacityUnits}}" \
--min-capacity 5 \
--max-capacity 10Define a Scaling Policyβ
Create a JSON file named
{{scaling-policy}}.json
that defines the target tracking scaling policy. The policy configuration should include:
PredefinedMetricSpecification
- Specifies the predefined metric to be tracked. The valid values include:
- DynamoDBReadCapacityUtilization
- DynamoDBWriteCapacityUtilization
ScaleOutCooldown
- Cooldown period (in seconds) to wait after a scale-out event.ScaleInCooldown
- Cooldown period (in seconds) to wait after a scale-in event.... see more