AWS SAP-C02 cheat sheet for enterprise governance, multi-account networking, security controls, DR, migration, modernization, cost optimization, trade-offs, and final review traps.
SCP: Service control policy, the AWS Organizations guardrail that limits the maximum permissions an account or OU can use.
TGW: Transit Gateway, the AWS hub service for connecting many VPCs and on-premises networks with transitive routing.
KMS: Key Management Service for creating, governing, and using encryption keys.
RTO / RPO: Recovery Time Objective and Recovery Point Objective, the two recovery targets that drive disaster-recovery design.
I verified these current AWS exam facts on May 24, 2026.
| Item | Value |
|---|---|
| Exam | AWS Certified Solutions Architect - Professional |
| Exam code | SAP-C02 |
| Questions | 75 total |
| Scoring | 65 scored + 10 unscored (unscored items are not identified) |
| Question types | Multiple choice and multiple response |
| Time | 180 minutes |
| Passing score | 750, scaled 100-1000 |
| Cost | 300 USD |
| Delivery | Pearson VUE test center or online proctored |
| Intended candidate | 2+ years designing and implementing AWS cloud solutions |
| Domain | Weight | What to compress for final review |
|---|---|---|
| Design Solutions for Organizational Complexity | 26% | multi-account governance, identity boundaries, network segmentation, shared services, logging |
| Design for New Solutions | 29% | requirements-to-architecture trade-offs across security, resilience, performance, cost, and operations |
| Continuous Improvement for Existing Solutions | 25% | modernization, reliability fixes, cost/performance optimization, operational evidence, migration from weak designs |
| Accelerate Workload Migration and Modernization | 20% | portfolio migration, 6Rs, hybrid transition, data movement, app modernization, cutover risk |
AWS also notes that current SAP-C02 may include unscored pretest questions about emerging architecture topics, including security and responsible AI controls. Treat those as experimental: answer them with normal Well-Architected reasoning, but do not let one unfamiliar Bedrock or agentic-AI stem consume your time.
SAP-C02 questions rarely ask whether a single AWS service can solve a problem. They ask whether the architecture can survive enterprise constraints. Before choosing an answer, walk the scenario through this stack:
If an answer is technically valid but cannot explain governance, blast radius, recovery evidence, or operational ownership, it is usually too narrow for Solutions Architect - Professional.
Design Solutions for Organizational Complexity covers connectivity, security controls, resilience, multi-account design, cost visibility, shared services, and governance. Start with accounts, guardrails, shared networking, logging, identity, and cost allocation before picking workload services.
Design for New Solutions covers deployment, business continuity, security, reliability, performance, operations, and cost. Translate requirements into a complete architecture: deployment path, rollback, DR, controls, scaling model, cost model, and operational evidence.
Continuous Improvement for Existing Solutions covers operational excellence, security, performance, reliability, and cost across existing workloads. Use evidence from logs, metrics, traces, cost reports, incidents, Well-Architected reviews, and failure tests; then automate the durable fix.
Accelerate Workload Migration and Modernization covers portfolio assessment, migration approach, target architecture, cutover risk, and modernization. Choose a 6R strategy per workload, group dependencies into waves, reduce cutover risk, and modernize incrementally when business risk is high.
AWS frames SAP-C02 around advanced architecture decisions inside the Well-Architected Framework. Use that boundary to reject off-scope or over-detailed answers:
Use this when the scenario mixes governance, networking, DR, and delivery.
flowchart TD
S["Scenario"] --> G["Governance and accounts first"]
G --> N["Connectivity and inspection"]
N --> R["Security and logging"]
R --> D["Resilience and RTO/RPO"]
D --> O["Operations, automation, and cost"]
| Question type | Exam-day habit |
|---|---|
| Multiple choice | Find the enterprise constraint first: governance, network boundary, RTO/RPO, migration stage, cost, or operational effort. |
| Multiple response | Select the complete architecture pattern. Professional-level answers often require identity plus network plus logging plus automation, not one service. |
Unanswered questions are incorrect and there is no penalty for guessing. With 75 questions in 180 minutes, your average budget is 2.4 minutes per question; mark long multi-paragraph scenarios once you have narrowed them to two plausible answers.
| Stem clue | Eliminate first | Keep in play |
|---|---|---|
| restriction must apply across an OU | IAM allow/deny in each account only | SCP plus account/OU placement and exception strategy |
| new enterprise landing zone | hand-built accounts and ad hoc logs | Control Tower or Organizations baseline with log archive, audit, identity, and network accounts |
| many VPCs/accounts need transitive routing | full-mesh peering | Transit Gateway, route tables, segmentation, shared services, Cloud WAN when global policy matters |
| private service sharing across accounts | public endpoint or broad peering | PrivateLink with producer endpoint service and consumer interface endpoints |
| cross-account KMS failure | IAM policy only | KMS key policy, grants, IAM permissions, resource ownership, encryption context |
| low RTO/RPO multi-Region app | backup-only DR | warm standby or active-active with tested data replication, DNS/failover, secrets, and dependencies |
| migration portfolio with mixed apps | one migration pattern for all workloads | assess portfolio, group waves, choose 6R per workload, manage cutover and rollback |
| modernization of brittle monolith | lift-and-shift as final answer | strangler pattern, managed data/services, event decoupling, incremental risk reduction |
| cost spike in mature architecture | buy more reserved capacity first | usage evidence, right-sizing, storage class, data transfer path, purchase option fit |
| operational issue keeps recurring | manual runbook only | automation, observability, rollback, event-driven remediation, post-change validation |
| Evidence in the stem | Strong SAP-C02 answer should include | Weak answer to reject |
|---|---|---|
| “multiple accounts”, “business units”, “regulated workloads” | OU structure, SCPs, centralized identity, log archive, audit/security account, shared network model | One account with IAM separation only |
| “many VPCs”, “on-prem”, “segmentation” | TGW/Cloud WAN route tables, shared services, inspection/egress VPC, DNS plan | Full-mesh peering or one flat route table |
| “private service exposure”, “overlapping CIDRs” | PrivateLink producer/consumer pattern | VPC peering or broad routing between accounts |
| “must prove compliance across accounts” | CloudTrail org trail, Config, Security Hub/GuardDuty aggregation, immutable log retention | Local account logs with no central evidence |
| “strict RTO/RPO” | Data replication, traffic failover, dependency readiness, game-day testing | Backup strategy with no tested failover path |
| “recurring incident” | Root-cause evidence, automation, alarms, rollback, post-change validation | Manual runbook or bigger instances only |
| “migration portfolio” | Assessment, dependency grouping, wave plan, 6R per workload, cutover and rollback | One migration strategy for every application |
| “cost optimization at enterprise scale” | Tags, cost categories, CUR analysis, rightsizing, data transfer model, purchase governance | Buying commitments before understanding utilization |
| If the question says… | Usually best answer |
|---|---|
| Enforce org-wide restriction for accounts/OUs | SCP |
| Fast landing zone with baseline guardrails | Control Tower |
| Many VPCs/accounts with transitive routing | Transit Gateway (or Cloud WAN for global policy control) |
| Private cross-account service consumption | PrivateLink |
| Centralized security/logging account model | Dedicated log archive + audit/security accounts |
| Hybrid private connectivity with predictable performance | Direct Connect (often plus VPN for backup) |
| Cross-account KMS failure | Fix key policy/grants and IAM alignment |
| Central traffic inspection | Network Firewall or GWLB-based inspection VPC |
| Hybrid DNS resolution | Route 53 Resolver inbound/outbound endpoints + shared rules |
| Low RTO/RPO multi-Region requirement | Warm standby or active-active with tested failover |
| Topic | Fast recall |
|---|---|
| SCP behavior | Only restricts; cannot grant permissions |
| Permission boundaries | Limit max permissions; do not grant access |
| KMS access model | Key policy is authoritative boundary plus IAM/grants |
| DR selection | Match active/passive, pilot light, warm standby, active-active to RTO/RPO |
| Private service access | Endpoints/PrivateLink often beat NAT/internet for security/compliance |
SAP-C02 is rarely about knowing a single service. It’s about designing under constraints:
flowchart TD
S["Scenario"] --> G["Governance / org design"]
G --> N["Connectivity / inspection / DNS"]
N --> R["Security controls and logging"]
R --> D["DR and dependency readiness"]
D --> O["Delivery, operations, cost, and performance"]
If an answer “works” but ignores governance, operations, or recoverability, it’s usually not the best answer.
| First question | If yes | If no |
|---|---|---|
| Is this an organization-wide requirement? | Solve at Organizations/Control Tower/SCP/central logging level. | Keep the control closer to the workload account. |
| Does the answer affect many VPCs or accounts? | Prefer TGW/Cloud WAN/RAM/shared-services patterns. | Simpler VPC-level design may be enough. |
| Is the requirement about private access or data exfiltration? | Use endpoints, PrivateLink, network segmentation, and resource policies. | Avoid adding private-network complexity without a security driver. |
| Is the recovery target regional? | Design multi-Region data, traffic, secrets, certificates, and runbook readiness. | Multi-AZ may satisfy in-Region availability. |
| Is the workload being migrated? | Decide assess/wave/6R/cutover first, then service mapping. | For new builds, choose target architecture directly. |
| Is the issue recurring? | Prefer automated remediation and systemic guardrails. | One-time operations may be acceptable for rare events. |
flowchart TB
Root[Organizations Root] --> SecOU[Security OU]
Root --> InfraOU[Infrastructure OU]
Root --> WorkloadsOU[Workloads OU]
Root --> SandboxOU[Sandbox / Experiments]
SecOU --> LogArchive[Log Archive]
SecOU --> Audit[Security / Audit Tooling]
InfraOU --> Net[Networking]
InfraOU --> Shared[Shared Services]
InfraOU --> CI[CI/CD Tooling]
WorkloadsOU --> Prod[Prod Accounts]
WorkloadsOU --> NonProd[Non-Prod Accounts]
Why this pattern wins: it limits blast radius, supports centralized logging/security, and aligns with “organizational complexity” scenarios.
| Account / capability | Purpose | Typical services |
|---|---|---|
| Management account | Owns the org; keep it “clean” | Organizations billing/guardrails (minimize workloads) |
| Log archive | Central, tamper-resistant logging | CloudTrail org trail, S3 log buckets, lifecycle/Object Lock |
| Security/Audit | Central security visibility and response | GuardDuty, Security Hub, Inspector, Macie, Detective, IAM Access Analyzer |
| Networking | Shared connectivity and inspection | TGW/Cloud WAN, shared subnets (RAM), Network Firewall, GWLB |
| Shared services | Org-wide platform services | IAM Identity Center integration, DNS, directory, tooling |
| Workload accounts | Apps/data split by env/team | VPCs, compute, data services, app pipelines |
Baseline checklist
High-yield rule: SCP is a boundary (it can only restrict). Even if IAM allows, an SCP deny still blocks the action.
| Control | Applies to | Use it for | Common gotcha |
|---|---|---|---|
| SCP (Organizations) | Accounts/OUs | Org-wide guardrails (region allow/deny, disallow leaving org, block risky services) | Impacts everyone, including admins; global services/regions can surprise you |
| IAM identity policy | Users/roles | Least-privilege permissions for principals | Too-broad wildcards and missing conditions |
| Resource-based policy | S3/SQS/KMS/etc | Cross-account access without needing IAM users | Must align with trust/identity policies; can be blocked by SCP |
| Permission boundary | IAM roles/users | Max permissions a role can ever get (delegation) | Doesn’t grant permissions; it only bounds them |
| KMS key policy | KMS keys | Who can administer/use the key | If key policy doesn’t allow use/admin, IAM alone won’t save you |
Exam cue: If you see “prevent anyone in an account from doing X,” think SCP. If you see “allow this other account/service to access Y,” think resource policy + role (and confirm SCPs don’t block it).
Control Tower is often the “least operational overhead” answer when you need:
Use custom landing zones only when the question explicitly calls for it or constraints require non-standard behavior.
| Access type | Best-fit pattern | Notes |
|---|---|---|
| Human workforce access | IAM Identity Center + permission sets | Centralize identities; avoid long-lived IAM users |
| App-to-app (service) | AssumeRole cross-account | Tight trust policy + least privilege |
| Shared resources | AWS RAM (resource sharing) | Useful for sharing subnets, TGW, Route 53 Resolver rules, etc. |
Rule of thumb: Humans get federated, short-lived access; workloads assume roles.
| Option | Best for | Strengths | Trade-offs / gotchas |
|---|---|---|---|
| VPC Peering | Few VPCs, simple routing | Simple, low latency | No transitive routing; becomes a mesh at scale |
| Transit Gateway (TGW) | Many VPCs + on-prem, shared routing | Transitive routing, scalable hub-and-spoke | Data processing cost; route table design matters |
| Cloud WAN | Global networks with policy-based connectivity | Central network policy + segmentation | Newer; still a “choose for global scale” answer |
| PrivateLink (Interface endpoints) | Private service exposure across VPCs/accounts | No routing overlap issues; strong isolation | Per-AZ endpoint cost; not a general routing solution |
Exam cue: If you see “dozens/hundreds of VPCs, shared services, on-prem connectivity,” think TGW (or Cloud WAN for global policy-driven networks).
TGW questions are rarely “what is TGW?” They’re usually about segmentation, routing intent, and operational scale.
High-yield TGW concepts
Common TGW route table layout
| TGW route table | Associate with | Propagate from | Typical intent |
|---|---|---|---|
| Spoke RT | Workload VPC attachments | Shared services + egress + on-prem | Spokes can reach shared/egress/on-prem |
| Shared services RT | Shared services attachment | Spokes | Shared services can reach spokes (selectively) |
| Inspection/Egress RT | Inspection + egress attachments | Spokes + on-prem | Force internet/on-prem flows through inspection |
| On-prem RT | DX/VPN attachment | Spokes + shared services | Control which VPCs are reachable from on-prem |
Exam cue: If the scenario says “separate business units and prevent lateral movement,” the best answer often includes separate accounts/VPCs + TGW segmentation (not one giant flat network).
flowchart LR
OnPrem[On-Premises] --- DX[Direct Connect]
DX --- DXGW[DX Gateway]
DXGW --- TGW[Transit Gateway]
TGW --- Egress[Central Egress + Inspection]
TGW --- Shared[Shared Services VPC]
TGW --- App1[App VPC - Account A]
TGW --- App2[App VPC - Account B]
Egress --> IGW[Internet Gateway]
Inspection building blocks:
| Connectivity | Best for | HA guidance |
|---|---|---|
| Site-to-Site VPN | Quick setup, encryption, backup path | Use two tunnels; consider multiple VPNs across devices |
| Direct Connect | Predictable bandwidth/latency | Use two DX locations, redundant connections; often pair with VPN for encryption/backup |
| DX + VPN | Professional-level “best practice” | VPN can provide failover; encryption if required |
Exam cue: If you see “must be encrypted” + “needs predictable performance,” choose DX + VPN (VPN for encryption/failover; DX for throughput).
High-yield components:
Common trap: Forgetting that DNS in large orgs needs a sharing model (RAM) and centralized governance.
Default pattern: Private subnets use VPC endpoints wherever possible.
| Endpoint type | Services | Why it matters |
|---|---|---|
| Gateway endpoint | S3, DynamoDB | Route-table based, no per-hour cost; big NAT cost saver |
| Interface endpoint (PrivateLink) | Many AWS services | Private access without internet; per-AZ hourly cost |
Exam cue: “No internet egress allowed” + “private subnets need to call AWS service” → VPC endpoint.
| Pattern | Pros | Cons | Use when |
|---|---|---|---|
| Distributed egress (NAT per VPC/AZ) | Simple ownership, fewer shared dependencies | Higher NAT cost at scale; inconsistent controls | Smaller orgs or teams with autonomy |
| Centralized egress VPC (inspection + NAT) | Consistent inspection and policy; easy to audit | Potential cross-AZ data costs; design carefully to avoid bottlenecks | Enterprise orgs with compliance/inspection needs |
| No general internet egress (endpoints-first) | Strong data exfiltration control; cost savings | Not all services support endpoints; some workloads need internet | Regulated/locked-down workloads |
High-yield guidance
| Policy | Answers “who can assume?” | Answers “what can they do?” | Typical mistake |
|---|---|---|---|
| Trust policy | Yes | No | Over-broad principals or missing ExternalId/conditions |
| Permissions policy | No | Yes | Too-broad actions/resources; missing conditions |
| Permission boundary | No | Bounds max permissions | Assuming it grants permissions |
| SCP | Org guardrail | Restricts | Forgetting SCP deny overrides everything |
Exam cue: If the scenario says “a pipeline in Account A must deploy to Account B,” the answer usually includes AssumeRole with a tight trust policy in Account B.
High-yield defaults
aws:SecureTransport) and require encryption (SSE-S3 or SSE-KMS) where needed.Copy-ready snippets (adapt as needed)
Require TLS for all S3 requests:
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Sid": "DenyInsecureTransport",
6 "Effect": "Deny",
7 "Principal": "*",
8 "Action": "s3:*",
9 "Resource": [
10 "arn:aws:s3:::my-bucket",
11 "arn:aws:s3:::my-bucket/*"
12 ],
13 "Condition": {
14 "Bool": { "aws:SecureTransport": "false" }
15 }
16 }
17 ]
18}
Restrict access to principals in your AWS Organization:
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Sid": "DenyOutsideOrg",
6 "Effect": "Deny",
7 "Principal": "*",
8 "Action": "s3:*",
9 "Resource": [
10 "arn:aws:s3:::my-bucket",
11 "arn:aws:s3:::my-bucket/*"
12 ],
13 "Condition": {
14 "StringNotEquals": { "aws:PrincipalOrgID": "o-xxxxxxxxxx" }
15 }
16 }
17 ]
18}
CloudFront note: For public content, CloudFront should access S3 via Origin Access Control (OAC) (not a public bucket). The best answer often combines CloudFront + private S3 + controlled bucket policy.
| Need | Best fit | Why |
|---|---|---|
| Rotate database/API secrets | Secrets Manager | Native rotation workflows and secure retrieval |
| App configuration parameters | SSM Parameter Store | Simple config/parameters (advanced parameters when needed) |
| Public TLS certificates | ACM (public) | Managed issuance and renewal |
| Internal PKI | ACM Private CA | Managed private CA for enterprise environments |
Mental model: To use a KMS key, permissions must line up across:
Copy-ready example: region restriction SCP (use with care)
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Sid": "DenyOutsideApprovedRegions",
6 "Effect": "Deny",
7 "Action": "*",
8 "Resource": "*",
9 "Condition": {
10 "StringNotEquals": {
11 "aws:RequestedRegion": ["us-east-1", "us-west-2"]
12 }
13 }
14 }
15 ]
16}
Exam note: Region-deny SCPs can unintentionally block global services or required Regions. The “best” answer often includes a well-defined approved Region list + documented exceptions.
High-yield rules
Minimal example key policy pattern (illustrative):
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Sid": "KeyAdmins",
6 "Effect": "Allow",
7 "Principal": { "AWS": "arn:aws:iam::111122223333:role/SecOpsKmsAdmin" },
8 "Action": "kms:*",
9 "Resource": "*"
10 },
11 {
12 "Sid": "AllowUseFromAppRole",
13 "Effect": "Allow",
14 "Principal": { "AWS": "arn:aws:iam::444455556666:role/AppRole" },
15 "Action": [
16 "kms:Encrypt",
17 "kms:Decrypt",
18 "kms:GenerateDataKey*",
19 "kms:DescribeKey"
20 ],
21 "Resource": "*"
22 }
23 ]
24}
Exam cue: If the scenario mentions multi-Region DR with encrypted data, consider multi-Region keys (simplifies replicated encryption across Regions).
High-yield pattern: Dedicated log archive account + org-wide CloudTrail + centralized S3 + lifecycle/immutability.
Core building blocks:
Exam cue: “Need visibility across all accounts” → centralized security + logging accounts, delegated admin, org trail.
Common pro-level combinations:
| Strategy | Typical RTO | Typical RPO | When it’s the best answer |
|---|---|---|---|
| Backup & restore | Hours–days | Hours | Lowest cost, “good enough” recovery |
| Pilot light | Tens of minutes–hours | Minutes–hours | Minimal core services running; faster recovery than restore |
| Warm standby | Minutes | Minutes | Scaled-down but running; quicker cutover |
| Multi-site active-active | Seconds–minutes | Near-zero | Strict RTO/RPO, global users, highest cost/complexity |
Exam cue: If you see strict RTO/RPO and “business can’t tolerate downtime,” you’re in warm standby or active-active territory.
| Data layer | Multi-Region option | Notes |
|---|---|---|
| S3 | CRR (Cross-Region Replication) | Pair with versioning; consider replication time control if needed |
| DynamoDB | Global tables | Multi-Region active-active; watch conflict resolution patterns |
| Aurora | Aurora Global Database | Very low replication lag; fast cross-region failover for reads |
| RDS (non-Aurora) | Cross-Region read replicas / snapshots | More manual; generally slower RTO |
| KMS | Multi-Region keys | Simplifies encryption across Regions for replicated data |
| Service | Best for | Why it wins |
|---|---|---|
| Route 53 | DNS-based failover and policy routing | Health checks + routing policies; simple and flexible |
| Global Accelerator | Fast failover for TCP/UDP apps | Anycast IPs, fast health-based routing |
| CloudFront | Global content delivery + origin failover | Edge caching + origin failover; strong for HTTP(S) |
Rule of thumb: If you need static anycast IPs and fast failover, look at Global Accelerator. If you need caching and HTTP edge, look at CloudFront.
| Policy | Best for | Key detail |
|---|---|---|
| Failover | Active-passive DR | Health checks drive failover (DNS TTL still matters) |
| Weighted | Gradual migration / canary | Shift % of traffic between endpoints |
| Latency | Lowest latency routing | Routes to the region with best latency for the user |
| Geolocation | Compliance / content by country | Routes based on user location |
| Geoproximity | Route based on “distance” with bias | Uses Route 53 traffic flow / bias control |
| Multi-value | Simple multi-endpoint answers | Returns multiple healthy records (not full load balancing) |
| Simple | Single record | No routing logic |
Exam cues
flowchart LR
Users[Users] --> R53[Route 53 / GA]
R53 -->|Primary| RegionA[Region A]
R53 -->|Failover| RegionB[Region B]
subgraph Region A
ALBA[ALB] --> AppA[App Tier]
AppA --> DBA[(Primary DB)]
end
subgraph Region B
ALBB[ALB] --> AppB[Warm App Tier]
AppB --> DBB[(Replica/Global DB)]
end
sequenceDiagram
participant Dev as Developer
participant Repo as Source Repo
participant Pipe as CI/CD (Tools Account)
participant Stg as Staging Account
participant Prod as Prod Account
Dev->>Repo: Commit / PR
Repo->>Pipe: Trigger build + tests
Pipe->>Stg: Assume deploy role\nDeploy IaC + app
Pipe->>Prod: Approval gate\nAssume deploy role\nDeploy
Prod-->>Pipe: Health checks + alarms
High-yield implementation pieces:
Target accounts typically expose a deployment role that the tools account can assume.
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Sid": "AllowToolsAccountToAssume",
6 "Effect": "Allow",
7 "Principal": { "AWS": "arn:aws:iam::111122223333:role/ToolsDeployRole" },
8 "Action": "sts:AssumeRole"
9 }
10 ]
11}
Exam cue: If the question mentions “many accounts” and “standard baselines,” consider CloudFormation StackSets (or Control Tower customizations) to deploy org-wide resources consistently.
| Pattern | Best for | What you must remember |
|---|---|---|
| Blue/green | Big risk releases, fast rollback | Requires parallel environment and cutover |
| Canary | Gradual traffic shifting | Automate rollback via alarms |
| Rolling | Simple updates with some risk | Not great for strict zero-downtime unless carefully designed |
| Immutable | Consistency and safe rollbacks | Rebuild instead of patch-in-place |
Exam cue: If the question says “minimize downtime and risk” → blue/green or canary with automated rollback.
| Service | Best for | Notes |
|---|---|---|
| ALB | HTTP/HTTPS, L7 routing | Host/path routing, WAF integration |
| NLB | TCP/UDP, high throughput, low latency | Static IPs per AZ, good for non-HTTP |
| GWLB | Inline network appliance insertion | Pairs with centralized inspection patterns |
| Option | Best for | Why it wins | Typical trade-off |
|---|---|---|---|
| EC2 | Full control, special OS needs | Maximum flexibility | Highest ops burden |
| ECS (Fargate) | Containerized apps with low ops | No cluster management | Less control than EC2 |
| EKS | Kubernetes standardization | Ecosystem + portability | More complexity/ops than ECS |
| Lambda | Event-driven + bursty workloads | Minimal ops, scales fast | Cold starts, runtime limits, cost under high steady load |
Exam cue: If the scenario says “minimize operational overhead,” managed options (Fargate/Lambda/managed data stores) usually beat self-managed EC2.
Exam cue: If latency is for global users and content is cacheable → CloudFront.
| Option | Best for | Notes |
|---|---|---|
| Savings Plans | Compute spend across many services | Flexible; good default for predictable usage |
| Reserved Instances | Specific instance families (or RDS, etc.) | Strong discounts when you know the shape |
| Spot | Fault-tolerant, flexible workloads | Biggest savings; design for interruption |
Exam cue: If the workload is fault-tolerant and batch/async, Spot is often the “most cost-effective” answer (paired with retries/checkpointing).
Professional-level answers often include:
flowchart LR
subgraph Workloads
A1[Workload Account A] --> CW1[CloudWatch]
A2[Workload Account B] --> CW2[CloudWatch]
end
CW1 --> Agg[Central Observability]
CW2 --> Agg
Agg --> S3[(Central Log Archive S3)]
Agg --> SO[Search/Analytics]
Agg --> IR[Incident Response Runbooks]
High-yield implementation ideas:
If the question is “how to improve,” the best answer is usually the one that is systematic and automatable (not a one-off manual fix).
| Existing weakness | Evidence to gather | Durable improvement |
|---|---|---|
| Unclear failure cause | CloudWatch metrics/logs, X-Ray traces, CloudTrail events, deployment history | SLO-aligned alarms, dashboards, trace coverage, and incident runbooks |
| Manual recovery | Recovery steps, alarm sources, operator actions, time-to-recover | EventBridge + SSM Automation/Lambda remediation with approvals where needed |
| Repeated configuration drift | Config history, IaC state, manual change records | IaC enforcement, StackSets, Config rules, and controlled deployment pipeline |
| Security findings keep recurring | Security Hub/GuardDuty/Inspector findings, IAM Access Analyzer evidence | Preventive guardrails, least privilege refactor, patch automation, response playbooks |
| Performance bottleneck | p95/p99 latency, queue age, throttles, database metrics, cache hit rate | Scale the constrained layer, cache/buffer, tune access pattern, or adopt a purpose-built service |
| Cost anomaly | CUR, Cost Explorer, tags, data transfer path, utilization metrics | Rightsize, tier storage, reduce NAT/TGW/data transfer waste, then apply commitments |
| Strategy | Meaning | When it’s best |
|---|---|---|
| Rehost | Lift-and-shift | Fastest path; minimal change |
| Replatform | Small optimizations | Some benefit with limited refactor |
| Refactor | Re-architect | Cloud-native goals (scale, resilience) |
| Repurchase | SaaS | Replace with managed SaaS |
| Retire | Turn it off | Reduce scope and cost |
| Retain | Keep as-is | Constraints prevent migration now |
| Workload evidence | Best first migration posture | Watch for |
|---|---|---|
| Stable app, tight deadline, minimal change allowed | Rehost with MGN | Do not treat lift-and-shift as final optimization. |
| App can benefit from managed platform with small changes | Replatform | Validate operational savings and compatibility. |
| Monolith blocks scale or release velocity | Refactor incrementally | Use strangler/parallel run rather than big-bang rewrite when risk is high. |
| Commodity capability exists as SaaS | Repurchase | Confirm data migration, identity integration, and contract constraints. |
| App has no owner or business value | Retire | Confirm dependencies before shutdown. |
| App has legal, latency, hardware, or timing constraints | Retain temporarily | Document revisit trigger and hybrid integration path. |
| Cutover risk | Mitigation the best answer should mention |
|---|---|
| Unknown dependencies | Discovery, dependency mapping, pilot wave, and rollback plan |
| Database migration downtime | DMS/CDC, validation, planned cutover window, and tested fallback |
| DNS or traffic switch delay | TTL planning, Route 53 weighted/failover routing, health checks |
| Authentication mismatch | Identity integration tested before wave cutover |
| Compliance evidence gap | Logging, encryption, backup, and access evidence validated in target accounts |
| Post-migration instability | Hypercare window, dashboards, alarms, and optimization backlog |
Common patterns that show up in SAP-C02 scenarios:
Strangler fig sketch:
flowchart LR
Users --> Edge[Edge/Router]
Edge -->|Legacy paths| Mono[Monolith]
Edge -->|New paths| New[New Service]
New --> Data[(Managed Data)]
Exam cue: When the question says “modernize with minimal downtime and risk,” incremental patterns like strangler fig + canary/weighted routing often beat “big bang” rewrites.
flowchart LR
A[Discover + Assess] --> B[Plan Waves]
B --> C[Build Landing Zone]
C --> D[Pilot Wave]
D --> E[Scale Waves]
E --> F[Stabilize + Optimize]