If we can invalidate caches of the CloudFront distribution whenever necessary, we can confidently set much longer cache duration.
According to the documentation, we are charged for invalidation per single invalidation path pattern. However many files match a single pattern, the cost is the same. So simply invalidating /* could be economical for us.