Missing S3 Lifecycle Policy for Incomplete Multipart Uploads
Service Category
Storage
Cloud Provider
AWS
Service Name
AWS S3
Inefficiency Type
Inefficient Configuration
Explanation

Multipart upload allows large files to be uploaded in segments. Each part is stored individually until the upload is finalized by a “CompleteMultipartUpload” request. If this final request is never issued—due to a timeout, crash, failed job, or misconfiguration—the parts remain stored but are effectively useless: they do not form a valid object and cannot be retrieved. Without a lifecycle policy in place to clean up these incomplete uploads, the orphaned parts persist and continue to incur storage charges indefinitely.

Relevant Billing Model

S3 charges per GB-month for all stored data, including partial object data from incomplete multipart uploads. These parts are billed as standard storage and remain in the bucket unless explicitly removed—either manually or via a lifecycle policy.

Detection
  • Identify S3 buckets that are used for large file uploads or automation-driven data ingestion
  • Review whether an S3 Lifecycle rule exists to abort incomplete multipart uploads
  • Consult with application owners or platform teams to confirm upload workflows and fault tolerance
Remediation

Define an S3 Lifecycle rule to automatically abort incomplete multipart uploads after a specified number of days (e.g., 7 days). This ensures that leftover parts are cleaned up and do not persist indefinitely. Include this rule as a default in all buckets handling large object uploads or automation-driven data pipelines.