Question

Difficulty: MediumEdge Caching and Content Delivery for Resilient Architectures

A logistics company provides a web-based tracking dashboard containing static map tiles and a real-time tracking API. The static map tiles are stored in an Amazon S3 bucket in the eu-central-1 Region, and the API is hosted on Amazon EC2 instances behind an Application Load Balancer (ALB) in the same Region. The company wants to reduce latency for global users and ensure the dashboard remains highly resilient to storage outages with minimal operational overhead.

Which combination of actions should a solutions architect take to meet these requirements? (Choose two.)

  1. Configure an Amazon CloudFront distribution with an origin group that has the primary S3 bucket as the primary origin and a replicated S3 bucket in another Region as the failover origin.Answer
  2. Configure a cache behavior within the CloudFront distribution for the API path that forwards all headers and query strings to the Application Load Balancer and sets TTLs to zero.Answer
  3. C
    Configure AWS Route 53 latency routing to resolve the dashboard domain to either the primary S3 bucket or the Application Load Balancer based on user location.
  4. D
    Deploy an AWS WAF Web ACL directly on the primary Amazon S3 bucket to inspect traffic and automatically redirect requests to the secondary S3 bucket when the primary bucket is unavailable.
  5. E
    Enable Cross-Region Replication on the S3 bucket and set the default cache behavior's Time to Live (TTL) to zero in CloudFront to ensure static map tiles are always verified at the origin.

Answer

Configure an Amazon CloudFront distribution with an origin group that has the primary S3 bucket as the primary origin and a replicated S3 bucket in another Region as the failover origin, and configure a cache behavior within the CloudFront distribution for the API path that forwards all headers and query strings to the Application Load Balancer and sets TTLs to zero.
To achieve low latency and high resiliency for static assets (map tiles) and dynamic API requests, the solutions architect should use Amazon CloudFront. CloudFront caches static assets at edge locations close to users worldwide. By setting up a CloudFront origin group with the primary S3 bucket as the primary origin and a secondary replicated S3 bucket as the failover origin, CloudFront will automatically fail over if the primary S3 origin is unavailable. For the dynamic tracking API, a dedicated cache behavior should be created to forward all query strings and headers directly to the Application Load Balancer without caching, leveraging the AWS global network for optimized latency.

Step-by-Step Solution

1
Set up a replicated Amazon S3 bucket in a secondary Region to store map tiles and configure a CloudFront distribution with an origin group containing both the primary and failover S3 buckets.
CloudFront handles requests for static map tiles, caching them at edge locations and automatically failing over to the secondary bucket if the primary bucket is unavailable.
To meet the reliability and performance constraints for static assets with minimal operational overhead.
2
Add a cache behavior for the API path (e.g., /api/*) that points to the Application Load Balancer as the origin.
Dynamic API requests are routed through CloudFront to the ALB while bypassing caching to ensure real-time tracking updates are delivered.
To optimize global routing for dynamic API queries and preserve the unified domain name.

Key Concept

Using Amazon CloudFront with origin groups for high availability of static assets and cache behaviors to route dynamic traffic to Application Load Balancers.
Rate this question