We can reduce the amount of requests fastly and cloudfront do to s3 by enabling shielding. Fastly docs here.
For every S3 bucket served by CDNs, look at its requests and check the cache hit ratio on the CDNs to understand if shielding can reduce s3 cost.