AWS S3 bucket size has exploded, but I can't figure out how
Solution 1:
It was aborted multipart uploads. S3 keeps every uploaded part of every failed multipart upload indefinitely by default! A process had been failing and retrying multipart uploads without explicitly cleaning up the failed transfers.
We remedied this by temporarily enabling versioning, setting a lifecycle rule to remove aborted multipart upload chunks after 1 day, then waited a day, disabling versioning again once the chunklets were cleared.
Solution 2:
There is extensive support and documentation on how to fix this issue. The most common one is moving old versions after a certain amount of time.
Another option is to remove incomplete multipart uploads, which is supported by AWS since 2016 (source). You can find this under S3 lifecycle rules: