lets say i am using aws's s3 connected with cloudfront .
And s3 sends one image file of size 1 MB to be cached on all cloudfront's edge nodes.
then the cached image file is downloaded 1 million times from cloudfront's edges .(the image is not grabbed again from s3 ).
do i pay for
1-the bandwidth for transferring the file from s3 to cloudfront edges.
2- the bandwidth for transferring the file from s3 to cloudfront edges + the bandwidth for 1 million downloads from the cloudfront edges .
also , if the answer is 2 , then that means caching doesn't save money at all ? only impove performance ?
and if that's the case why use cloudfront instead of cloudflare since cloudflare provides free bandwidth ? (is there a catch there ?)