Recommendations
Cost-saving opportunities detected by CostLens across your AWS accounts.
Recommendations are cost-saving opportunities detected after scanning your AWS resources. Each one shows the estimated monthly savings, severity, and an AI-generated explanation of the issue and suggested fix.
Severity levels
| Severity | Meaning |
|---|---|
| critical | High-cost waste — address immediately. Typically $100+/mo per finding. |
| high | Significant savings available. Should be reviewed within the week. |
| medium | Moderate impact, review soon. Often idle or low-utilization resources. |
| low | Minor optimization opportunity. Good for housekeeping. |
Status flow
A recommendation moves through the following states:
pending → approved → applied
Or: pending → dismissed if you choose not to act.
Actions
| Action | Who | Description |
|---|---|---|
| Approve & Fix | Operators, Admins | Marks as approved and opens the fix confirmation dialog. The fix is not applied until you confirm. |
| Dismiss | Operators, Admins | Marks as dismissed and removes from the pending list. Use this for recommendations that don't apply to your situation. |
| Refresh AI Explanation | All | Asks Aevi to regenerate the explanation using the latest resource data. |
Most fixes can be undone
After you apply a fix, reversible changes (rightsizing, scheduling, gp2→gp3, stop/start, log retention) can be rolled back with one click within 24 hours from the Fix History page. Irreversible fixes that delete or release resources show a clear "Cannot undo" warning before you confirm.
Check types — what CostLens detects
CostLens runs 33 automated checks across 9 AWS service groups. The tables below are the complete reference — every check, what it detects, and what you can do about it. Each check name links to a dedicated guide with thresholds, IAM permissions, warnings, and step-by-step instructions.
Action column:
- Auto-fix — one-click apply from the recommendation; reversible fixes can be rolled back for 24 hours.
- Advisory — CostLens surfaces and quantifies the opportunity; you make the change (often a purchase or capacity decision) in AWS.
Compute — EC2 & Auto Scaling
| Check | What it detects | Action |
|---|---|---|
| EC2 Right-sizing | Over-provisioned instance; a cheaper/smaller type fits the load | Auto-fix |
| EC2 Instance Scheduling | Runs 24/7 but only needed during business hours | Auto-fix |
| Stopped EC2 Instances | Stopped >7 days while EBS volumes keep billing | Auto-fix (irreversible) |
| Over-Provisioned Auto Scaling Group | Aggregate CPU <10% on most days with desired capacity >1 | Advisory |
| EC2 Reserved Instance Expiring | Active RI expires within 90 days; usage reverts to on-demand | Advisory |
Storage — EBS & S3
| Check | What it detects | Action |
|---|---|---|
| Unused EBS Volume | Volume not attached to any instance | Auto-fix |
| Orphaned EBS Snapshots | Source volume deleted; backups billing for nothing | Auto-fix |
| EBS Disk Expansion | Volume >85% full — risks application errors | Auto-fix |
| EBS gp2 → gp3 Migration | Older volume type; gp3 is ~20% cheaper | Auto-fix |
| S3 Intelligent-Tiering | Standard-class data accessed infrequently | Advisory |
| S3 Incomplete Multipart Uploads | No rule to abort orphaned upload parts | Auto-fix |
| S3 Noncurrent Version Cleanup | Versioning on, old versions never expire | Auto-fix |
Database & Analytics — RDS, Aurora & Redshift
| Check | What it detects | Action |
|---|---|---|
| Idle RDS Database | No connections in 7 days | Auto-fix |
| RDS Instance Scheduling | Runs 24/7 but only used in business hours | Auto-fix |
| RDS Oversized Storage | >80% of allocated storage unused | Advisory |
| Aurora Storage Over-Provisioning | >60% of cluster storage free over 14 days | Advisory |
| Idle Redshift Cluster | <15% CPU and almost no connections over 14 days | Advisory |
Networking
| Check | What it detects | Action |
|---|---|---|
| Unattached Elastic IP | Reserved but not assigned — hourly charge | Auto-fix |
| Underused NAT Gateway | Fixed hourly charge exceeds the traffic value | Advisory |
| Idle Load Balancer | ALB/NLB/Classic with no traffic in 7 days | Advisory |
| Idle VPC Interface Endpoint | PrivateLink endpoint with no traffic in 14 days | Advisory |
Serverless — Lambda
| Check | What it detects | Action |
|---|---|---|
| Lambda Memory Optimisation | Memory allocated much higher than actual usage | Auto-fix |
| Lambda High Error Rate | Failing invocations still bill and trigger retries | Advisory |
| Lambda Timeout/Throttle Pressure | Capped runs bill to the full configured timeout | Advisory |
Containers — ECR
| Check | What it detects | Action |
|---|---|---|
| ECR Repository Without Lifecycle Policy | Untagged layers and old images accumulate forever | Auto-fix |
Observability — CloudWatch
| Check | What it detects | Action |
|---|---|---|
| CloudWatch Log Retention | No retention policy — logs accumulate indefinitely | Auto-fix |
Commitments — Reserved Instances & Savings Plans
| Check | What it detects | Action |
|---|---|---|
| Reserved Instance Coverage | Steady-state EC2 spend not covered by RIs | Advisory |
| Savings Plan Coverage | Eligible compute spend not covered by a Savings Plan | Advisory |
| RDS Reserved Instance Opportunity | Steady RDS usage cheaper on a reservation | Advisory |
| ElastiCache Reserved Node Opportunity | Steady cache usage cheaper reserved | Advisory |
| DynamoDB Reserved Capacity Opportunity | Predictable provisioned capacity cheaper reserved | Advisory |
| Redshift Reserved Node Opportunity | Steady Redshift usage cheaper reserved | Advisory |
| OpenSearch Reserved Instance Opportunity | Steady OpenSearch usage cheaper reserved | Advisory |
Advisory vs. auto-fix
Auto-fix checks apply a concrete change to a single resource (resize, schedule, lifecycle rule, retention). Advisory checks cover purchase or capacity decisions (commitments, Auto Scaling capacity, deletions with dependencies) that should stay with a human. Savings Plan purchases can be executed from Commitments once an admin enables it.
Severity follows savings
Every check's severity is derived from its estimated monthly savings using the bands above — so the highest-impact findings surface first regardless of which service they come from. (One exception: RI expiry severity reflects how soon the reservation lapses.)
Tip
Click any recommendation row to open the detail view — the full AI explanation, technical metadata (instance type, utilization metrics, break-even, etc.), and all action buttons. Each check above also has a deep-dive guide under CostLens — Check Guides.