AWS Training
Modules Listen All tracks

← Design Cost-Optimized Architectures

SAA4 Cheat sheet — Design Cost-Optimized Architectures (Domain 4, 20%)

Verified 2026-09-25 against the pages cited in each lesson. Items marked [unverified] were not retrieved from a page I fetched — look them up. Prices name the Region the page showed; they drift.

The rule

Cheapest option that still meets the stated requirement. Every cheap option has a condition — the distractor is the one whose condition the stem violates.

Tools (all four task statements)

Want to… Use
see / trend / forecast Cost Explorer — 13 months back, 18 months forecast; console free, API $0.01/paginated request; can't disable
be warned (actual or forecasted) AWS Budgets — cost · usage · RI util/coverage · SP util/coverage; SNS/email; updated up to 3×/day, 8–12 h apart
act on a threshold budget action → IAM policy · SCP · stop EC2/RDS; auto or approval. Mgmt acct can SCP another acct, can't target its instances
raw line items, hourly, per resource Cost and Usage Report → your S3; Athena/Redshift/Quick. Now CUR 2.0 in Data Exports
split by team cost allocation tags — user: / aws:; must be activated; management account only; up to 24 h
one bill, pooled discounts consolidated billing — shares volume, RI and Savings Plans discounts; no extra fee
right-size Compute Optimizer — opt in; 14 days default, 93 days enhanced (paid)
find waste (idle ELB, unattached EIP) Trusted Advisor cost checks — [unverified] which plan gets which checks

⚠️ A budget alert is a smoke alarm; a budget action is the circuit breaker.

Storage (4.1)

Class Min duration Min size Retrieval AZs
Standard — — — ≥3
Intelligent-Tiering — — (objects < 128 KB never tier) no retrieval fees; monitoring fee ≥3
Standard-IA 30 d 128 KB per GB ≥3
One Zone-IA 30 d 128 KB per GB 1
Glacier Instant 90 d 128 KB per GB, ms ≥3
Glacier Flexible 90 d +40 KB metadata Exp 1–5 min · Std 3–5 h · Bulk 5–12 h (free) ≥3
Deep Archive 180 d +40 KB metadata Std ≤12 h · Bulk ≤48 h ≥3

Compute (4.2)

Workload Buy
steady 24/7 Savings Plan (or RI)
interruptible, flexible Spot — up to 90% off
short, spiky, can't be interrupted On-Demand — per second, 60 s min
per-socket/core licences, host visibility Dedicated Host (per-host billing)
single-tenant, no licence angle Dedicated Instance (per-instance billing)
discount + capacity in one AZ zonal RI (or Capacity Reservation)

Savings Plans (1 or 3 yr, $/hour, can't change after purchase):

Up to Scope
Compute 66% any family/size/Region/OS/tenancy + Fargate + Lambda
EC2 Instance 72% one family in one Region
Database 35% Aurora, RDS, DynamoDB, ElastiCache, … incl. serverless
SageMaker AI 64% SageMaker instances

⚠️ Spot is NOT covered by Savings Plans and doesn't count toward the commitment. ⚠️ Dedicated Instance $2/hour per Region fee is not discounted by SPs. EKS charges not covered.

RIs: AWS "recommend[s] Savings Plans over Reserved Instances". Billing discount, not an instance. Standard = biggest discount, modify only. Convertible = exchangeable. Can't cancel. Don't auto-renew. Regional = no capacity, any AZ, size-flexible (Linux, default tenancy). Zonal = reserves capacity, one AZ. Same price.

Spot interruption notice = 2 minutes. Via EventBridge + instance metadata (spot/instance-action), check every 5 s, best effort. Hibernate behaviour ⇒ no 2-minute warning. Rebalance recommendation = earlier risk signal.

Hibernation: RAM → EBS root; for slow warm-up; no instance charge while stopped, EBS still billed. [unverified] prerequisites (encryption, RAM, duration).

Right-size: match family to bottleneck, smallest size that works. T burstable for dev/test and small DBs · flex 40% baseline · Graviton best price-performance · HVM only on current gen.

Lambda: requests + GB-seconds, 1 ms rounding; free 1M requests + 400,000 GB-s/month. Fargate: vCPU + memory + storage, per second, 1-min min (Linux); Fargate Spot up to 70%. Lambda saves money on idle time, not busy time.

Outposts: on-prem AWS for latency / local processing / residency; racks (42U) or servers (1U/2U); contract term. Not a cost play.

Database (4.3)

Load Choice
spiky / unknown / dev-test Aurora Serverless (ACU ≈ 2 GiB; 0–256 ACU; 0 = auto-pause on newer versions) · DynamoDB on-demand
steady / forecastable provisioned + reserved DB instances / Database SP · DynamoDB provisioned + auto scaling (target 70%)

Network (4.4)

Path Charge
internet → AWS free
AWS → internet charged; 100 GB/month free (aggregate)
AZ ↔ AZ $0.01/GB in each direction (EC2, RDS, Redshift, DAX, ElastiCache, ENIs)
same AZ free
EC2 ↔ S3/DynamoDB/SQS/SNS… same Region free — unless a NAT gateway, TGW or PrivateLink endpoint is in the path (their processing charges apply)
Region → Region charged on the source's outbound; inbound free
S3 → same-Region service / → CloudFront free
AWS origin → CloudFront waived
VPC peering same AZ free; cross-AZ $0.01/GB in both "In" and "Out" direction (VPC pricing page)
Direct Connect in $0.00/GB

[unverified] internet-egress per-GB tiers (table didn't render).

Five things to carry in

  1. 30 / 90 / 180 days, 128 KB — the S3 minimums.
  2. Spot = 2-minute notice (none if hibernating). Spot and Savings Plans don't stack.
  3. Compute SP 66% flexible; EC2 Instance SP 72% locked. RIs only win for zonal capacity.
  4. Gateway endpoints for S3/DynamoDB cost nothing — and remove NAT per-GB charges.
  5. In is free, out is charged, across AZs is charged both ways, across Regions on the way out.