Which set of actions should the solutions architect take to increase the cache hit ratio as quickly as possible?
Deploy a Lambda@Edge function to sort parameters by name and force them to be lowercase. Select the CloudFront viewer request trigger to invoke the function.
Update the CloudFront distribution to disable caching based on query string parameters.
Deploy a reverse proxy after the load balancer to post-process the emitted URLs in the application to force the URL strings to be lowercase.
Update the CloudFront distribution to specify casing-insensitive query string processing.
Explanations:
Deploying a Lambda@Edge function to sort parameters by name and convert them to lowercase ensures that the query string parameters are consistent. This will reduce cache fragmentation and improve the cache hit ratio by ensuring that requests with the same parameters are treated as identical by CloudFront.
Disabling caching based on query string parameters would mean that CloudFront does not cache any variations based on these parameters, which would lead to increased origin requests and a lower cache hit ratio overall. This does not solve the inconsistency issue.
Implementing a reverse proxy to post-process URLs adds unnecessary complexity and latency. It does not directly address the caching issue in CloudFront, as the inconsistency in query strings would still exist, leading to cache misses.
CloudFront does not currently support casing-insensitive query string processing. Therefore, this option does not solve the issue of inconsistent casing in query string parameters, which would still result in a lower cache hit ratio.