TL;DR: Ten contractor WorkSpaces on monthly billing (~$35 each) that each get ~4 hours a week of use is $350/month for desktops dark 95% of the time. The one-setting fix is AutoStop billing: the desktop hibernates when idle (small base fee while asleep), and you pay an hourly rate only when someone's logged in. It cuts light/sporadic users' bills 40–80% — but it's more expensive for full-time users, so match the billing mode to actual usage rather than blanket-switching.
The numbers
- Monthly: flat ~$35/mo (more for Power/Performance bundles), always on.
- AutoStop: ~$10/mo base + ~$0.25–0.70/hour when running; hibernates after a configurable inactivity timeout (default 1 hour).
- Breakeven (for a $0.50/hr bundle): 20 hrs = $20 (save $15), ~50 hrs = ~$35 (break even), 80 hrs = $50 (monthly wins by $15), 160 hrs = $90 (much worse). Rule of thumb: below ~70–80 hrs/month AutoStop wins, above it monthly wins.
- Hibernation preserves full state — open apps, files, unsaved work intact; reconnect lands exactly where you left off after 30–60s.
- Field examples: a seasonal call center's 40 off-season WorkSpaces dropped to ~$400/mo total ($10 base × 40) vs $1,400 flat — AutoStop's win is biggest when usage is bursty across months.
Do this
- Pull last month's connected hours per WorkSpace (WorkSpaces usage reports / CloudWatch), don't guess.
- Sort users by hours and set billing per-WorkSpace — under ~70 hrs/month → AutoStop, over → keep Monthly (AWS lets you switch modes monthly, per individual desktop).
- Leave the inactivity timeout at ~1 hour by default — tune it up if users complain about waking from coffee breaks; don't chase pennies downward at the cost of frequent wake-ups.
- Catch forgotten sessions — the hibernation timer only fires on disconnect, so set a CloudWatch alarm for any WorkSpace running >16 continuous hours (usually a minimize-and-forget) and educate users to actually disconnect.
- Tag by team/project/billing mode and review quarterly — user behavior drifts (a part-timer becomes full-time and should flip back to monthly).
Gotchas
- Blanket-switching to AutoStop silently raises costs for full-time users — always pull usage data first and set billing per-user.
- The trap: "AutoStop is always cheaper" — it isn't; above the breakeven you pay a base fee plus hourly on top of what monthly would've cost.
- Minimize-and-forget never hibernates — a live overnight connection keeps billing hourly; the >16-hour alarm catches it.
- 30–60s wake-up on reconnect — invisible to most, but power users needing instant access should stay on monthly.
Skip this if
- The WorkSpaces are always-on (full-time employees, or 24/7 rotating global shifts where a desktop never idles past the timeout) — they'd never actually hibernate, so AutoStop is a strict loss; keep Monthly.
- The user explicitly can't tolerate the wake-up delay (traders, emergency responders) — stay Monthly. Same off-hours logic applies to dev/test EC2 via EC2 Instance Scheduling; another low-effort, high-ROI cleanup is CloudWatch Logs retention policies.