These questions are independently created for study purposes. They are not official AWS exam questions, actual exam questions, leaked questions, or exam dumps.
SAA-010
You want to run a web application on EC2 distributed across multiple AZs and stop sending traffic to instances with failures. Which configuration is the most appropriate?
Choices
Explanation and answer
Read the explanation and correct answer (spoiler — try answering first)
Correct answer: B. Configure an Application Load Balancer and an Auto Scaling Group across multiple AZs.
Explanation
An ALB uses health checks to route traffic only to healthy targets. Spreading an Auto Scaling Group across multiple AZs creates a configuration resilient to instance and AZ failures.
Per-choice explanations
A. Enable only CloudWatch Logs.
Incorrect. Log collection alone cannot achieve traffic control or high availability.
B. Configure an Application Load Balancer and an Auto Scaling Group across multiple AZs.
Correct. It is the basic configuration for high-availability web apps.
C. Create an S3 bucket as a replacement for EC2.
Incorrect. S3 can be used for static file storage but is not a direct replacement for a dynamic web app running on EC2.
D. Attach an Elastic IP to a single-AZ EC2 instance.
Incorrect. A single-AZ configuration is weak against AZ failures.
Practical Use
Deploying an Application Load Balancer (ALB) and an Auto Scaling Group (ASG) across multiple AZs is the basic pattern for high-availability web applications on AWS. The ALB routes traffic to EC2 instances registered with a target group based on configured health checks (such as HTTP response codes). Instances that fail the health check are automatically removed from the target and are reintroduced after recovery. When the ASG is configured across multiple AZs, instances in other AZs remain during an AZ failure, preventing a service-wide outage. The ASG has scaling policies (Target Tracking, Step Scaling, Predictive Scaling) that dynamically adjust the number of instances based on metrics (CPU utilization, request count, custom metrics, and so on). The Launch Template lets you define user data, the IAM role, the AMI, and other settings at instance launch time, and pairs well with immutable infrastructure operations. The ALB supports path-based and host-based routing at Layer 7, as well as HTTP/HTTPS, WebSocket, and gRPC, and is used distinctly from the Network Load Balancer (Layer 4, ultra-low latency) and CloudFront (CDN, edge delivery) according to the use case. On SAA-C03, ALB + ASG (Multi-AZ) is the correct answer for requirements such as "distribute across multiple AZs" and "do not send traffic to instances with failures." The distractor patterns are also easy to organize: a single AZ + Elastic IP is weak against AZ failures, replacing EC2 with S3 cannot handle dynamic processing, and CloudWatch Logs alone cannot control traffic. The distinction among ALB / NLB / CloudFront, the design of ASG scaling policies, and the difference between Launch Template and Launch Configuration are explored in more depth on higher exams.