EC2 Rightsizing
Infralyst analyzes CloudWatch data across your EC2 fleet and surfaces savings opportunities. When you're ready, generate ready-to-merge Terraform PRs from Slack or the dashboard.
Unlimited free recommendations · Read-only IAM role · Your team reviews and merges every change
| Instance | CPU | Memory | Current | Recommended | Savings | |
|---|---|---|---|---|---|---|
| api-prod-01us-east-1 · 72 days | 4.2%p99.5 18% | 11%p99.5 24% | m5.2xlarge | m5.xlarge | $47/mo | Generate PR |
| worker-batch-02us-east-1 · 52 days | 8.1%p99.5 22% | 12%p99.5 28% | c5.xlarge | c5.large | $23/mo | Generate PR |
| cache-redis-03us-east-1 · 45 days | 6.8%p99.5 19% | 9%p99.5 21% | r5.large | r5.medium | $18/mo | Generate PR |
You're paying for
EC2 capacity you don't use
Teams pick an EC2 instance type for peak load and move on. Utilization drops, workloads change, but the bill doesn't. Most engineers know this, but actually fixing it means auditing instances across every region, picking the right target type, updating the Terraform, and convincing your team nothing will break. So it never happens.
AWS tools like Cost Explorer and Compute Optimizer will flag the waste. But they stop at a recommendation. Infralyst picks up where they leave off: it analyzes your CloudWatch data, selects a conservative target, and generates a PR your team can review and merge.
How the analysis works
A conservative, multi-gate approach designed to only recommend changes that are safe to ship.
1. Collect utilization metrics
Infralyst reads CloudWatch metrics for each EC2 instance: CPU utilization and, where the CloudWatch Agent is installed, memory utilization. Data is collected over a rolling window of up to 365 days.
2. Run the analysis gates
Each instance passes through pre-flight checks, data quality validation, utilization thresholds, and seasonality checks. An instance only gets a recommendation if all required gates pass.
3. Generate the recommendation
Infralyst recommends the next size down in the same instance family. You review the recommendation in the dashboard or Slack, and generate a PR when you're ready.
Thresholds & methodology
Every gate and threshold used to determine whether an instance is safe to downsize. These thresholds are intentionally conservative. We'd rather miss a savings opportunity than recommend a change that causes problems.
Pre-flight
Data quality
CPU & Memory
Seasonality
For instances with 60–365 days of data, P95 is checked per weekly bucket. If any week exceeds the 40% threshold, the instance is excluded.
Infralyst only recommends stepping down one instance size at a time. If there's room to go further, it happens across multiple analysis cycles.
What the PR looks like
Infralyst opens a Terraform pull request in your repo. Your team reviews and merges it like any other change.
Downsize EC2 instance worker-batch-02: c5.xlarge → c5.large
⚠️ Downtime required
This change requires a stop/start cycle. Schedule during a maintenance window.
Infrastructure Cost Optimization
This change downsizes an underutilized EC2 instance from c5.xlarge to c5.large, reducing costs by approximately $23.00 per month. The instance worker-batch-02 is located in the us-east-1 region.
Why This Change Is Safe
The instance has consistently low utilization over a 52-day period, indicating stable and predictable usage. CPU is 8.1% average / 22% P99.5 and memory is 12% average / 28% P99.5 — both comfortably below the 40% P99.5 threshold required for a safe downsize.
Rollout Strategy
This change will be deployed via a standard Terraform apply. The instance_type attribute in the aws_instance resource will be updated from c5.xlarge to c5.large.
Rollback Process
To revert this change, update the instance_type attribute back to c5.xlarge in your Terraform configuration and run terraform apply. This will also require a stop/start cycle.
What to Monitor After Deployment
After deployment, monitor CPU and memory utilization to ensure the new instance type meets performance requirements. If sustained usage increases significantly, consider reverting to the previous instance type.
Trigger PRs directly from Slack
Get notified when new savings are found. Review the details and generate a PR without leaving Slack.
New EC2 savings recommendation · Save $23.00/mo
Instance
worker-batch-02 (us-east-1)
Lookback
52d
CPU Avg
8.1%
CPU P99.5
22%
Mem Avg
12%
Mem P99.5
28%
Current
c5.xlargeRecommended
c5.largeView on Infralyst
Safety & guardrails
Designed to be safe to run in production. Here's what Infralyst won't do.
Conservative thresholds
Infralyst won't recommend a downsize unless CPU and memory P99.5 (or P95 for longer windows) are comfortably below 40%. A single spike won't trigger a false recommendation.
Seasonality-aware
For instances with 60+ days of data, P95 utilization is checked per weekly bucket over the full observation window. If any week exceeds 40%, the instance is excluded. No recommendation, no risk.
Pre-flight checks
Instances with ephemeral storage or that are already at the smallest available size in their family are automatically skipped.
PR-only changes
Infralyst never applies changes directly. Every recommendation is delivered as a notification in Slack or in our console. You trigger PR generation, review, test, and merge on your timeline.
Learn more about EC2 optimization

How to Enable EC2 Memory Metrics in CloudWatch
A simple guide to getting RAM usage data into CloudWatch so you can actually perform EC2 rightsizing without flying blind.
March 27, 2026
Best Practices for EC2 Rightsizing
A practical guide to EC2 rightsizing within the same instance family: how much data you need, what thresholds to use, and the guardrails that keep you out of trouble.
December 19, 2025Want more? View all articles
Start rightsizing your EC2 instances
Connect your AWS account and Infralyst will find instances you can safely downsize. When you're ready, generate the Terraform PR in one click.
Start free with 3 PRsNo credit card required · Read-only IAM role · Your team reviews and merges every change