Anyone have a vendor-agnostic template for scheduled scale-downs and storage lifecycle policies? My two-page runbook trimmed idle spend 22% in 6 weeks by moving gp2 to gp3, archiving snapshots after 30 days, and enforcing 8–6 scale windows in non-prod; happy to share the template and quick cost model if that’s useful.
Idle spend drives me nuts too. Alongside your “8–6 scale windows,” one step that’s worked well for us is using Cloud Custodian to enforce TTL tags and cross-account snapshot transitions (e.g., auto-archive after 30 days) so the schedule and storage policies don’t drift: https://cloudcustodian.io. Small caveat on gp2→gp3: for bursty workloads make sure you set gp3 IOPS/throughput explicitly so you don’t regress — did your template bake in sane gp3 defaults?
Nice 22% in six weeks. One thing that saved us pain with “8–6 scale windows” was a pre-scale-down guard: only downshift if CPU <5% and the job/queue backlog stays below a small threshold for 10 minutes; otherwise we snooze the action 30 minutes to avoid killing overruns. If you share the template, want a quick addition for a guard clause with example metrics?
Add a weekly sweep: delete unattached disks >14 days; enforce ‘delete-on-terminate’. Saved about 3% monthly. @OP share template?
One tweak that helped me: drive off-hours automation from a shared iCal so release nights and holidays automatically skip shutdown, and outside that window everything fails closed unless an ‘override’ tag is present. After you did the ‘gp2→gp3’ move and 30‑day snapshot archiving, this shaved another about 3–5% for us by avoiding accidental re-warms. Small caveat: give stateful stores a 15–30 minute warm-up buffer to dodge cold-start pain.
I’ve found automating rightsizing based on utilization metrics each month can keep idle resources in check. It’s a game changer to ensure you’re only paying for what you use. Have you tried anything similar to this?