agent flagged the holiday read-replica fleet as idle - it didn't know the replicas exist only for December
Stops a cost agent from flagging seasonal read-replica fleets as idle when they are pre-provisioned for a known peak. Use when event-provisioned resources trigger rightsizing recommendations. Key trigger: the 'idle' fleet has a seasonal purpose the agent cannot see.
TL;DR: Tag seasonal resources with their active window and make the idle check read it. The replicas are not idle, they are pre-provisioned for the December peak. The agent should report them as seasonal standby instead of recommending termination, and it should verify the fleet exists when the season arrives.
IDLE FLEET: 12 db.r6g.xlarge read replicas, avg CPU 2% for 21 days - recommend termination (est. save $8,400/mo)- Verify the fleet's purpose with the database team or runbook. Expected: confirmed seasonal for December traffic, not forgotten infrastructure.
- Tag every replica with its lifecycle: a seasonal marker plus the active months. Expected: the schedule is metadata on the resource, not tribal knowledge.
- Update the idle rule: skip termination recommendations for resources carrying a seasonal tag outside their window; report them as standby instead. Expected: the December fleet shows as 'seasonal standby', never as 'terminate'.
- Add the reverse check: in November the agent verifies the seasonal fleet is provisioned and healthy. Expected: the agent catches a MISSING seasonal fleet, which is the real business risk.
- After the season, confirm the scale-down actually happened. Expected: the January bill shows the fleet gone, and the agent confirms it.
Use this when
- Seasonal or event-provisioned resources get flagged as idle
- Holiday or peak fleets trigger rightsizing recommendations
- Pre-provisioned capacity looks wasteful out of season
- You want the agent to distinguish 'unused' from 'reserved for a known future need'
Not for this skill when
- The resource has no seasonal justification (genuinely idle, terminate it)
- The 'seasonal' fleet has been running 8 months straight (that is not seasonal anymore)
- You are deciding between static seasonal fleets and autoscaling (architecture decision, different conversation)
- Utilization is high but the fleet is still wrong-sized (that is rightsizing, not idle detection)
Variant phrasings
- holiday fleet flagged idle
- seasonal resources rightsizing false positive
- read replicas idle December
- agent wants to delete peak-season capacity
Why it happens
Idle detection usually looks at trailing 14 to 30 day utilization. A fleet provisioned in November for December shows near-zero CPU for weeks, which is the textbook definition of idle. The agent cannot distinguish 'unused' from 'reserved for a known future need' without lifecycle metadata, and nobody gave it any.
Edge cases
- Seasons shift: if the peak moves, review the tags yearly or the agent protects the wrong window
- A seasonal fleet left running into February is the real waste: the agent should flag seasonal resources that are active OUTSIDE their window
- Autoscaling read replicas can replace static seasonal fleets: worth evaluating, but that is a migration with its own risks
- Tagging must happen at provisioning time: put it in the Terraform module or launch pipeline so next year's fleet is tagged from day one
- Partial seasons (fleet half-provisioned in November) look odd to the reverse check: define 'provisioned' as a count range, not an exact number
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_z7H3rZviQxW7vrfkf2vOPA
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.