Skip to main content
  1. Home
  2. >
  3. AWS
  4. >
  5. SAP-C02
  6. >
  7. AWS SAP-C02 Exam Scenarios
  8. >
  9. CloudFront Multi-Region Origin Routing Trade-offs | SAP-C02

CloudFront Multi-Region Origin Routing Trade-offs | SAP-C02

Jeff Taakey
Author
Jeff Taakey
21+ Year Enterprise Architect | Multi-Cloud Architect & Strategist.

How to Optimize CloudFront Origin Latency for Global S3 Content
#

Exam Context: AWS SAP-C02
Scenario Type: Networking & Performance Optimization
Decision Focus: Multi-region origin routing via S3 CRR and Lambda@Edge

While preparing for the AWS SAP-C02, many candidates get confused by when to use Global Accelerator vs. S3 CRR vs. Transfer Acceleration with CloudFront. In the real world, this is fundamentally a decision about origin proximity vs. edge caching efficiency. CloudFront already provides edge cachingβ€”the bottleneck is the origin fetch latency for cache misses. Let’s drill into a simulated scenario.

The Scenario
#

AtmosView Analytics operates a SaaS platform delivering high-resolution meteorological heatmaps to enterprise customers. The application stack consists of:

  • Static HTML/CSS/JS and frequently updated PNG/GeoJSON weather overlays stored in an S3 bucket in eu-west-1
  • Amazon CloudFront distribution as the CDN layer
  • Original customer base: European Union (latency < 50ms)

The company recently signed contracts with 12 Fortune 500 clients in the US East Coast region. These new users report:

  • Intermittent slow load times (2-4 seconds) when accessing regional weather layers
  • Performance degradation occurs even though CloudFront is globally distributed

Post-investigation findings:

  • Cache hit ratio for US users: 65% (vs. 92% for EU users)
  • Weather map updates occur every 10 minutes
  • US users frequently request region-specific overlays not cached in nearby edge locations

Key Requirements
#

Resolve the origin fetch latency issue for US-based users while:

  • Maintaining cost efficiency (no 3x infrastructure spend)
  • Preserving eventual consistency (weather data can tolerate 1-2 minute propagation delay)
  • Minimizing operational complexity (avoid duplicate upload pipelines)

The Options
#

Which combination of TWO steps will solve the performance issue?

  • A) Configure AWS Global Accelerator with an endpoint for the eu-west-1 S3 bucket, and add an endpoint group for us-east-1 with TCP ports 80 and 443.
  • B) Create a new S3 bucket in us-east-1 and enable S3 Cross-Region Replication (CRR) from the eu-west-1 bucket.
  • C) Use Lambda@Edge to modify requests originating from North America to use the S3 Transfer Acceleration endpoint in us-east-1.
  • D) Use Lambda@Edge to modify requests originating from North America to route to the us-east-1 S3 bucket origin.
  • E) Configure AWS Global Accelerator with an endpoint in us-east-1 as an origin for the CloudFront distribution, and use Lambda@Edge to route North American requests to this new origin.

Correct Answer
#

Option B (S3 CRR to us-east-1) + Option D (Lambda@Edge origin routing)

Step-by-Step Winning Logic
#

This solution addresses the root cause: origin fetch latency during CloudFront cache misses.

Why This Works:

  1. S3 Cross-Region Replication (Option B)

    • Asynchronously replicates weather map updates from eu-west-1 β†’ us-east-1
    • Replication lag: typically 5-15 minutes (acceptable per requirements: “1-2 minute tolerance”)
    • Cost: $0.02/GB one-time replication + standard S3 storage in us-east-1
    • FinOps Win: Pay only for data transfer and dual storage, not hourly fixed fees
  2. Lambda@Edge Origin Request (Option D)

    • Executes after CloudFront cache check, before origin fetch
    • Inspects CloudFront-Viewer-Country header β†’ routes US requests to us-east-1 bucket
    • Maintains EU requests to eu-west-1 bucket
    • Performance Win: Reduces origin RTT from 120ms β†’ 15ms for US cache misses

The Architecture Pattern:

US User Request β†’ CloudFront Edge (Virginia)
  β”œβ”€ Cache HIT (65% of time) β†’ Serve from edge
  └─ Cache MISS (35% of time)
       └─ Lambda@Edge (Origin Request)
            └─ IF North America β†’ Fetch from us-east-1 S3 (15ms)
            └─ ELSE β†’ Fetch from eu-west-1 S3

πŸ’Ž Professional-Level Analysis
#

This section breaks down the scenario from a professional exam perspective, focusing on constraints, trade-offs, and the decision signals used to eliminate incorrect options.

πŸ” Expert Deep Dive: Why Options Fail
#

This walkthrough explains how the exam expects you to reason through the scenario step by step, highlighting the constraints and trade-offs that invalidate each incorrect option.

Prefer a quick walkthrough before diving deep?
[Video coming soon] This short walkthrough video explains the core scenario, the key trade-off being tested, and why the correct option stands out, so you can follow the deeper analysis with clarity.

πŸ” The Traps (Distractor Analysis)
#

This section explains why each incorrect option looks reasonable at first glance, and the specific assumptions or constraints that ultimately make it fail.

The difference between the correct answer and the distractors comes down to one decision assumption most candidates overlook.

Why NOT Option A (Global Accelerator for S3)?

  • Architectural Misfit: Global Accelerator optimizes the user-to-AWS edge path using AWS backbone
  • Problem: You already have CloudFront doing this! Global Accelerator would sit behind CloudFront, providing zero benefit
  • Cost Trap: $0.025/hour per accelerator ($18/day = $540/month baseline) + $0.015/GB data transfer premium
  • Verdict: Paying for redundant edge acceleration

Why NOT Option C (S3 Transfer Acceleration)?

  • Fundamental Flaw: Transfer Acceleration optimizes uploads to S3, not downloads
  • CloudFront Incompatibility: CloudFront cannot use Transfer Acceleration endpoints as origins (unsupported feature)
  • Cost: $0.04-$0.08/GB (2-4x standard transfer pricing) for a feature that doesn’t apply to this use case
  • Verdict: Solves the wrong problem

Why NOT Option E (Global Accelerator + CloudFront)?

  • Circular Logic: Using Global Accelerator as a CloudFront origin creates a nonsensical path:
    User β†’ CloudFront Edge β†’ Global Accelerator β†’ CloudFront Distribution (?)
  • Architectural Anti-Pattern: Nesting two edge acceleration services
  • Cost: Double egress charges + GA hourly fees
  • Verdict: Technically invalid and financially wasteful

πŸ’Ž Professional Decision Matrix

This SAP-C02 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access

πŸ” The Solution Blueprint
#

This blueprint visualizes the expected solution, showing how services interact and which architectural pattern the exam is testing.

Seeing the full solution end to end often makes the trade-offsβ€”and the failure points of simpler optionsβ€”immediately clear.

graph TB
    subgraph "North America Users"
        US[US East User]
    end
    
    subgraph "Europe Users"
        EU[EU User]
    end
    
    subgraph "CloudFront Edge Locations"
        CFEdgeUS[CloudFront POP
Virginia] CFEdgeEU[CloudFront POP
Frankfurt] end subgraph "Lambda@Edge Layer" LEOrigin["Lambda@Edge
Origin Request Trigger"] end subgraph "S3 Origins" S3EU[S3 Bucket
eu-west-1
PRIMARY] S3US[S3 Bucket
us-east-1
REPLICA] end US -->|1. Request| CFEdgeUS EU -->|1. Request| CFEdgeEU CFEdgeUS -->|2. Cache MISS| LEOrigin CFEdgeEU -->|2. Cache MISS| LEOrigin LEOrigin -->|3a. If North America| S3US LEOrigin -->|3b. Else| S3EU S3EU -.->|S3 CRR
Async Replication| S3US style S3US fill:#4CAF50,stroke:#2E7D32,color:#fff style LEOrigin fill:#FF9800,stroke:#E65100,color:#fff style S3EU fill:#2196F3,stroke:#1565C0,color:#fff

Diagram Note: Lambda@Edge inspects request geography post-cache-miss and routes to the nearest S3 origin, while S3 CRR ensures data availability in both regions.

πŸ’Ž Professional Decision Matrix

This SAP-C02 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access

πŸ” The Decision Matrix
#

This matrix compares all options across cost, complexity, and operational impact, making the trade-offs explicit and the correct choice logically defensible.

At the professional level, the exam expects you to justify your choice by explicitly comparing cost, complexity, and operational impact.

Option Est. Complexity Est. Monthly Cost (5TB/mo, 10M requests) Pros Cons
B + D (CORRECT) Medium $220 ($100 S3 storage Γ— 2 regions + $100 CRR transfer + $20 Lambda@Edge) βœ… Minimal origin latency
βœ… Pay-per-use model
βœ… Works with existing CloudFront
⚠️ Eventual consistency (5-15min lag)
⚠️ Requires Lambda@Edge logic
A (Global Accelerator) Low $13,680 ($540 GA base + $750 data transfer + $12,390 redundant with CloudFront) βœ… Simple configuration ❌ Redundant with CloudFront
❌ 62x more expensive
❌ Doesn’t solve origin latency
C (Transfer Acceleration) N/A N/A None ❌ Incompatible with CloudFront origins
❌ Optimizes uploads, not downloads
❌ Technically invalid
E (GA as CF Origin) High $14,200 (GA fees + dual egress) None ❌ Architecturally nonsensical
❌ Unsupported configuration
❌ Extreme cost
B only (CRR without routing) Low $200 βœ… Data replicated ❌ CloudFront still fetches from eu-west-1 by default
❌ Doesn’t solve the routing problem

FinOps Insight: Option B+D costs 1.6% of Global Accelerator’s price while delivering superior performance for this use case.

πŸ’Ž Professional Decision Matrix

This SAP-C02 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access

πŸ” Real-World Practitioner Insight
#

This section connects the exam scenario to real production environments, highlighting how similar decisions are madeβ€”and often misjudgedβ€”in practice.

This is the kind of decision that frequently looks correct on paper, but creates long-term friction once deployed in production.

Exam Rule
#

“For SAP-C02, when you see CloudFront + multi-region performance issues + frequent updates, combine:

  1. S3 CRR for data locality
  2. Lambda@Edge (Origin Request) for intelligent routing

Eliminate Global Accelerator if CloudFront already exists. Eliminate Transfer Acceleration for download optimization scenarios.”

Real World
#

In production, we would:

  1. Add CloudWatch metrics to track:
  • CRR replication lag (set alarm if > 5 minutes)
  • Lambda@Edge execution duration
  • Cache hit ratio by region
  1. Implement fallback logic in Lambda@Edge:
// If us-east-1 object doesn't exist yet (CRR lag)
// Fallback to eu-west-1 origin
  1. Consider S3 Intelligent-Tiering for replicated data to optimize storage costs for older weather maps

  2. Evaluate CloudFront Origin Groups (failover) if uptime SLA > 99.99%

  3. For truly latency-sensitive workloads (< 1 second requirement), consider:

    • S3 same-region replication to multiple buckets + Route 53 latency-based routing
    • ElastiCache Global Datastore for sub-50ms access to frequently requested overlays
  4. Alternative pattern for write-heavy workloads:

    • If weather maps were uploaded by US sources, we’d reverse the flow (us-east-1 primary β†’ eu-west-1 replica)
    • Or use S3 Multi-Region Access Points (launched 2021) for automatic routing

Cost Optimization Tip: For workloads with predictable access patterns, pre-warm CloudFront cache using cache invalidation or versioned object keys to maintain > 90% hit ratio and minimize origin fetches entirely.

πŸ’Ž Professional Decision Matrix

This SAP-C02 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access