
Ultimate access to all questions.
Answer-first summary for fast verification
Answer: Configure an Amazon CloudFront distribution with the ALB as the origin. Set the cache behavior settings to cache based on the Accept-Language request header.
## Explanation **Correct Answer: B** **Why Option B is correct:** 1. **Amazon CloudFront** is AWS's Content Delivery Network (CDN) service that caches content at edge locations worldwide, reducing latency for users regardless of their geographic location. 2. By configuring CloudFront with the existing ALB as the origin, the company can leverage the existing architecture without recreating it in multiple regions. 3. Setting cache behavior based on the `Accept-Language` request header allows CloudFront to cache different language versions of the website separately, which is essential for supporting multiple languages. 4. CloudFront automatically routes users to the nearest edge location, significantly reducing latency for users in different parts of the world. **Why other options are incorrect:** **Option A:** While using S3 + CloudFront is a good static website hosting solution, the question states the company has a dynamic website served from EC2 instances behind an ALB. Replacing the entire architecture with a static S3 website would not work for dynamic content and would require significant re-architecture. **Option C:** API Gateway is designed for building APIs, not for serving entire websites. While it has caching capabilities, it's not optimized for website delivery and would add unnecessary complexity. **Option D:** This approach would require launching EC2 instances in multiple regions (which the company wants to avoid) and managing NGINX cache servers, adding operational overhead. While Route 53 geolocation routing could help direct users to the nearest cache server, this solution is more complex and expensive than using CloudFront. **Key AWS Services Used:** - **Amazon CloudFront:** Global CDN service - **Application Load Balancer (ALB):** Existing infrastructure as origin - **Cache Key Settings:** Using `Accept-Language` header for language-specific caching This solution meets all requirements: reduces global latency, supports multiple languages through header-based caching, and avoids recreating architecture in multiple regions.
Author: LeetQuiz Editorial Team
No comments yet.
A company serves a dynamic website from a fleet of Amazon EC2 instances behind an Application Load Balancer (ALB). The website needs to support multiple languages to serve customers around the world. The website's architecture is running in the us-west-1 Region and is exhibiting high request latency for users that are located in other parts of the world.
The website needs to serve requests quickly and efficiently regardless of a user's location. However, the company does not want to recreate the existing architecture across multiple Regions.
What should a solutions architect do to meet these requirements?
A
Replace the existing architecture with a website that is served from an Amazon S3 bucket. Configure an Amazon CloudFront distribution with the S3 bucket as the origin. Set the cache behavior settings to cache based on the Accept-Language request header.
B
Configure an Amazon CloudFront distribution with the ALB as the origin. Set the cache behavior settings to cache based on the Accept-Language request header.
C
Create an Amazon API Gateway API that is integrated with the ALB. Configure the API to use the HTTP integration type. Set up an API Gateway stage to enable the API cache based on the Accept-Language request header.
D
Launch an EC2 instance in each additional Region and configure NGINX to act as a cache server for that Region. Put all the EC2 instances and the ALB behind an Amazon Route 53 record set with a geolocation routing policy.