nerdexam
Amazon

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…

Submitted by miguelv· Mar 5, 2026Cost and performance optimization

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)
  • A
    2% (1)
  • B
    12% (5)
  • C
    5% (2)
  • D
    80% (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 Expires header 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

#CloudFront caching#TTL configuration#Cache-Control header#CDN optimization

Community Discussion

No community discussion yet for this question.

Full SOA-C03 Practice