Study Guide

AWS Certification Heuristics

20 battle-tested decision rules. When an exam question gives you 4 plausible answers, these heuristics tell you which one AWS expects.

HA/DR

Multi-AZ ALWAYS for HA

ALWAYS
SAASAPSOADVA

For any production workload requiring high availability, deploy across at least two Availability Zones.

Why: Single-AZ deployments fail when the AZ fails. Multi-AZ is the cheapest path to HA within a region.

✓ Example: RDS Multi-AZ, ALB with targets in 2+ AZs, Auto Scaling across AZs
✗ Anti-pattern: Deploying 2 EC2 instances in the same AZ behind a load balancer.

Keep app servers stateless

PREFER
SAASAPDVA

Store session and state outside compute (ElastiCache, DynamoDB, S3), not on EC2 local disk.

Why: Stateless servers can scale horizontally and be replaced freely. Local state couples scaling to state loss.

✓ Example: Session data in ElastiCache Redis with TTL
✗ Anti-pattern: Sticky sessions tied to a specific EC2 instance.

Multi-Region only when RTO/RPO requires it

PREFER
SAPSAA

Do NOT default to multi-region. Only add it when RPO/RTO requirements cannot be met by multi-AZ.

Why: Multi-region is 3-10x the cost and complexity of multi-AZ. Most workloads don't need it.

✓ Example: RTO of minutes = Route 53 failover to warm standby

Use health checks for routing

ALWAYS
SAASOA

Route 53 and ALB should route using health checks, not TTL-only routing.

Why: Failover should be automatic and near-instant, not DNS-cached.

✓ Example: Route 53 failover routing policy with health checks

Security

Never hardcode secrets

NEVER
SAASAPDVASCS

Secrets NEVER in code, environment variables, or Git. Use Secrets Manager or Parameter Store.

Why: Hardcoded secrets = compromised on first leak, rotation impossible, audit trail missing.

✓ Example: Secrets Manager with automatic RDS password rotation
✗ Anti-pattern: AWS_SECRET_ACCESS_KEY in Lambda environment variable or .env file in Git.

Prefer IAM roles over access keys

PREFER
SAASAPDVASCS

Use IAM roles for AWS service-to-service access. Reserve access keys for external integrations only.

Why: Roles are auto-rotated by STS. Long-lived access keys are the #1 credential compromise vector.

✓ Example: EC2 instance profile with IAM role, NOT access keys on disk
✗ Anti-pattern: Storing aws_access_key_id in ~/.aws/credentials on EC2.

Least privilege, always

ALWAYS
SAASAPSCS

Grant only the permissions required, nothing more. Start restrictive and loosen as needed.

Why: Over-permissive policies expose the blast radius if credentials leak.

✗ Anti-pattern: `"Action": "*"` or `"Resource": "*"` in production IAM policies.

Encrypt at rest and in transit

ALWAYS
SAASAPSCS

Enable encryption on every data store. Use TLS/SSL for every in-flight connection.

Why: Compliance (HIPAA, PCI, GDPR) requires it, and it's free with AWS-managed keys.

✓ Example: S3 default encryption, RDS encryption, ALB HTTPS listeners only

Databases in private subnets only

ALWAYS
SAASAPSCS

Databases and internal services live in PRIVATE subnets. Only LBs and bastions are in public subnets.

Why: Public databases = public attack surface. Period.

✗ Anti-pattern: RDS instance with a public IP and 0.0.0.0/0 security group.

Use Customer-Managed Keys when compliance requires

PREFER
SAPSCS

For HIPAA, PCI, or regulated workloads, use CMKs — not AWS-managed keys.

Why: CMKs give you key rotation control and full CloudTrail auditing. AWS-managed keys are fine otherwise.

Cost

Right-size before reserving

PREFER
SAASAPSOA

Reserved Instances and Savings Plans only AFTER workloads are right-sized. Don't reserve oversized capacity.

Why: Savings Plans compound your oversizing mistakes.

Spot for batch & fault-tolerant

PREFER
SAASAPSOA

Batch, CI/CD, and fault-tolerant workloads = Spot. Stateful databases and user-facing APIs = NOT Spot.

Why: Spot can save 70-90%. Interruptions are tolerable for batch but deadly for stateful services.

S3 lifecycle policies from day one

PREFER
SAASAPSOA

Every S3 bucket needs a lifecycle policy: transition cold data to Glacier, delete expired data.

Why: Storage costs compound. S3 Standard → Glacier is ~95% cheaper.

✓ Example: Logs: Standard (30d) → Standard-IA (90d) → Glacier (1yr) → Delete

Use VPC endpoints instead of NAT Gateway

PREFER
SAASAPANS

For AWS service traffic from private subnets, use VPC endpoints — NOT NAT Gateway.

Why: NAT Gateway: $0.045/hr + data charges. Gateway endpoints (S3, DynamoDB) are FREE.

Performance

CloudFront for global audiences

ALWAYS
SAASAP

Global users → CloudFront in front of origin. Static + dynamic, both benefit.

Why: Edge caching + persistent HTTPS + DDoS protection (Shield Standard) — all free with CF.

ElastiCache for hot data

PREFER
SAASAPDVA

Read-heavy databases (session lookups, product catalog reads) → put ElastiCache in front.

Why: Sub-ms latency vs 5-10ms RDS. Dramatically reduces DB CPU and cost.

DynamoDB: on-demand unless predictable

PREFER
SAASAPDVA

On-demand mode for unknown/bursty traffic. Provisioned + auto-scaling for predictable, high-throughput.

Why: On-demand = zero tuning, pays for actual usage. Provisioned is cheaper at sustained high TPS.

Design DynamoDB partition keys for uniform distribution

ALWAYS
DVASAASAP

High-cardinality, evenly-distributed partition keys. Hot partitions throttle everything.

Why: Exam loves this — hot partition = bad design = exam trap.

✗ Anti-pattern: Using timestamp or status='active' as partition key.

Architecture

SQS between producers and consumers

ALWAYS
SAASAPDVA

Asynchronous processing = SQS queue between them. Don't couple them directly.

Why: Decoupling absorbs spikes, enables retries, and lets consumers scale independently.

Fan-out = SNS + multiple SQS

PREFER
SAASAPDVA

One event, N consumers = SNS topic with N SQS subscriptions. Each consumer gets its own queue.

Why: Each consumer can fail, retry, and scale independently. Much better than SNS-direct-to-Lambda for most cases.

Test these heuristics on real exam questions

SparkUpCloud has 3,400+ AWS practice questions with AI-powered adaptive learning. Your next exam is 70% heuristics + 30% specifics.

Start Studying Free →