AWS Certified Solutions Architect – Associate (SAA-C03) — Question 320
A company is launching a new application deployed on an Amazon Elastic Container Service (Amazon ECS) cluster and is using the Fargate launch type for ECS tasks. The company is monitoring CPU and memory usage because it is expecting high traffic to the application upon its launch. However, the company wants to reduce costs when utilization decreases.
What should a solutions architect recommend?
Answer options
- A. Use Amazon EC2 Auto Scaling to scale at certain periods based on previous traffic patterns.
- B. Use an AWS Lambda function to scale Amazon ECS based on metric breaches that trigger an Amazon CloudWatch alarm.
- C. Use Amazon EC2 Auto Scaling with simple scaling policies to scale when ECS metric breaches trigger an Amazon CloudWatch alarm.
- D. Use AWS Application Auto Scaling with target tracking policies to scale when ECS metric breaches trigger an Amazon CloudWatch alarm.
Correct answer: D
Explanation
Amazon ECS on AWS Fargate requires the use of AWS Application Auto Scaling, not Amazon EC2 Auto Scaling, because Fargate is a serverless engine with no underlying EC2 instances to manage. Target tracking scaling policies are the most efficient, native way to automatically scale ECS tasks up or down to maintain a specific CPU or memory utilization target. While a custom AWS Lambda function could technically trigger scaling, it introduces unnecessary operational overhead compared to native Application Auto Scaling.