Question

Difficulty: MediumHigh-Performing Content Delivery and Caching Solutions

A global event ticketing platform hosts its web application on AWS. The static frontend assets, such as seating charts and promotional banners, are stored in an Amazon S3 bucket. The dynamic backend application runs on Amazon EC2 instances behind an Application Load Balancer (ALB) and reads ticket availability data from an Amazon RDS for PostgreSQL database. During popular ticket launches, the platform experiences massive traffic spikes, leading to increased latency and high CPU utilization on the RDS database.

Which combination of actions should a solutions architect recommend to reduce latency and improve the application's overall performance? (Select TWO.)

  1. Configure an Amazon CloudFront distribution with the Amazon S3 bucket as the origin to serve the static seating charts and promotional banners.Answer
  2. Deploy an Amazon ElastiCache cluster to cache frequent read queries for ticket availability, reducing the query load on the Amazon RDS database.Answer
  3. C
    Configure an Amazon CloudFront distribution for the static S3 assets, but set the Default TTL and Minimum TTL to 00 seconds in the cache behavior to ensure that users always download the latest seating charts.
  4. D
    Migrate the database to Amazon DynamoDB and use a monotonically increasing timestamp as the partition key to ensure seating inventory queries are processed sequentially and quickly.
  5. E
    Deploy AWS Shield Standard to inspect incoming HTTPS requests at the Application Load Balancer (ALB) level to automatically filter out SQL injection attempts.

Answer

Configure an Amazon CloudFront distribution with the Amazon S3 bucket as the origin to serve static assets, and deploy an Amazon ElastiCache cluster to cache database read queries.
The correct architecture leverages Amazon CloudFront to cache static assets (like seating charts and banners) at edge locations close to users, reducing latency and origin request volume. For database queries, Amazon ElastiCache stores the results of ticket availability queries in memory, preventing redundant reads from reaching the Amazon RDS PostgreSQL database and lowering CPU consumption during high-traffic events.

Step-by-Step Solution

1
Analyze the caching requirements for static and dynamic data components.
Identify seating charts and banners as static assets, and ticket availability queries as dynamic, database-driven reads.
To build a high-performing architecture, distinct caching strategies must be applied to static content and dynamic database query results.
2
Deploy Amazon CloudFront to optimize static content delivery.
Configure CloudFront with the S3 bucket as the origin and set appropriate non-zero TTL values.
CloudFront caches static files at edge locations globally, lowering latency for users and reducing the load on the S3 origin.
3
Implement Amazon ElastiCache in front of the Amazon RDS database.
Introduce a cache-aside layer to query ElastiCache before querying RDS.
Caching database query responses in memory reduces CPU utilization on the RDS instance and speeds up dynamic page rendering.

Key Concept

Multi-tiered caching in AWS involves caching static media assets at the edge using Amazon CloudFront and caching database read queries in-memory using Amazon ElastiCache, which together minimize latency and protect origin databases and storage from overload during traffic spikes.
Rate this question