All cheat sheets
Computecheat sheet

Spot Fleet

Manage large-scale Spot capacity intelligently — declare 'I need N vCPUs' and Spot Fleet spreads it across many instance types and AZs at the cheapest available price, replacing interruptions automatically. 70–90% off for fault-tolerant workloads. Diversification is the whole game.

Last reviewed: July 14, 2026

TL;DR: Spot Fleet (2015) is your fleet manager for large-scale Spot: you declare a target ("I need 100 vCPUs") and the instance types/AZs you'll accept, and it finds the cheapest available capacity, launches to meet the target, and automatically replaces interruptions — your app sees steady capacity while the chaos is handled behind the scenes. For fault-tolerant, checkpointable workloads it cuts EC2 compute 70–90%. The single thing that makes it reliable: diversification across many instance types and AZs.

The numbers

  • Spot is up to 90% off On-Demand with a 2-minute reclaim warning; Spot Fleet spreads capacity across pools so an interruption in one doesn't sink the fleet.
  • Allocation strategies: capacityOptimized / priceCapacityOptimized (AWS interruption data — the production go-to), diversified (even spread), lowestPrice (cheapest but concentrates risk).
  • Express target capacity in vCPUs (or memory), not instance count — the fleet mixes sizes (5× m5.2xlarge + 10× c5.xlarge → 100 vCPUs cheapest); smaller types often have better availability.
  • Field examples: an animation render farm went $40K → $6K/mo (85% off) once it diversified from c5-only to c5/c5n/c5a/c6i (interruptions dropped below 5%); a Spark analytics pipeline saved ~70% with capacityOptimized on idempotent nightly jobs.

Do this

  1. Diversify aggressively — 10+ current-gen instance types (m5/c5/r5/Graviton) across multiple AZs; pinning to one type/AZ is the #1 reliability mistake.
  2. Use capacityOptimized or priceCapacityOptimized so AWS steers toward the lowest-interruption pools while keeping cost low.
  3. Set max price to the On-Demand price — you'll almost always pay far less, and a temporary spike won't cost you capacity or overpay.
  4. Express target capacity in vCPUs to let the fleet bin-pack cheaper pools.
  5. Design for interruptions — checkpointing, idempotency, graceful SIGTERM shutdown; monitor CloudWatch interruption metrics and prune high-interruption types.

Gotchas

  • 2 minutes is all you get — long jobs without checkpointing get hurt; check the Spot Instance Advisor for interruption frequency by type/region before choosing.
  • No automatic load-balancer integration — for web servers you'd handle ALB/NLB registration yourself, so an ASG is usually the better fit there.
  • Availability varies by generation and region — older gens (m3/c3) have poor Spot supply; us-east-1 is strong, smaller regions vary.
  • Prices can still spike (rarely) — the max=On-Demand cap protects you.

Skip this if

  • The workload is a web app/service needing ALB integration and metric-based scaling — use an Auto Scaling Group with a mixed-instances policy.
  • You need to blend Spot with On-Demand and Reserved in one managed fleet — EC2 Fleet does that; for larger batch orchestration, AWS Batch with Spot. The underlying model is Spot Instances.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account's Spot Fleet usage. Use the AWS CLI with
READ-ONLY credentials. Do not create, modify, or delete anything — report
findings and recommended (unapplied) fixes only.

1. Inventory: aws ec2 describe-spot-fleet-requests — capture target
   capacity (instances/vCPUs/memory), allowed instance types, allocation
   strategy, and max price. Flag fleets pinned to <5 types or one AZ.
2. Allocation: flag lowestPrice/diversified where capacityOptimized or
   priceCapacityOptimized would cut interruptions; recommend 10+ current-
   gen types across AZs and target capacity expressed in vCPUs (not
   instance count) for flexibility.
3. Interruption readiness: confirm the workload is fault-tolerant/
   checkpointable and handles the 2-minute warning; flag web workloads
   needing ALB integration (ASG mixed-instances fits better).
4. Max price: recommend setting max = On-Demand price to avoid losing
   capacity to temporary spikes without overpaying. Note EC2 Fleet for
   Spot+On-Demand+Reserved blends.

Report a table: fleet | target | #types/AZs | allocation | max price |
recommendation | est. $/mo saved. Change nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The Spot Fleet walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough