So far the clients directly access the API gateway. It works, but the API gateway and corresponding lambda functions often do same computations again and again, which generate useless costs. If the API is public which can be safely shared among users, the responses should be cached.
The API gateway implements the cache mechanism but it's costly. So I think to set the CloudFront in front of API gateway and use the cache mechanism of CloudFront is the most cost effective.
So far the clients directly access the API gateway. It works, but the API gateway and corresponding lambda functions often do same computations again and again, which generate useless costs. If the API is public which can be safely shared among users, the responses should be cached.
The API gateway implements the cache mechanism but it's costly. So I think to set the CloudFront in front of API gateway and use the cache mechanism of CloudFront is the most cost effective.