β Repository β π Compliance Engine β π CloudAware β π AWS β π DynamoDB
π‘οΈ AWS DynamoDB Table is located in a less cost-effective regionπ’
- Contextual name: π‘οΈ Table is located in a less cost-effective regionπ’
- ID:
/ce/ca/aws/dynamodb/table-cost-effective-region
- Tags:
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
- Policy Type:
BEST_PRACTICE
- Policy Categories:
COST
Logicβ
- π§ prod.logic.yamlπ’
Descriptionβ
Descriptionβ
This policy identifies AWS DynamoDB Tables that are provisioned in regions with higher pricing compared to nearby alternatives.
Rationaleβ
DynamoDB pricing varies across AWS regions, particularly for read and write requests. Running workloads in higher-cost regions can significantly increase operational expenses without providing additional benefits, unless the region is specifically required for latency optimization, compliance, or data residency. Identifying these tables enables organizations to evaluate whether migrating them to more cost-efficient regions is feasible, potentially resulting in substantial savings.
Impactβ
Migrating DynamoDB workloads to different regions requires careful planning to avoid service disruptions and to ensure latency, compliance, and data sovereignty requirements are maintained.
Auditβ
This policy flagged an AWS DynamoDB Table as
INCOMPLIANT
if it is ACTIVE in one of the following regions identified as less cost-efficient:| Region | Recommended Alternative |
... see more
Remediationβ
Remediationβ
To reduce operational costs, migrate DynamoDB tables from higher-cost regions to more cost-efficient alternatives. DynamoDB does not support direct table moves across regions. The recommended approaches are:
- DynamoDB Global Tables
- Point-in-Time Recovery (PITR)
Migrate Using DynamoDB Global Tablesβ
- Enable streams on the existing table:
aws dynamodb update-table \
--table-name {{table-name}} \
--stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES
- Add replication to a new region:
aws dynamodb update-table --table-name {{table-name}} --cli-input-json \
'{
"ReplicaUpdates":
[
{
"Create": {
"RegionName": "{{target-region}}"
}
}
]
}' \
--region region
- Once data is synchronized, update applications to use the new region and optionally remove the old replica:
aws dynamodb update-table --table-name {{table-name}} --cli-input-json \
'{
"ReplicaUpdates":
[
{
"Delete": {
"RegionName": "{{source-region}}"
}
... [see more](remediation.md)
policy.yamlβ
Linked Framework Sectionsβ
Section | Sub Sections | Internal Rules | Policies | Flags | Compliance |
---|---|---|---|---|---|
πΌ Cloudaware Framework β πΌ Resource Optimization | 23 | no data |