Solutions Architect Associate · 26% of the exam

Design Resilient Architectures: free practice questions

5 sample questions from our 65-question bank for this domain — answers and explanations included. These are the same scenario-based style as the real AWS exam.

1. A global media streaming company publishes content-update events to an Amazon SNS topic. Four downstream services must each independently process every event: a CDN cache invalidation service, a search indexer, a recommendation engine, and an analytics pipeline. Each service has its own processing speed and must not be blocked by slow consumers. Which architecture pattern BEST achieves this fan-out requirement?

  • A. Configure the SNS topic with four subscriptions, each pointing to a dedicated Amazon SQS standard queue; each downstream service polls its own queue✓ Correct
  • B. Use a single Amazon SQS FIFO queue with message group IDs set per service to route messages to each consumer
  • C. Configure the four services as direct HTTP endpoint subscribers on the SNS topic using HTTPS delivery
  • D. Use Amazon EventBridge with a single rule that targets all four services simultaneously using a Lambda function that manually fans out the events
Explanation

The SNS-to-SQS fan-out pattern is the canonical AWS solution for this requirement. Each downstream service gets its own SQS queue subscribed to the same SNS topic. SNS delivers a copy of every message to each queue independently, so a slow consumer (e.g., the recommendation engine) does not block faster consumers (e.g., cache invalidation). Each service controls its own polling rate, retry behavior, and dead-letter queue. A single SQS FIFO queue cannot fan out to multiple independent consumers; all consumers would compete for the same messages, and each message would only be processed once. Direct HTTPS subscriptions to SNS create tight coupling—if any subscriber's endpoint is slow or unavailable, it affects retry behavior and does not decouple processing speeds. A single Lambda fan-out function introduces a single point of failure and adds unnecessary latency; EventBridge rules can target multiple services directly without needing an intermediary Lambda.

2. A company runs a critical batch processing application that reads jobs from an Amazon SQS standard queue and processes them using AWS Lambda. Each job takes between 10 and 25 minutes to complete. Occasionally, Lambda functions are terminated before completing a job, and the job must be retried. The team wants to ensure that incomplete jobs are retried without being lost, and that a job that consistently fails is isolated for investigation without blocking other jobs. Which configuration achieves this with the LEAST custom code?

  • A. Set the SQS visibility timeout to 30 minutes and configure a dead-letter queue with maxReceiveCount set to 3; failed jobs that exceed 3 attempts are moved to the DLQ automatically✓ Correct
  • B. Set the SQS visibility timeout to 5 minutes so that failed jobs quickly become visible for retry; use a CloudWatch alarm to detect when the DLQ depth exceeds 0
  • C. Configure the Lambda function to write failed job IDs to an Amazon DynamoDB table and use a separate scheduled Lambda to reprocess them
  • D. Enable SQS long polling with a wait time of 20 seconds and increase the Lambda timeout to 15 minutes to reduce the chance of mid-job termination
Explanation

Setting the visibility timeout to 30 minutes (greater than the maximum job duration of 25 minutes) ensures that a job's message does not become visible to other consumers while it is being processed. If Lambda is terminated, the message becomes visible after 30 minutes and is retried. The DLQ with maxReceiveCount of 3 automatically isolates jobs that fail repeatedly—all with no custom code. Option B sets the visibility timeout to 5 minutes, which is shorter than the minimum job duration of 10 minutes; this guarantees duplicate processing every time, which is worse than the original problem. Option C (DynamoDB + scheduled Lambda) requires significant custom code, violating the least-custom-code requirement. Option D (long polling + extended timeout) reduces overhead but does not prevent mid-job termination (Lambda maximum timeout is 15 minutes, but jobs can take up to 25 minutes); it also does not isolate consistently failing jobs.

3. A startup is building a new web application and wants to ensure high availability. A solutions architect recommends using Amazon Route 53 with a health-check-based failover routing policy. The primary endpoint is an ALB in us-east-1. The secondary endpoint is a static error page hosted in Amazon S3 in the same Region. Which statement about this configuration is MOST accurate?

  • A. Route 53 failover routing requires the primary and secondary endpoints to be in different AWS Regions.
  • B. Route 53 will only perform failover if the primary ALB endpoint fails its associated health check. When the health check fails, Route 53 will start returning the secondary S3 static website endpoint to DNS queries.✓ Correct
  • C. Route 53 failover routing uses latency measurements to determine which endpoint to return, switching to the secondary when latency exceeds a threshold.
  • D. The S3 static website endpoint cannot be used as a secondary target in Route 53 failover routing because S3 is not a supported alias target for failover records.
Explanation

Correct (B): Route 53 failover routing policies use health checks associated with the primary record. When the health check fails (the primary ALB becomes unhealthy), Route 53 stops returning the primary record and begins returning the secondary record — in this case the S3 static website endpoint. This is a common pattern for providing a graceful degradation page during outages. Incorrect (A): Route 53 failover routing does not require primary and secondary endpoints to be in different Regions. Both can be in the same Region. Cross-Region DR is a common use case, but it is not a requirement. Incorrect (C): Latency-based routing uses latency measurements to route users to the lowest-latency endpoint; this is a different routing policy from failover routing. Failover routing is exclusively health-check-driven. Incorrect (D): Amazon S3 static website endpoints are valid targets for Route 53 alias records and can be used as secondary failover targets. S3 is a supported alias target type in Route 53.

4. A company hosts a customer-facing web application on Amazon EC2 instances behind an Application Load Balancer (ALB). The operations team notices that during deployments, some users briefly receive HTTP 502 errors as old instances are replaced. The team wants to eliminate these errors during future deployments without affecting availability. Which ALB feature should the solutions architect enable?

  • A. Cross-zone load balancing
  • B. Connection draining (deregistration delay)✓ Correct
  • C. Sticky sessions (session affinity)
  • D. ALB access logging
Explanation

Connection draining (deregistration delay) ensures that when an instance is deregistered from the ALB—such as during a rolling deployment—the load balancer stops sending new requests to that instance but allows in-flight requests to complete gracefully before fully removing it. This eliminates 502 errors caused by abrupt connection termination. Cross-zone load balancing distributes traffic evenly across AZs but does not address in-flight connection handling during deregistration. Sticky sessions pin users to specific instances but would actually worsen the problem during deployments if users are pinned to a terminating instance. ALB access logging records request metadata for analysis but has no effect on connection handling.

5. An e-commerce company processes customer orders using an Amazon SQS queue feeding a fleet of EC2 worker instances in an Auto Scaling group. On busy days, the queue depth spikes to 50,000 messages, but overnight the queue is nearly empty. The company wants to scale the worker fleet based on queue depth. Which scaling approach is MOST appropriate?

  • A. Use a target tracking scaling policy based on the SQS ApproximateNumberOfMessagesVisible metric to maintain a target number of messages per instance✓ Correct
  • B. Use a scheduled scaling action to add instances every morning and remove them every night
  • C. Use a simple scaling policy triggered by a CloudWatch alarm on CPUUtilization greater than 70%
  • D. Use predictive scaling based on historical CPU metrics to pre-warm the fleet before demand spikes
Explanation

Correct: A target tracking policy on the SQS ApproximateNumberOfMessagesVisible metric (or the derived 'backlog per instance' custom metric) directly aligns scaling with work in the queue—the fleet grows when messages accumulate and shrinks when the queue drains. This is the AWS-recommended pattern for queue-based workloads. Option B is wrong because scheduled scaling requires predictable timing; it cannot react to unexpected demand spikes and may add capacity before it is needed or miss irregular events. Option C is wrong because CPU utilization is a lagging indicator for queue-based workloads—instances may be idle waiting for messages while the queue grows, meaning CPU stays low even when the queue is deep, causing under-scaling. Option D is wrong because predictive scaling uses historical patterns to forecast load—it is useful for recurring, predictable load patterns but cannot react to unexpected spikes in queue depth and the scenario does not indicate the spikes are consistently predictable.

60 more questions in this domain

Practice the full bank with instant grading, flashcards, and a timed mock exam.

Start practicing free