AWS Solutions Architect Associate (SAA-C03) · 26% practice allocation

AWS SAA-C03: Design Resilient Architectures Practice Questions

5 free sample questions from the Design Resilient Architectures domain, with answers and explanations. The full SAA-C03 bank has 250 questions across 4 domains. Questions are scenario-based and written from the official AWS exam guide.

1.

A healthcare company runs a critical OLTP workload on Amazon RDS for PostgreSQL with Multi-AZ enabled. A solutions architect is asked to offload reporting queries—which can run for up to 20 minutes—from the primary instance without impacting transaction performance. The reporting queries must reflect data that is no more than 5 minutes old. Which solution BEST meets these requirements?

  • A. Create one or more RDS read replicas and direct reporting queries to the replica endpoint✓ Correct
  • B. Enable RDS Proxy and configure a separate connection pool for read-only queries
  • C. Create an Amazon Redshift cluster and use AWS DMS to continuously replicate data from RDS; run reports against Redshift
  • D. Direct reporting queries to the Multi-AZ standby instance using the standby endpoint
Explanation

RDS read replicas are asynchronously replicated copies of the primary database. Typical replication lag is measured in seconds, well within the 5-minute freshness requirement. Reporting queries are routed to the read replica endpoint, completely isolating long-running analytical queries from the primary OLTP workload. Multiple read replicas can be added if query concurrency increases. The Multi-AZ standby instance is a synchronous hot standby used exclusively for failover—it is not accessible for read queries; AWS does not expose a direct connection endpoint to the standby. Amazon Redshift with DMS is a valid analytics architecture but adds significant complexity, cost, and setup time; DMS replication latency can exceed 5 minutes depending on batch settings, potentially violating the freshness requirement. RDS Proxy improves connection pooling and failover speed but does not separate read workloads from the primary; it does not route queries to a replica by itself.

2.

A financial technology company stores end-of-day trade settlement reports in an Amazon S3 bucket in us-east-1. The compliance team requires that every report uploaded to the bucket is automatically available in a second bucket in eu-west-1 within minutes, that any accidental deletions in the source bucket are replicated to the destination bucket, and that objects are protected from permanent deletion in both Regions. Which combination of S3 features satisfies ALL of these requirements? (Select TWO)

  • A. Enable S3 Object Lock in Compliance mode on both buckets to prevent permanent deletion.
  • B. Enable S3 Versioning on both the source and destination buckets.✓ Correct
  • C. Enable S3 Cross-Region Replication (CRR) with Delete Marker Replication enabled between the source and destination buckets.✓ Correct
  • D. Enable S3 Same-Region Replication (SRR) from the source bucket to a staging bucket in us-east-1, and then configure a second SRR rule to eu-west-1.
  • E. Configure an S3 Lifecycle rule on the destination bucket to transition objects to S3 Glacier Instant Retrieval after 1 day.
  • F. Configure an S3 Multi-Region Access Point with failover routing between the two buckets.
Explanation

CRR with Delete Marker Replication enabled replicates objects to eu-west-1 within minutes and also replicates delete markers, satisfying the accidental-deletion replication requirement. Versioning (required for CRR) must be enabled on both buckets; it also protects objects from permanent deletion because a delete operation only adds a delete marker—objects can be recovered by removing the marker. Together, these two features meet all stated requirements. — SRR replicates within the same Region; chaining two SRR rules would not directly replicate to eu-west-1 and adds unnecessary complexity when CRR does this natively. — A Lifecycle rule to Glacier Instant Retrieval addresses cost optimization, not deletion protection or replication, and would make objects harder to access rapidly. — S3 Object Lock in Compliance mode is a very strong control (prevents deletion even by root), but the scenario asks for protection from accidental deletion; Versioning already handles this and is simpler. More importantly, Object Lock is not listed as a core requirement here—it is an optional enhancement. — A Multi-Region Access Point simplifies client-side access routing but does not replicate objects; it has no bearing on replication or deletion protection.

3.

A retail company runs its inventory management system on Amazon RDS for MySQL in a single Availability Zone. The database currently performs nightly backups to Amazon S3 with a 1-day retention period. Management has mandated an RPO of no more than 1 hour and an RTO of no more than 30 minutes. Which combination of changes BEST meets these requirements? (Select TWO)

  • A. Create an RDS read replica in the same Region
  • B. Enable RDS automated backups with a 35-day retention period and take manual snapshots every 15 minutes
  • C. Enable automated backups with a retention period of at least 1 day and enable point-in-time recovery✓ Correct
  • D. Enable RDS Multi-AZ deployment✓ Correct
  • E. Migrate the database to Amazon DynamoDB to leverage built-in replication
Explanation

Enabling RDS Multi-AZ creates a synchronous standby replica in a different AZ. In the event of an AZ failure or instance issue, RDS automatically fails over to the standby, typically within 1–2 minutes, meeting the 30-minute RTO. Enabling automated backups with point-in-time recovery allows the database to be restored to any second within the retention window (up to 35 days), easily satisfying the 1-hour RPO since transaction logs are continuously shipped to S3. A read replica in the same Region is not automatically promoted during failures and requires manual intervention, which may not meet the 30-minute RTO. Migrating to DynamoDB is a disruptive architectural change and is not a straightforward path for relational MySQL workloads. Taking manual snapshots every 15 minutes is operationally complex, error-prone, and still does not guarantee the 1-hour RPO as reliably as automated point-in-time recovery.

4.

A company is building a payment processing system using AWS Step Functions. Each execution involves a charge step, a fraud check step, and a fulfillment step. Due to intermittent downstream API timeouts, the fraud check step occasionally fails. The team wants the workflow to automatically retry the fraud check up to three times with increasing wait intervals before marking the execution as failed. Which Step Functions feature should be configured on the fraud check state?

  • A. A Retry field on the Task state with MaxAttempts set to 3 and BackoffRate greater than 1✓ Correct
  • B. A Catch block that redirects to a Wait state before re-entering the fraud check state
  • C. A Parallel state that runs three simultaneous fraud check attempts and uses the first successful result
  • D. An activity worker with a heartbeat timeout that polls for the fraud check task and retries internally
Explanation

Step Functions Task states support a native Retry field where you can specify an array of retry configurations, including ErrorEquals (which errors to retry), MaxAttempts (maximum retry count), IntervalSeconds (initial wait), and BackoffRate (multiplier applied to the wait interval on each retry). Setting MaxAttempts to 3 and BackoffRate to a value greater than 1 (e.g., 2.0) implements exponential backoff automatically within the state machine, with no additional states needed. A Catch block handles errors that exhaust all retries (or errors not covered by Retry) by transitioning to a different state—it is meant for error recovery/fallback, not for retry logic. Using a manual Wait-and-loop pattern via Catch is possible but verbose and error-prone compared to the built-in Retry field. An activity worker with a heartbeat is a long-polling pattern for external workers and is unrelated to automatic retry with backoff. A Parallel state runs branches concurrently and collects all results; it cannot select the first successful result and discard others without additional coordination logic.

5.

A solutions architect is reviewing a serverless order processing system. Orders arrive via an API Gateway endpoint that synchronously invokes a Lambda function. The function writes to an RDS database and then calls a third-party shipping API. Recently, when the shipping API experiences slowdowns, the Lambda function times out, causing API Gateway to return 504 errors to customers, and duplicate orders are being created in the database. Which architectural changes would BEST address the reliability and duplicate-processing issues? (Select TWO)

  • A. Increase the Lambda function timeout to 15 minutes to accommodate shipping API slowdowns
  • B. Decouple the shipping API call by publishing the order to an SQS queue after the database write, and process the shipping API call asynchronously from a separate Lambda function✓ Correct
  • C. Enable Lambda reserved concurrency set to 1 to prevent concurrent duplicate writes
  • D. Implement an idempotency key on the database write operation so that retried requests do not create duplicate orders✓ Correct
  • E. Replace API Gateway with an Application Load Balancer to handle longer request timeouts
  • F. Enable API Gateway caching to reduce the number of Lambda invocations
Explanation

Correct (B): Decoupling the slow third-party shipping API call via SQS makes the synchronous API path fast and resilient—the Lambda function writes to the DB, publishes a message to SQS, and returns success immediately. A separate async Lambda consumer handles the shipping API call with its own retry logic, DLQ, and visibility timeout, eliminating timeouts cascading to the customer. Correct (D): Implementing an idempotency key (e.g., using the order ID as a unique constraint or an idempotency table) ensures that if the Lambda function is retried due to a timeout, the database write is a no-op for already-processed requests, preventing duplicate orders. Option A is wrong because increasing the timeout to 15 minutes doesn't resolve the root cause—customers would just wait longer before receiving a 504, and the synchronous dependency on the shipping API remains; it also increases costs. Option C is wrong because setting reserved concurrency to 1 would serialize all requests, creating a bottleneck that destroys scalability and does not address duplicates from retries. Option E is wrong because ALB has a maximum timeout of 4000 seconds, but swapping load balancers doesn't address the architectural flaw of synchronous coupling to a slow third-party API. Option F is wrong because API Gateway caching caches responses for GET requests; it does not help with POST order submissions and does not address timeouts or duplicates.

Test yourself across every SAA-C03 domain

The free SAA-C03 practice test mixes about 20 questions weighted like the exam. The full 250-question bank adds instant grading, flashcards and a timed mock exam.

Study this domain

Design Resilient Architectures study guide (SAA-C03) →

Other SAA-C03 domains

← All AWS Solutions Architect Associate study resources