SAA-C03 Exam Traps: Cost Optimization and High Performance Questions That Fool Architects
Five exam traps from SAA-C03 Domains 3 and 4 that catch experienced candidates. Covers Graviton vs x86 cost decisions, 'most cost-effective' vs 'lowest RTO' answer shifts, ElastiCache Redis vs Memcached, the June 2025 RI policy change, and Lambda@Edge vs CloudFront Functions. Includes 5 practice questions.
The AWS Solutions Architect Associate (SAA-C03) exam is designed to test your ability to choose the BEST solution — not just a working one. Nowhere is this more challenging than in Domains 3 (High-Performing Architectures, 24%) and 4 (Cost-Optimized Architectures, 20%). Together they represent 44% of the exam, and the questions are designed with subtle traps that catch even experienced AWS practitioners.
This guide breaks down the five most common traps, explains the logic behind each one, provides quick-reference tables for both domains, and finishes with 5 practice questions in exam format with detailed explanations.
Trap #1: Graviton vs x86 — When Graviton Is the Correct Cost Answer
AWS Graviton processors (ARM-based, designed by AWS) offer up to 40% better price-performance compared to equivalent x86 instances for many workloads. The SAA-C03 now includes Graviton-based instances as correct answers for cost optimization questions.
| Factor | Graviton (e.g., m7g, c7g, r7g) | x86 (e.g., m7i, c7i, r7i) |
|---|---|---|
| Price per hour | ~20% less than equivalent x86 | Standard pricing |
| Performance | Better for containerized, web, and open-source workloads | Required for Windows, x86-only software, or legacy binaries |
| Compatibility | Linux-based apps, containers, Java, Python, Node.js, .NET Core | All workloads including Windows and proprietary x86 software |
| Exam Signal | "Most cost-effective" + Linux + containerized/open-source | "Windows application" or "x86 binary dependency" |
Trap #2: "Most Cost-Effective" vs "Lowest RTO" — How the Answer Changes
This is the most dangerous trap on the SAA-C03. The SAME scenario with a DIFFERENT optimization goal produces a completely different correct answer. Here is an example:
Scenario: A company runs a web application across two Regions. The primary Region handles all production traffic. The application must recover within 15 minutes if the primary Region fails.
| If the question asks... | Correct Answer | Why |
|---|---|---|
| "...with the LOWEST cost" | Pilot Light | Only the database replica runs in the DR Region. App servers are provisioned during failover. Cheapest option that can meet ~15 min RTO. |
| "...with the LOWEST RTO" | Multi-Site Active/Active | Both Regions run full production. Route 53 failover routing. Near-zero RTO. Most expensive but fastest recovery. |
| "...with the LEAST operational overhead" | Warm Standby with AWS Elastic Disaster Recovery | Automated replication and failover. Less manual scaling than Pilot Light, less cost than full Active/Active. |
Trap #3: ElastiCache Memcached vs Redis — Which Supports Persistence?
This trap catches candidates who know both are caching engines but have not memorized their key differences:
| Feature | ElastiCache for Redis | ElastiCache for Memcached |
|---|---|---|
| Persistence (backup/restore) | Yes (snapshots, AOF) | No |
| Replication | Yes (read replicas, Multi-AZ with auto-failover) | No replication |
| Data Structures | Strings, lists, sets, sorted sets, hashes, streams, geospatial | Simple key-value strings only |
| Pub/Sub | Yes | No |
| Multi-threading | Single-threaded (with I/O threads in Redis 7) | Multi-threaded (can use multiple CPU cores) |
| Scaling | Cluster mode with sharding | Horizontal scaling by adding nodes |
| Best For | Session stores, leaderboards, real-time analytics, chat, queues | Simple caching of database query results, HTML fragments |
Trap #4: Reserved Instance Policy Change — June 2025
In June 2025, AWS made a significant change to Reserved Instances: RI purchases are now restricted to a single customer and cannot be resold on the RI Marketplace. This affects how you answer cost optimization questions:
- Before June 2025: If you no longer needed an RI, you could list it for sale on the RI Marketplace. This made RIs somewhat flexible — you could recover costs if your needs changed.
- After June 2025: RIs are non-transferable. If you buy a 3-year Standard RI and your workload changes, you are locked in with no resale option.
- Exam Impact: This makes Savings Plans the preferred answer for most cost optimization questions in 2026, because Compute Savings Plans offer similar discounts with more flexibility (any instance family, any Region, and they apply to Fargate and Lambda too).
| Scenario | Best Answer (2026) | Why Not RI? |
|---|---|---|
| Steady workload, may change instance types | Compute Savings Plans | RIs lock to a specific instance type and cannot be resold. |
| Exact instance type known for 3 years, single Region | Standard RI (still valid, but less flexible) | RI is correct only when absolute certainty about instance type and Region. |
| Mixed workload with Lambda and Fargate | Compute Savings Plans | RIs only apply to EC2 and RDS. Savings Plans cover EC2, Fargate, and Lambda. |
Trap #5: Lambda@Edge vs CloudFront Functions — Latency and Capability
Both run code at the edge, but they serve different purposes. Confusing them is one of the most common SAA-C03 mistakes:
| Feature | CloudFront Functions | Lambda@Edge |
|---|---|---|
| Runtime | JavaScript only | Node.js and Python |
| Execution Time | < 1 ms (sub-millisecond) | Up to 5 seconds (viewer triggers) or 30 seconds (origin triggers) |
| Network Access | No (cannot make network calls) | Yes (can call external APIs, DynamoDB, S3) |
| Memory | 2 MB max | Up to 10 GB (10,240 MB) |
| Request/Response Access | Viewer request and viewer response only | Viewer request, viewer response, origin request, origin response |
| Pricing | ~1/6 the cost of Lambda@Edge | Standard Lambda pricing per request and duration |
| Scale | Millions of requests per second | Thousands of requests per second (regional limits) |
| Best For | URL rewrites, header manipulation, cache key normalization, A/B testing redirects | Authentication, origin selection, image resizing, calling external services |
Domain 3 and 4 Quick-Reference Tables
Compute Selection Guide
| Workload | Service | Why |
|---|---|---|
| Short event-driven tasks (< 15 min) | Lambda | No servers, pay per invocation, scales to zero |
| Containerized microservices (no server management) | Fargate (ECS or EKS) | Serverless containers, right-sized, no EC2 patching |
| Containerized with full Kubernetes control | EKS on EC2 | Customer controls nodes, scheduling, and plugins |
| Long-running, stateful, full OS control | EC2 | Maximum flexibility, supports Windows, custom AMIs |
| Batch processing tolerant of interruptions | EC2 Spot Instances | Up to 90% savings, but 2-minute interruption notice |
Storage Tiering Strategy
| Access Pattern | Optimal S3 Class | Cost-Saving Mechanism |
|---|---|---|
| Frequently accessed (daily) | S3 Standard | No retrieval fees |
| Unpredictable access patterns | S3 Intelligent-Tiering | Auto-moves objects between tiers, small monitoring fee |
| 30+ days old, infrequent | S3 Standard-IA (lifecycle rule) | Lower storage cost, retrieval fee per GB |
| 90+ days old, rarely accessed | S3 Glacier Instant Retrieval (lifecycle rule) | 68% cheaper than Standard, millisecond retrieval |
| Compliance archive (7+ years) | S3 Glacier Deep Archive | Cheapest storage, 12-48 hour retrieval |
Database Performance Comparison
| Need | Service | Latency |
|---|---|---|
| Relational with high performance | Aurora | Low ms (5x MySQL performance) |
| Key-value at any scale | DynamoDB | Single-digit ms |
| Microsecond reads from DynamoDB | DynamoDB + DAX | Microseconds |
| Session caching with persistence | ElastiCache for Redis | Sub-ms |
| Petabyte-scale analytics | Redshift | Seconds (columnar, optimized for aggregations) |
5 Practice Questions
Question 1: A company runs a containerized microservices application on Linux. The application is stateless and processes millions of API requests per day. The team wants to reduce infrastructure costs without changing the application code. Which approach provides the MOST cost-effective solution?
A. Migrate to EC2 m7i instances with 3-year Standard Reserved Instances
B. Migrate to Fargate with Graviton (ARM) and purchase Compute Savings Plans
C. Migrate to EC2 Spot Instances with m7i.large
D. Migrate to Lambda functions triggered by API Gateway
Show Answer
B. Migrate to Fargate with Graviton (ARM) and purchase Compute Savings Plans.
Fargate eliminates EC2 management overhead. Graviton-based Fargate tasks are ~20% cheaper than x86. Compute Savings Plans apply to Fargate and offer up to 66% savings. The application is stateless and containerized, making Fargate ideal. Spot Instances (C) could be interrupted, which is risky for an API serving millions of requests. Lambda (D) would require code changes for a microservices architecture. Standard RIs (A) lock to x86 and are non-transferable since June 2025.
Question 2: A company needs to implement disaster recovery for a critical relational database. The RPO must be less than 5 minutes and the RTO must be less than 30 seconds. Which solution meets these requirements at the LOWEST cost?
A. RDS Multi-AZ with automated backups every 5 minutes
B. Aurora Global Database with managed planned failover
C. RDS with cross-Region read replicas and manual promotion
D. DynamoDB Global Tables with multi-Region active-active
Show Answer
B. Aurora Global Database with managed planned failover.
Aurora Global Database provides cross-Region replication with lag typically under 1 second (RPO < 5 min met). Managed planned failover promotes a secondary Region in under 1 minute, and with Application Recovery Controller it can be under 30 seconds (RTO met). RDS Multi-AZ (A) protects within a single Region only — it does not provide cross-Region DR. RDS cross-Region replicas (C) require manual promotion which takes minutes, not seconds. DynamoDB (D) is NoSQL, not relational — does not meet the "relational database" requirement.
Question 3: A gaming company stores session data in a cache. The data must persist across node restarts, support sorted sets for leaderboards, and replicate across Availability Zones for high availability. Which solution should a solutions architect recommend?
A. ElastiCache for Memcached with cross-AZ node placement
B. ElastiCache for Redis with Multi-AZ and automatic failover enabled
C. DynamoDB with DAX caching
D. Amazon MemoryDB for Redis
Show Answer
B. ElastiCache for Redis with Multi-AZ and automatic failover enabled.
Redis supports persistence (data survives restarts), sorted sets (perfect for leaderboards), and Multi-AZ replication with automatic failover. Memcached (A) does not support persistence, replication, or sorted sets. DynamoDB + DAX (C) provides caching but DAX is a read-through cache for DynamoDB, not a general-purpose session store with sorted sets. MemoryDB (D) also supports Redis data structures and persistence, but it is more expensive and designed for durable primary database use cases — ElastiCache for Redis is the standard answer for caching scenarios on the SAA-C03.
Question 4: A company serves a global web application through Amazon CloudFront. They need to add authentication logic that checks a JWT token against an external authorization API before allowing access to cached content. Which solution provides this capability with the LEAST operational overhead?
A. CloudFront Functions with a viewer request trigger
B. Lambda@Edge with a viewer request trigger
C. An Application Load Balancer with an authentication action rule
D. Amazon API Gateway with a Lambda authorizer behind CloudFront
Show Answer
B. Lambda@Edge with a viewer request trigger.
The key requirement is calling an external authorization API — this requires network access, which CloudFront Functions (A) cannot do. Lambda@Edge runs at edge locations and can make network calls to external APIs. It intercepts the viewer request before CloudFront checks its cache, ensuring unauthorized users never see cached content. An ALB (C) would require routing all traffic to a Region first, adding latency. API Gateway + Lambda (D) adds unnecessary components and complexity.
Question 5: A company has a steady-state workload running on EC2 c5.2xlarge instances in us-east-1 with a 3-year term. The development team wants to modernize the application to use containers on Fargate within the next year and may also move to a different Region. Which purchasing option provides the BEST cost savings while accommodating these future changes?
A. 3-year Standard Reserved Instances for c5.2xlarge in us-east-1
B. 3-year Convertible Reserved Instances for c5.2xlarge in us-east-1
C. 3-year Compute Savings Plans
D. 1-year EC2 Instance Savings Plans with auto-renewal
Show Answer
C. 3-year Compute Savings Plans.
Compute Savings Plans apply to any EC2 instance family, any Region, and also apply to Fargate and Lambda. When the team moves to Fargate and possibly a different Region, the savings plan continues to apply. Standard RIs (A) are locked to c5.2xlarge in us-east-1 and cannot be resold since June 2025. Convertible RIs (B) allow instance type changes but are still EC2-only — they do not cover Fargate. EC2 Instance Savings Plans (D) are locked to an instance family in a specific Region, which does not accommodate the Region change.
Comments
No comments yet. Be the first!
Comments are reviewed before publication.