🟢

Auto Scaling Groups – Scaling Policies

Dynamic Scaling

  • Target Tracking Scaling – Keeps a chosen metric (e.g., average CPU utilization) at a set target.
    • Example: Maintain ASG CPU at ~40%.
  • Simple / Step Scaling – Triggers when a CloudWatch alarm is met.
    • Example: If CPU > 70%, add 2 instances; if CPU < 30%, remove 1 instance.

Scheduled Scaling

  • Plans scaling actions for predictable patterns.
    • Example: Increase minimum capacity to 10 at 5 PM every Friday.

Predictive Scaling

  • Uses historical traffic data to forecast future demand.
  • Automatically scales capacity ahead of load changes.
    • Analyze historical usage.
    • Forecast expected traffic.
    • Schedule scale-out/scale-in actions proactively.

Good Metrics to Scale On

  • CPUUtilization – Average CPU usage across the ASG; useful for CPU-bound workloads.
  • RequestCountPerTarget – Keeps requests per instance stable; ideal for web apps behind a load balancer.
  • Average Network In/Out – Relevant for network-intensive workloads (e.g., streaming, file transfers).
  • Custom Metrics – Application-specific metrics (e.g., memory usage, queue depth) pushed to CloudWatch for tailored scaling logic.