Scaling Policy Types
~8 min read
Target tracking, step scaling, and scheduled scaling — three ways to tell an Auto Scaling Group when to act.
Target tracking scaling is the simplest and most commonly recommended policy type: you specify a target value for a chosen metric (e.g. 'keep average CPU at 50%'), and AWS's algorithm automatically calculates and adjusts capacity to hit that target, similar in spirit to a thermostat maintaining a room temperature — you don't manually decide how many instances to add, you just declare the goal.
Step scaling gives more manual control: you define specific thresholds and exactly how many instances to add or remove at each threshold (e.g. 'if CPU > 70%, add 2 instances; if CPU > 90%, add 5 instances'). This is more work to tune correctly but allows more aggressive or nuanced responses than target tracking's single-target model, useful when you understand your traffic pattern precisely.
Scheduled scaling proactively sets capacity ahead of a known time-based pattern (e.g. 'scale to 10 instances every weekday at 8:55am before the morning traffic surge, scale back to 2 at 8pm') — useful for predictable daily/weekly cycles where you'd rather pre-warm capacity than wait for reactive scaling to catch up. Scheduled and target-tracking/step policies are commonly layered together: scheduled scaling sets a sensible baseline ahead of known patterns, while a target-tracking policy still handles unexpected additional spikes on top of that baseline.
💬 Deep Dive with AI
Key points
- •Target tracking: declare a target metric value, AWS handles the math — the recommended default
- •Step scaling: manually define thresholds and exact instance-count changes at each — more control, more tuning
- •Scheduled scaling: pre-set capacity ahead of known time-based patterns, avoiding reactive scaling's boot-time lag
- •These policy types can be layered together, not just used exclusively one at a time