Auto Scaling scenarios on the SAA-C03 reward two skills: choosing the scaling policy that matches a demand pattern, and configuring the group so it stays resilient and self-healing while it scales. The services are familiar from the Cloud Practitioner; the difference here is picking the exact right option under a precise requirement.
Match the policy to the pattern
Most scaling questions are really “which policy?”, and the stem tells you:
- A metric to hold (“keep CPU around 50%”) → target tracking.
- A known clock time (“every weekday at 09:00”) → scheduled scaling, which provisions ahead of the peak instead of chasing it.
- A recurring cycle to get ahead of, learned from history → predictive scaling.
The recurring trap is offering reactive target tracking where the requirement says “ready before the spike”. If the load is predictable, reactive scaling is a beat too late — reach for scheduled or predictive.
Health checks decide what “healthy” means
By default an Auto Scaling group uses EC2 status checks, which only confirm the instance and its host are reachable — they sail straight past an application that has hung while the instance is still “running”. When the requirement is to replace instances that fail at the application layer, set the group’s health check type to ELB so it honours the load balancer’s application health check. That one setting is the difference between a self-healing tier and one that keeps routing traffic to a dead app.
Resilience is AZ spread
A group is only as resilient as the zones it spans. Configure it across multiple Availability Zones and it balances instances across them and re-launches into healthy zones when one fails — the compute tier survives an AZ loss automatically. Confining a group to a single AZ, or leaning on a single large instance, reintroduces the single point of failure the group exists to remove. (Multi-AZ standby is a database feature — do not let it wander into an EC2 answer.)
Draining work on scale-in
When instances are removed mid-job and work is lost, the fix is a lifecycle hook: it holds a terminating instance in a wait state until your automation drains connections or finishes the job and signals completion. Termination protection would block scale-in entirely; a longer cooldown just spaces out actions. Graceful shutdown on scale-in is specifically a lifecycle hook.
How to use the six scenarios below
Answer each one before opening the explanation, and when you miss, name the requirement that decided it — “before the spike”, “hold this metric”, “application health”, “survive an AZ”, “finish in-flight work”. Every explanation states that constraint and dismantles the distractors, most of which are real Auto Scaling features answering a slightly different pattern. For the domain overview, see Design Resilient Architectures.
Updated for SAA-C03 (July 2026). The sample questions above are our own work
in the style of the exam — not real exam items. The exam itself is set and marked
by the certification body.