Skip to content
KostrixBeta, home

AWS cost optimization tool: 235 read-only checks

Every finding that would reduce your AWS costs is priced from the AWS Price List API and reconciled against your bill, so the number survives the finance team.

Kostrix scans every enabled AWS region for idle EC2 instances, unattached EBS volumes and orphaned snapshots, idle RDS databases, NAT gateways moving no bytes, load balancers with no healthy targets, GPU boxes idling and Bedrock throughput nobody calls. It then measures how much of your compute is already under a Savings Plan or reservation, and sizes what is missing.

30 days free on every plan, no card needed · 50% off every plan for a limited time · pricing and free trial

235 built-in rules
Every enabled region
Trailing 30 days
Dashboardafter the first scan

There is $4.6k a month sitting idle in your accounts.

Potential
$4.6k/mo
Open
33
Spend MTD
$12.5k

Potential saving by category

waste
$3.4k
coverage
$551.30
storage
$363.10
rightsizing
$268.48
scheduling
$78.96
hygiene
$1.16

Where the money is

  • EC2 · idle & unused resources

    3 resources · high confidence

    $1.1k/mo

  • Bedrock · idle & unused resources

    1 resource · high confidence

    $648.00/mo

  • EC2 · reservation coverage

    2 resources · medium confidence

    $551.30/mo

The product's own overview after the first scan of the demo account in the walkthrough below, redrawn from it. Every figure is priced from the AWS Price List API for its region; none is a forecast for your account.

Named AWS cost optimization checks, not a black box.

Every one of these is a rule that ships in the scanner, runs on every scan, and puts its own identifier on the findings it produces. There is nothing here that the product cannot do today.

The checks cover unattached EBS volumes and orphaned snapshots, idle and stopped EC2 instances, unassociated Elastic IPs, NAT gateways moving no bytes, load balancers with no healthy targets, RDS and ElastiCache instances nobody connects to, over-provisioned DynamoDB tables, idle Lambda functions, EKS and ECS waste, GPU boxes sitting warm, SageMaker endpoints and Bedrock provisioned throughput nobody calls, plus Graviton and Spot migration candidates and public IPv4 charges.

Each check is priced from the AWS Price List API for the region the resource sits in. Where a rate cannot be fetched, the finding is still raised, without a figure attached. Read the full list of AWS cost optimization checks, with rule identifiers, or how a Kostrix AWS cost audit works.

What you have already committed to, and what you have not.

Idle resources are only half of an AWS bill. The other half is steady-state usage paying On-Demand rates because nobody sized a commitment for it. Kostrix measures both instruments separately, keeps their units apart, and recommends a purchase sized to the floor rather than the peak.

Savings Plans coverage is reported as a share of eligible spend and reserved-instance coverage as a share of eligible hours, because that is the unit each one is bought in. Expiry cliffs are listed as the scheduled cost increases they are, and the purchase recommendation is sized at 80 percent of the uncovered amount.

Savings Plans and reserved-instance coverage, measured separately

Commitment coverageworked example
Reserved instance coverage62.4%

share of eligible HOURS · denominator 18,240 eligible instance-hours

Savings Plans coverage41.9%

share of eligible SPEND · denominator 12,880.00 USD of eligible spend

blended coverage 52.2% never printed

Two different denominators, so two different numbers. Averaging them would produce a figure that measures nothing. The percentages here illustrate the rule; your own are measured over a trailing 30 days.
Evidenceebs-unattached / ap-south-1
Terms behind the estimated monthly saving for unattached EBS volumes
Unattached volumes2,113volumes
Mean provisioned size16.00GB
Provisioned total33,808GB
gp3 storage rate, ap-south-10.0800USD / GB-month
Estimated monthly saving2,704.64USD / month

2,113 x 16.00 GB = 33,808 GB
33,808 GB x 0.0800 USD/GB-month = 2,704.64 USD/month

Figures from one real scan of WhizzyGeeks' own AWS account; the resource ids are redacted. The rate comes from the AWS Price List API for the region in question. Kostrix never guesses a price: if the rate cannot be fetched, the finding is reported without a figure rather than with an invented one.

The largest single finding on our own account.

2,113 unattached EBS volumes in one region, worth 2,704.64 USD a month, found on WhizzyGeeks' own AWS account. Every term that produced that number is printed beside it: the count, the mean size, the product, and the regional rate it was multiplied by.

235 rules is a lot. It is not everything, and the product says so.

Kostrix walks your billed line items and marks the ones no rule touched. On our own account that was 18 of 34, and those 18 appear on screen beside the savings rather than in a footnote. A quiet service is not a clean one, and a tool that hides the gap is selling a false all-clear.

What this changes

You stop reading a savings total as a complete picture. The uncovered list is also the roadmap: it is where the next rule goes, and it stops a service Kostrix has never examined from masquerading as one it examined and cleared.
Bill reconciliationreference account
Billed line items
34
Covered by a rule
16
Not yet covered
18
Kostrix walks the billed line items, not its own rule list. A service it has never examined cannot pass itself off as a clean one.

2,113 volumes is one decision, not 2,113 rows.

Findings pool by the action they require, so a queue of thousands of near-identical resources arrives as a single priced line. And where a measurement is simply missing, Kostrix prints that instead of a zero, because an absent measurement is not a measurement of zero.

Pooled by the action they require

Pooling is by account, region, rule and resource, because a resource id is not globally unique. The 2,113 unattached volumes arrive as one line, “Delete unattached EBS volumes”, with the count, the region and the monthly figure; the individual resources stay attached to the row and export with it.

How findings are grouped

An absent measurement is not a zero

When CloudWatch returns no datapoints for a region, the mean CPU utilization there is printed as “no measurement”, the region is skipped and the gap is logged. Writing 0% would have invented an idle fleet and a saving to go with it.

How missing measurements are reported

Kostrix reads your account and recommends. It holds no permission to change anything in it: the read-only IAM policy it runs under is published in full. For the problem searches these checks answer, see unused EBS volumes and idle AWS resources: EC2, RDS, NAT gateways and load balancers.

Point it at an account and read what it says it did not look at.

That list is usually the most interesting output of a first scan, and it is the fastest way to tell whether an AWS cost reduction tool is being straight with you.

  1. 01Create an account with your work e-mail. No AWS account id is asked for.
  2. 02Link your AWS account read-only. Kostrix reads the account id from AWS itself before anything is scanned.
  3. 03The first scan runs across every enabled region over a trailing 30-day window.
From sign-up to the first findings in ten steps. Addresses and passwords are redacted; everything else is the product as it ships.
  1. Create your account with a work e-mail and a strong password
  2. Check your inbox for the verification link
  3. Confirm your e-mail address with one click
  4. Sign in
  5. Choose how often to scan and where to send reports
  6. Connect an AWS account: download the read-only CloudFormation stack
  7. The dashboard tracks your setup until the first scan runs
  8. Link by cross-account role (no keys stored) or a read-only access key
  9. After the first scan: potential savings, spend and trends
  10. Findings with evidence, ranked by saving and confidence