← Cheatsheets

CHEATSHEET · DEVOPS · LAST-MINUTE REVISION

AWS — The Solutions Architect Associate Cheatsheet.

aws cloud saa-c03 certification exam-prep
For the AWS Certified Solutions Architect – Associate (SAA-C03) — also strong prep for the Developer / SysOps associates and cloud interviews. The exam is scenario-based: almost every question is "given these requirements, pick the best architecture," and the four answers are usually all valid — you choose the one that best fits the stated priority (secure, resilient, fast, or cheap). Two master skills: right service for the requirement and least-privilege networking + IAM. This sheet is organized around the four exam domains, then the service reference, decision patterns, exam-day mindset, and common traps.

0. The exam & the four domains

65 questions · 130 min · multiple-choice / multiple-response · pass ≈ 720/1000 (scaled), compensatory scoring (only the overall score must pass — no per-domain minimum). The domains and their weights are the study plan:

DomainWeightThe question it asks
1 · Design Secure Architectures30%Least-privilege IAM, network isolation, encryption in transit/at rest.
2 · Design Resilient Architectures26%Multi-AZ, decoupling, backups, the right DR strategy for the RTO/RPO.
3 · Design High-Performing Architectures24%Right compute/storage/DB, caching, scaling, removing bottlenecks.
4 · Design Cost-Optimized Architectures20%Pricing models, storage classes, right-sizing, serverless-when-bursty.
read the priority word Every scenario buries the deciding word: "most cost-effective", "highest availability", "least operational overhead", "most secure". Two answers "work"; the right one optimizes that word. "Least operational overhead" almost always points at a managed/serverless option.

1. Global infrastructure

TermWhat
RegionGeographic area (us-east-1). Choose for latency, price, compliance, service availability.
Availability Zone (AZ)One+ isolated datacenters in a region. Deploy across ≥2 AZs for HA.
Edge locationCloudFront/Route 53 PoP, close to users.
Local Zone / OutpostsAWS compute closer to a metro / on-prem.

Design rule: spread across AZs for availability; use multiple regions only for DR or global latency (it's more complex/expensive).

2. IAM

ThingWhat
UserA person / long-lived identity.
GroupCollection of users; attach policies once.
RoleAssumable identity for services / cross-account / federation — temporary creds, no long-lived keys. Prefer this.
PolicyJSON: Effect (Allow/Deny), Action, Resource, Condition.

Evaluation: explicit Deny > Allow > implicit deny. Identity-based + resource-based policies + SCPs + permission boundaries all apply. sts:AssumeRole gives temporary credentials.

GuardrailWhat it does
SCP (Organizations)Max permissions for accounts/OUs — a ceiling, grants nothing. The "no one, not even root, can do X" control.
Permission boundaryMax permissions an IAM principal can have — caps what an admin can delegate.
Resource policyAttached to the resource (S3 bucket, KMS key, SQS) — enables cross-account access.
IAM Identity CenterSSO + short-lived roles for humans (replaces long-lived IAM users). Federate an external IdP here.
roles over access keys Give EC2/Lambda/ECS an IAM role (instance profile / task role), never hard-coded access keys. Keys leak; roles rotate automatically. For humans use IAM Identity Center SSO, not IAM users. Enforce MFA. Least privilege always.

2b. Securing the architecture (Domain 1 · 30%)

The heaviest domain. Three layers, asked over and over:

  • Identity — least-privilege roles, SCPs as the org ceiling, MFA, IAM Access Analyzer to find over-broad/public access.
  • Network isolation — private subnets for anything not public-facing, security groups tight, VPC endpoints so traffic to S3/DynamoDB/APIs never leaves AWS, WAF in front of CloudFront/ALB, Shield for DDoS.
  • Encryption — at rest with KMS (SSE-KMS on S3/EBS/RDS; customer-managed keys for rotation/audit control), in transit with TLS/ACM certs. Secrets Manager (auto-rotation) or SSM Parameter Store for secrets — never in code/env/AMIs.
RequirementReach for
Private access to S3 from a private subnetS3 gateway VPC endpoint (free) — no NAT/IGW
Private access to most other AWS APIsInterface endpoint (PrivateLink, ENI in your subnet)
Rotate DB credentials automaticallySecrets Manager (Parameter Store doesn't rotate)
Block SQL-injection / bad IPs at the edgeWAF on CloudFront or ALB
Central threat detection across accountsGuardDuty; findings to Security Hub
Your keys, your rotation, your audit trailKMS customer-managed key (CMK), not the AWS-managed default

3. Compute

  • EC2 — virtual machines. Pricing: on-demand (flexible), reserved/savings plans (commit = discount), spot (cheapest, can be reclaimed — stateless/batch). Graviton (ARM) instances give better price-performance for most workloads.
  • Auto Scaling Group (ASG) — maintain/scale EC2 count across AZs; launch templates; scaling policies (target tracking, step).
  • Lambda — serverless functions, event-driven, pay per request + duration, 15-min max, scales automatically.
  • ECS / EKS / Fargate — containers; Fargate = serverless containers (no nodes to manage).
  • Elastic Beanstalk — PaaS that wires EC2+ASG+ELB for you.

4. VPC & networking

ComponentRole
VPCYour isolated private network (a CIDR block) in a region.
SubnetA slice of the VPC in ONE AZ. Public (route to IGW) or private.
Internet Gateway (IGW)VPC ↔ internet for public subnets.
NAT GatewayPrivate subnets → internet, outbound only (lives in a public subnet).
Route tableDecides where subnet traffic goes (0.0.0.0/0 → IGW or NAT).
Security GroupStateful firewall on the ENI/instance. Allow rules only.
NACLStateless firewall on the subnet. Allow + deny; needs both directions.
VPC EndpointPrivate access to AWS services (S3/DynamoDB gateway, or interface) without a NAT/IGW.
Peering / Transit GatewayConnect VPCs (peering = 1:1; TGW = hub).
SG vs NACL (exam favourite) Security Group = stateful (return traffic auto-allowed), instance-level, allow-only. NACL = stateless (must allow ephemeral return ports too), subnet-level, supports deny. "Works then hangs" often = NACL missing the return range.

5. Storage

ServiceType / use
S3Object storage, 11 9s durability. Classes: Standard, IA, One Zone-IA, Glacier/Deep Archive. Versioning, lifecycle, encryption (SSE-S3/KMS), bucket policies.
EBSBlock volume attached to ONE EC2 (AZ-bound). gp3/io2 (SSD), st1/sc1 (HDD). Snapshots to S3.
EFSManaged NFS — shared across many instances/AZs (RWX).
FSxManaged Windows/Lustre filesystems.
Instance storeEphemeral local disk — lost on stop/terminate.

6. Databases

  • RDS — managed relational (Postgres/MySQL/MariaDB/Oracle/SQL Server). Multi-AZ = synchronous standby for HA failover (NOT for reads); read replicas = async, scale reads.
  • Aurora — AWS cloud-native MySQL/Postgres; faster, auto-scaling storage, up to 15 replicas, Serverless v2.
  • DynamoDB — managed serverless NoSQL key-value/document; single-digit-ms; on-demand or provisioned; partition key design matters; DAX cache; Streams.
  • ElastiCache — managed Redis/Memcached (in-memory cache/session store).
  • Redshift — data warehouse (analytics); Athena — SQL over S3.

7. Messaging & integration

  • SQS — managed queue (decouple producers/consumers); standard (at-least-once) vs FIFO (ordered, exactly-once).
  • SNS — pub/sub fan-out to many subscribers (incl. SQS, Lambda, HTTP).
  • EventBridge — event bus + routing rules (SaaS + AWS events).
  • Kinesis — real-time streaming data.
  • Step Functions — orchestrate workflows / state machines.
  • API Gateway — managed REST/HTTP/WebSocket APIs in front of Lambda/backends.

8. DNS, CDN & LB

  • Route 53 — DNS + health-check routing (latency, weighted, failover, geolocation).
  • CloudFront — CDN; caches at edge; origin = S3/ALB/custom; integrates WAF.
  • ELBALB (L7, HTTP, path/host routing), NLB (L4, TCP/UDP, ultra-fast, static IP), GWLB (appliances). Spreads to target groups with health checks.

9. Monitoring, security & cost

  • CloudWatch — metrics, logs, alarms, dashboards, Events.
  • CloudTrail — API audit log (who did what — and why a call was denied).
  • Config — resource config history + compliance rules.
  • KMS — managed encryption keys; Secrets Manager / SSM Parameter Store — secrets/config.
  • WAF / Shield — web firewall / DDoS; GuardDuty — threat detection.
  • Well-Architected pillars: operational excellence, security, reliability, performance, cost, sustainability.

10. Resilient architectures (Domain 2 · 26%)

The reflexes the exam rewards: spread across ≥2 AZs, decouple so one part failing doesn't cascade, and match the DR strategy to the stated RTO/RPO (recovery-time / recovery-point objectives).

  • Multi-AZ by default — ASG across AZs, RDS Multi-AZ, ELB spreads traffic, S3/DynamoDB are multi-AZ already.
  • Decouple — put SQS between producer and consumer so a slow/failed consumer just backs up the queue instead of dropping work; scale consumers on queue depth.
  • Health-based routing — Route 53 failover records + health checks; ALB target health.
  • BackupsAWS Backup centralizes EBS/RDS/DynamoDB/EFS backups + retention; enable S3 versioning.
DR strategyRTO / RPOCostHow
Backup & RestorehourslowestBack up to S3/another region; rebuild on disaster.
Pilot Lighttens of minlowCore (DB replicated) always on but scaled to zero; start the rest on failover.
Warm StandbyminutesmediumA scaled-down full copy always running; scale up on failover.
Multi-Site Active/Activenear-zerohighestFull capacity in 2+ regions serving live; Route 53/Global Accelerator.
Multi-AZ ≠ DR; multi-Region = DR Multi-AZ protects against a datacenter/AZ failure (HA within a region). Regional disaster or "must survive a region outage" needs cross-Region replication (S3 CRR, RDS/Aurora global, DynamoDB global tables) — pick the DR tier from the RTO/RPO the question states, not the most expensive option by default.

11. High-performing architectures (Domain 3 · 24%)

  • Cache to cut latency & loadCloudFront (static/edge), ElastiCache (Redis/Memcached for app/session/DB-query cache), DAX (in front of DynamoDB), read replicas for RDS/Aurora read scaling.
  • Scale automatically — ASG target-tracking on CPU/ALB-requests; DynamoDB on-demand or auto-scaling; Aurora Serverless v2 for spiky DB load.
  • Right storage for the I/Ogp3 (baseline SSD, tune IOPS/throughput independently), io2 Block Express (high-IOPS databases), st1 (throughput HDD, big sequential), S3 for object/data-lake, FSx for Lustre for HPC.
  • Decouple for throughput — SQS/Kinesis absorb spikes; process asynchronously.
  • Global reachGlobal Accelerator (anycast IPs, TCP/UDP over AWS backbone) vs CloudFront (HTTP caching). S3 Transfer Acceleration for uploads.

12. Cost-optimized architectures (Domain 4 · 20%)

  • Compute pricing — On-Demand (flexible, priciest) · Savings Plans / Reserved (commit 1–3 yr for big discount, steady workloads) · Spot (up to ~90% off, interruptible — batch/stateless/fault-tolerant) · Graviton (ARM, better price-performance).
  • Serverless when bursty — Lambda/Fargate cost nothing at idle; cheaper than an always-on EC2 for spiky/low-average load.
  • S3 storage classes — Standard → Standard-IA (~30d) → Glacier Instant/Flexible → Deep Archive; Intelligent-Tiering when access is unpredictable (auto-moves, no retrieval fee). Lifecycle rules automate transitions.
  • Right-size & observe — Compute Optimizer + Cost Explorer; Trusted Advisor flags idle resources; Budgets alert on spend.
  • Network cost traps — a NAT Gateway bills hourly + per-GB; a gateway VPC endpoint for S3/DynamoDB is free and cuts NAT traffic. Cross-AZ and egress transfer cost money; keep chatty traffic in one AZ where safe.
cheapest-that-meets-the-requirement Cost questions still have a hard requirement (durability, availability, latency). Pick the cheapest option that satisfies it — e.g. don't put data needed in milliseconds into Glacier, and don't answer "Spot" for a stateful database.

13. Fast "which service?" decision table

ScenarioAnswer
Decouple a slow consumer from a producerSQS between them; scale consumers on queue depth
Fan one event out to many subscribersSNS (often SNS → several SQS)
Static website, lowest costS3 static hosting + CloudFront
Serve S3 to a private subnet, no internetS3 gateway VPC endpoint
Shared filesystem across many Linux instancesEFS (RWX); FSx for Lustre if HPC
Sub-ms key-value at any scaleDynamoDB (+ DAX cache)
Relational, scale readsRDS/Aurora read replicas; Multi-AZ for HA
Survive a whole-Region outageMulti-Region: S3 CRR, Aurora/DynamoDB global, Route 53 failover
Run containers, no servers to manageFargate (ECS/EKS)
Cheapest for spiky, short workloadsLambda
SQL directly over data in S3Athena
Central org-wide permission ceilingSCP in Organizations

14. What to keep in mind

  • Find the priority word. Secure / resilient / performant / cheapest / least-ops — the answer optimizes that, not everything.
  • "Least operational overhead" ⇒ managed/serverless. Fargate over EC2, Aurora Serverless over self-tuned, SQS over self-hosted queues.
  • Multi-AZ = HA, Multi-Region = DR. Don't confuse them; pick DR tier from RTO/RPO.
  • Roles, not keys; SSO, not IAM users. Any answer embedding access keys is wrong.
  • Eliminate two answers fast. Usually two options plainly violate a requirement (public where it must be private, single-AZ where it must be HA). Cut them, then choose between the last two on the priority word.
  • Managed HA is built in: S3, DynamoDB, Lambda, SQS, SNS are already multi-AZ — you don't architect their redundancy.
  • Encryption is usually a toggle: SSE-KMS on S3/EBS/RDS, TLS via ACM — "encrypt at rest/in transit" rarely needs a custom design.
  • Watch the cost traps: NAT Gateway data charges, cross-AZ transfer, and inter-Region egress are common "reduce cost" levers.

15. Common mistakes

  • Answering the most-featureful option instead of the one that fits the priority — the exam punishes over-engineering on a cost question and under-provisioning on an availability one.
  • Confusing Multi-AZ with a DR/Region strategy — Multi-AZ won't survive a Region outage.
  • RDS read replica for HA — replicas scale reads; Multi-AZ is the HA failover (and isn't readable).
  • Security Group deny rules — SGs are allow-only + stateful; deny and stateless are NACLs.
  • Access keys on EC2/Lambda — use an instance profile / execution role.
  • Parameter Store for rotating secrets — it doesn't rotate; Secrets Manager does.
  • Putting hot data in Glacier to "save cost" — retrieval latency/fees break the requirement.
  • Adding a NAT Gateway to reach S3 — use the free S3 gateway endpoint instead.
  • Spot for stateful / user-facing workloads — it can be reclaimed anytime.
  • Ignoring the compensatory scoring — you don't need to pass each domain; don't panic over one weak area, maximize the whole.
  • Forgetting cross-AZ / egress data-transfer costs when a question asks to reduce spend.

16. Rapid-fire Q&A

  • Security Group vs NACL?SG: stateful, instance-level, allow-only. NACL: stateless, subnet-level, allow + deny (must allow return ports).
  • Public vs private subnet?Public has a route to an Internet Gateway (+ public IP); private reaches out via a NAT Gateway (outbound only).
  • Multi-AZ vs read replica (RDS)?Multi-AZ = synchronous standby for HA failover (not readable). Read replica = async, scales reads (can lag).
  • S3 vs EBS vs EFS?S3 = object store (API, 11 9s). EBS = block disk for one EC2 (AZ-bound). EFS = shared NFS across many.
  • When Lambda vs EC2 vs Fargate?Lambda = short, event-driven, bursty (no servers). Fargate = containers without nodes. EC2 = long-running / full control / special hardware.
  • How should EC2 access S3?Attach an IAM role (instance profile) — never embed access keys.
  • Spot vs on-demand vs reserved?Spot = cheapest, can be reclaimed (stateless/batch). On-demand = flexible, pricey. Reserved/Savings = commit for a big discount.
  • SQS vs SNS?SQS = queue, one consumer group pulls. SNS = pub/sub fan-out to many subscribers. Often SNS → multiple SQS.
  • ALB vs NLB?ALB = L7 (HTTP host/path routing, TLS). NLB = L4 (TCP/UDP, very fast, static IP, extreme scale).
  • How does IAM evaluate a request?Explicit Deny wins; else an Allow (identity/resource/SCP/boundary) is needed; default is deny.
  • How to get S3 access from a private subnet without internet?An S3 VPC gateway endpoint — no NAT/IGW needed.
  • DynamoDB vs RDS?DynamoDB = serverless NoSQL, massive scale, key-based access, design around the partition key. RDS = relational, joins, SQL, vertical-ish scaling + read replicas.
  • How do you debug AccessDenied?Read the error (it names action + resource); check CloudTrail for the exact call; simulate the policy; look for an explicit Deny / SCP / boundary.
  • RTO 5 min, RPO near-zero, cost matters — which DR?Warm Standby (scaled-down full copy running, scale up on failover). Multi-site active/active gives near-zero RTO but costs the most; backup&restore/pilot light are too slow for 5 min.
  • Reduce S3 cost when access is unpredictable?S3 Intelligent-Tiering — auto-moves objects between tiers, no retrieval fee. Lifecycle to IA/Glacier only when access patterns are known.
  • SCP vs IAM policy?SCP sets the max permissions (ceiling) for accounts/OUs and grants nothing; an IAM policy grants. A principal can do something only if both an IAM Allow and the SCP permit it.
  • Cheapest way to run a fault-tolerant batch job?Spot instances (or Spot in an ASG / on Fargate Spot) — up to ~90% off, and interruptions are fine for retryable batch work.
  • Encrypt at rest with your own key rotation and audit?KMS customer-managed key (CMK) with SSE-KMS on S3/EBS/RDS; the AWS-managed default key doesn't give you rotation/policy control.
  • Lower latency for a global TCP/UDP app?Global Accelerator (anycast IPs onto the AWS backbone). CloudFront is for cacheable HTTP; Global Accelerator for non-HTTP / whole-app acceleration.
  • Rotate database credentials automatically?Secrets Manager (native rotation, integrates with RDS). SSM Parameter Store stores config/secrets but has no built-in rotation.
← prev: Networking next: GCP →
© cvam — written in plaintext, served warm