A one-time AWS cost cleanup works — for about two quarters. Then new environments appear untagged, commitments expire unnoticed, log groups accumulate, and the bill drifts back toward its old trend, because the forces that created the waste never went away. Cost management that holds is not a project; it is a small recurring discipline — a monthly review, alerting that pages someone, tagging that is enforced, and a named owner. The real decision is not “cleanup or not,” it is who carries the discipline afterward: your team, or a service.
What you are deciding
Whether cost control is an event or a process in your organization, and who owns the process. The cleanup and the discipline are different products, even when a vendor sells them in one contract.
The cleanup is a project: find the orphans, rightsize, fix retention, buy commitments for the floor. It produces a step change in the bill and a satisfying before/after chart. The mechanics are the lever list in the 12-lever reduction guide.
The discipline is what keeps the step change from eroding: someone reads the spend monthly, anomalies page a human, new resources are born tagged, commitment renewals are decisions instead of surprises, and rightsizing recurs as workloads drift. None of these are hard; all of them are skippable under deadline pressure, which is why they get skipped — and why decay is the default outcome.
The decay mechanism is worth naming precisely: infrastructure changes weekly, and every change is made by someone optimizing for shipping, not for cost. Without a standing counterforce, waste is not a failure — it is the equilibrium.
What to check first
If you had a cleanup in the past, measure the decay before deciding anything:
- Bill trend since the cleanup. Is the monthly total back on its pre-cleanup slope?
- Orphan count today. Rerun the unattached-volume and idle-resource checks from the cleanup; a regrown orphan population is the clearest decay signal.
- Untagged spend percentage. If it climbed since the cleanup, no one is enforcing the standard.
- Commitment coverage. Coverage that fell means commitments expired without a renewal decision.
How to verify
# Trend: monthly totals for the last six months
aws ce get-cost-and-usage \
--time-period Start=2026-01-01,End=2026-07-01 \
--granularity MONTHLY \
--metrics AmortizedCost
# Orphan regrowth check
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'length(Volumes)'
# Did commitment coverage hold?
aws ce get-savings-plans-coverage \
--time-period Start=2026-06-01,End=2026-07-01
In the console, Billing and Cost Management > Cost Explorer with a 12-month range makes the pattern visible in one chart: a cleanup shows as a step down, decay as the slope resuming.
The approach
What an ongoing discipline actually contains — whether staffed internally or bought as a service:
- A named owner. One person accountable for the AWS bill, with the access and standing to question any team’s spend. Shared ownership is no ownership.
- A monthly review with a fixed agenda. Top movers, untagged spend, new orphans, coverage and upcoming expiries, one action item. An hour, and the small-team version is laid out in the one-hour FinOps cadence.
- Alerting that reaches a human mid-month. Cost Anomaly Detection to a watched channel, Budgets at actual and forecast thresholds. Invoice-time discovery means the discipline is not working.
- Tag enforcement at creation time. Standards enforced by pipeline checks or tag policies, not by quarterly cleanup sweeps.
- A commitment calendar. Every RI and Savings Plan expiry as a scheduled decision, made against current utilization data, a month before it lapses.
- Quarterly rightsizing passes. Workloads drift; the review catches the drift while it is one instance size, not an architecture era.
On the in-house versus service question, honestly: in-house works when someone genuinely has the hours and the interest — the tooling is free and the techniques are documented in the AWS Cost Management docs. It fails in practice when cost ownership is the fifth job of a lead engineer, because under pressure the monthly review is always the thing that slips. A service earns its fee when it brings the cadence and pattern knowledge across many accounts — and any service pricing itself as a percentage of “savings” deserves scrutiny on how savings are measured and when the meter stops.
When this is the wrong move
If you have never done a cleanup, do that first — a discipline maintaining an unoptimized baseline preserves waste with excellent hygiene. If the bill is tiny relative to payroll, a quarterly half-hour glance is a proportionate discipline; do not buy a process sized for a bill you do not have. And if the environment is about to be rebuilt or migrated, put the discipline in the new environment’s design rather than polishing the old one.
Common mistakes
- Buying the cleanup and assuming it includes the discipline. Read the deliverables: a report and remediation is a project; a monthly cadence with an owner is a service. They are priced and staffed differently.
- Assigning ownership without hours. “Cost is everyone’s job” plus no allocated time equals the decay curve, on schedule.
- Measuring the discipline by savings found each month. A mature environment yields small monthly findings; the value is the absence of spikes and drift, which is invisible when it works.
- Letting tooling substitute for the review. Dashboards nobody reads on a cadence are the one-time cleanup’s decorative cousin.
Keeping it under control
- Put the monthly review in the calendar with an agenda and a named chair before deciding anything about vendors.
- Track three metrics on the wall: month-over-month delta, untagged percentage, coverage percentage.
- Write the tag standard and commitment calendar down where the whole team sees them.
- Re-evaluate in-house versus service yearly; the right answer changes as the team and the bill grow.
The cleanup is the easy part — the organizations whose bills stay flat are the ones where somebody owns the boring monthly hour. If nobody on your team truly owns the AWS environment end to end, that is the root of most of these problems — Stack Harbor runs AWS accounts daily under AWS Operations, and you can book an AWS review.