Paying for Ghosts

A bucket with versioning disabled is billed for 3TB, but summing the sizes of every listed object gives 1.8TB. The upload client is known to crash partway through large transfers. What is consuming the difference?

A

Noncurrent object versions left behind by overwrites, which are billed as storage but stay hidden from a default listing

B

Server-side encryption metadata and per-object checksums, which are stored alongside each object and billed at the same per-GB rate

C

Objects that have already moved to a colder storage class, whose size a standard listing operation reports as zero bytes

D

Parts of multipart uploads that were never completed or aborted, which are stored and billed but do not appear in a bucket listing