Why are there so many server access logs for my Amazon S3 bucket?

Last updated: 2019-12-19

I enabled server access logging for my Amazon Simple Storage Service (Amazon S3) bucket. However, I'm seeing that too many logs are being generated. Why am I getting so many logs?


Amazon S3 server access logs track every API call that is made to Amazon S3, and one action by a user might involve several API calls. For example, viewing a file from the Amazon S3 console requires API calls for the console to get information about the file to display. Then, more API calls are made to Amazon S3 when a user downloads the file. The API calls required to download one file from the Amazon S3 console include:

  • ListObjects
  • HeadObject
  • GetObjectTagging
  • GetObjectVersion
  • GetObjectACL

This is why you can get multiple logs when a user downloads one file from your S3 bucket. Additionally, if your bucket is accessed more frequently, then you receive more access logs. For example, if your bucket policy allows public read access, then you might get a high volume of server access logs.

You also receive too many server access logs if the logs about a bucket are pushed into the same bucket. This configuration can cause an infinite loop of logs. It's a best practice to send logs to a separate bucket.

Did this article help you?

Anything we could improve?

Need more help?