Real scan — anonymized data
CostPatrol found $6,496/mo
in savings — across 4 AWS regions
We scanned a production SaaS account across us-east-1, us-east-2, eu-west-2, and us-west-2. 56 optimization opportunities across 4 rules — dominated by database cluster sprawl.
Total savings
$6,496/mo
$3,879 - $6,496
Findings
56
Rules matched
4
Regions scanned
4
Every finding, with exact fix commands
56 optimization opportunities across 4 rules and 4 regions. Real dollar amounts. Anonymized resource names.
RDS Cluster Sprawl
RDS-O005 · 17 clusters across 2 regions
$2,192 - $3,132/mo
9x Aurora PostgreSQL clusters (us-east-1)
$1,169 - $1,670/mo
9 clusters · $1,879.20/mo total · Each microservice running its own dedicated cluster
→ Consolidate 9 Aurora PostgreSQL clusters into 1 shared cluster with separate schemas
- svc_auth_db_production
- svc_billing_db_production
- svc_catalog_db_production
- svc_notify_db_production
- svc_orders_db_production
- svc_search_db_production
- svc_users_db_production
- svc_inventory_db_production
- svc_payments_db_production
# 1. Create final snapshots of each cluster $ aws rds create-db-cluster-snapshot \
--db-cluster-identifier svc-auth-dbcluster-prod \
--db-cluster-snapshot-identifier svc-auth-final-snapshot
# 2. Export data using pg_dump $ pg_dump -h svc-auth-dbcluster-prod.cluster-xxxx.us-east-1.rds.amazonaws.com \
-U admin -d svc_auth_db_production > svc_auth_backup.sql
# 3. Import into shared cluster as separate schema $ psql -h shared-cluster-prod.cluster-xxxx.us-east-1.rds.amazonaws.com \
-U admin -c "CREATE SCHEMA svc_auth;"
$ psql -h shared-cluster-prod.cluster-xxxx.us-east-1.rds.amazonaws.com \
-U admin -d shared_production < svc_auth_backup.sql
# 4. Repeat for all 9 clusters, then delete originals
8x Aurora PostgreSQL clusters (us-east-2)
$1,023 - $1,462/mo
8 clusters · $1,670.40/mo total · Same pattern: one cluster per microservice
→ Consolidate 8 Aurora PostgreSQL clusters into 1 shared cluster with separate schemas
- svc_analytics_db_production
- svc_shipping_db_production
- svc_pricing_db_production
- svc_reviews_db_production
- svc_checkout_db_production
- svc_messaging_db_production
- svc_reports_db_production
- svc_support_db_production
# Same consolidation process as above for us-east-2 clusters $ aws rds create-db-cluster-snapshot \
--db-cluster-identifier svc-analytics-dbcluster-prod \
--db-cluster-snapshot-identifier svc-analytics-final-snapshot
# Repeat snapshot → export → import → delete for all 8 clusters
Idle RDS Instances
RDS-O001 · 16 resources across 4 regions
$1,670 - $3,341/mo
svc-auth-dbcluster-prod-1
$104 - $209/mo
us-east-1 · Aurora PostgreSQL · $208.80/mo · Zero active connections
→ Stop, downsize, or delete low-utilization RDS instance
# Option 1: Snapshot and delete $ aws rds create-db-cluster-snapshot \
--db-cluster-identifier svc-auth-dbcluster-prod \
--db-cluster-snapshot-identifier svc-auth-dbcluster-prod-final
$ aws rds delete-db-instance --db-instance-identifier svc-auth-dbcluster-prod-1 --skip-final-snapshot
# Option 2: Stop instance $ aws rds stop-db-instance --db-instance-identifier svc-auth-dbcluster-prod-1
svc-analytics-dbcluster-prod-1
$104 - $209/mo
us-east-2 · Aurora PostgreSQL · $208.80/mo · Zero active connections
→ Stop, downsize, or delete low-utilization RDS instance
$ aws rds stop-db-instance --db-instance-identifier svc-analytics-dbcluster-prod-1
svc-fulfillment-dbcluster-prod-1
$104 - $209/mo
eu-west-2 · Aurora PostgreSQL · $208.80/mo · Zero active connections
→ Stop, downsize, or delete low-utilization RDS instance
$ aws rds stop-db-instance --db-instance-identifier svc-fulfillment-dbcluster-prod-1
svc-media-dbcluster-prod-1
$104 - $209/mo
us-west-2 · Aurora PostgreSQL · $208.80/mo · Zero active connections
→ Stop, downsize, or delete low-utilization RDS instance
$ aws rds stop-db-instance --db-instance-identifier svc-media-dbcluster-prod-1
and 12 more idle RDS instances across 4 regions — $1,253 - $2,506/mo in additional savings
Previous-Generation Instance Types
EC2-O001 · 20 resources across 4 regions
$14 - $21/mo
i-0a1b2c3d4e5f0001
$0.69 - $1.04/mo
us-east-1 · t2.micro · stopped · $8.35/mo
→ Upgrade to t3.micro (better price/performance, Nitro-based)
$ aws ec2 stop-instances --instance-ids i-0a1b2c3d4e5f0001
$ aws ec2 modify-instance-attribute --instance-id i-0a1b2c3d4e5f0001 --instance-type '{"Value":"t3.micro"}'
$ aws ec2 start-instances --instance-ids i-0a1b2c3d4e5f0001
i-0a1b2c3d4e5f0010
$0.69 - $1.04/mo
us-east-2 · t2.micro · stopped · $8.35/mo
→ Upgrade to t3.micro (better price/performance, Nitro-based)
$ aws ec2 modify-instance-attribute --instance-id i-0a1b2c3d4e5f0010 --instance-type '{"Value":"t3.micro"}'
i-0a1b2c3d4e5f0018
$0.69 - $1.04/mo
eu-west-2 · t2.micro · stopped · $8.35/mo
→ Upgrade to t3.micro (better price/performance, Nitro-based)
$ aws ec2 modify-instance-attribute --instance-id i-0a1b2c3d4e5f0018 --instance-type '{"Value":"t3.micro"}'
and 17 more previous-generation t2.micro instances across 4 regions
Lambda Memory Right-Sizing
LAM-O002 · 18 resources across 4 regions
$2 - $3/mo
svc-inventory-handler-prod
$0.08 - $0.11/mo
us-east-1 · 1024MB allocated · 190MB peak usage · $0.14/mo
→ Reduce memory from 1024MB to 256MB (75% reduction, still 35% headroom)
$ aws lambda update-function-configuration \
--function-name svc-inventory-handler-prod \
--memory-size 256
svc-reports-handler-prod
$0.36 - $0.45/mo
us-east-2 · 1024MB allocated · $0.90/mo
→ Reduce memory from 1024MB to 256MB
$ aws lambda update-function-configuration \
--function-name svc-reports-handler-prod \
--memory-size 256
svc-support-handler-prod
$0.34 - $0.43/mo
us-east-2 · 1024MB allocated · $0.86/mo
→ Reduce memory from 1024MB to 256MB
$ aws lambda update-function-configuration \
--function-name svc-support-handler-prod \
--memory-size 256
and 15 more over-provisioned Lambda functions across 4 regions
What AWS Cost Explorer misses
AWS Cost Explorer
Shows $3,549/mo in RDS spend — with no per-cluster breakdown
Tells you "RDS costs went up" — not which clusters are idle
Cannot detect that 17 clusters could be consolidated into 2
No consolidation plan — you're on your own
CostPatrol
Exact cluster name, region, utilization, and savings per instance
"17 Aurora clusters — each microservice has its own $208/mo cluster"
Consolidation plan: merge 9 into 1, merge 8 into 1
Step-by-step commands to snapshot, export, and consolidate
AWS tells you RDS costs went up. CostPatrol tells you that 17 microservice databases — each running their own $208/mo Aurora cluster — could be consolidated into 2, saving up to $3,132/mo.
More real AWS scan reports
See what CostPatrol finds in your AWS account
Free scan shows your total savings. Upgrade to Pro for full findings, fix commands, and daily Slack alerts.