SOA-C03 · Question #50
A company hosts a static website in an Amazon S3 bucket, accessed globally via Amazon CloudFront. The Cache-Control max-age header is set to 1 hour, and Maximum TTL is set to 5 minutes. The CloudOps…
The correct answer is D. Cache-duration settings conflict with each other. CloudFront TTL Conflict Explanation Why D is correct: CloudFront uses the minimum of the Cache-Control max-age header value and the Maximum TTL setting when determining how long to cache an object. Here, max-age is set to 1 hour (3600s), but Maximum TTL is set to 5 minutes…
Question
A company hosts a static website in an Amazon S3 bucket, accessed globally via Amazon CloudFront. The Cache-Control max-age header is set to 1 hour, and Maximum TTL is set to 5 minutes. The CloudOps engineer observes that CloudFront is not caching objects for the expected duration. What is the reason for this issue?
Options
- AThe Expires header has been set to 3 hours.
- BCached assets are not expiring in the edge location.
- CCache invalidation is missing in the CloudFront configuration.
- DCache-duration settings conflict with each other.
How the community answered
(41 responses)- A2% (1)
- B12% (5)
- C5% (2)
- D80% (33)
Explanation
CloudFront TTL Conflict Explanation
Why D is correct: CloudFront uses the minimum of the Cache-Control max-age header value and the Maximum TTL setting when determining how long to cache an object. Here, max-age is set to 1 hour (3600s), but Maximum TTL is set to 5 minutes (300s) - since Maximum TTL acts as a hard ceiling, CloudFront will only cache objects for 5 minutes, overriding the intended 1-hour duration. This conflict between the two settings causes the unexpected caching behavior.
Why the distractors are wrong:
- A is incorrect because an
Expiresheader set to 3 hours would extend caching duration, not reduce it - and the question describes caching falling short of expectations. - B is incorrect because assets are expiring (too quickly), not failing to expire - this option describes the opposite problem.
- C is incorrect because cache invalidation removes cached content manually; it doesn't explain a systematic TTL mismatch.
Memory Tip
Think of Maximum TTL as a speed limiter on a highway - no matter how fast (long) your Cache-Control header wants to go, CloudFront will never exceed (or in this case, surpass) the Maximum TTL ceiling. Always ensure both settings are aligned!
Topics
Community Discussion
No community discussion yet for this question.