Key details

  1. Self-managed S3 code storage launched July 15, 2026.
  2. The feature applies to zip-based Lambda functions and layers, not container-image deployments.
  3. Set `S3ObjectStorageMode` to `REFERENCE` to avoid the Lambda-managed copy.
  4. The default Lambda-managed code-storage quota increased from 75GB to 300GB per Region per account.
  5. Reference-mode packages do not consume the Lambda-managed storage quota.
  6. S3 versioning is required for self-managed code storage.
  7. Customer-managed encryption, Object Lock, access logging and replication can be applied to the canonical artifact.
  8. If Lambda loses access to the referenced object, the function can become inactive.
  9. There is no additional Lambda charge; ordinary S3 storage/request and applicable cross-Region transfer costs still apply.

What builders should take away

  1. Use reference mode for large function fleets, many published versions or compliance-sensitive environments where Lambda-managed copies create quota or governance friction.
  2. Treat the referenced S3 object as production infrastructure: require versioning, prevent accidental deletion and make bucket/KMS policy changes go through the same review path as application deploys.
  3. If disaster recovery matters, replicate the artifact and test the runbook for repointing functions when the primary object or Region is unavailable.
  4. Do not infer that storage control is free operationally; include S3 retention, replication and transfer costs plus the blast radius of bucket-policy mistakes in the decision.
  5. Keep `COPY` for workloads where eliminating an external artifact dependency is more valuable than quota relief or direct security controls.

What changed

On July 15, 2026, AWS Lambda added self-managed S3 code storage for zip-based functions and layers. Instead of always copying a deployment package into Lambda-managed storage, builders can set `S3ObjectStorageMode=REFERENCE` so Lambda reads a specific versioned object directly from a customer-owned S3 bucket. AWS also raised the default Lambda-managed code-storage quota from 75GB to 300GB per Region per account.

Why it matters

This changes both scale limits and the trust boundary around Lambda deployment artifacts. Large function fleets can avoid consuming Lambda’s managed code-storage quota, while security and compliance teams can apply their own KMS keys, Object Lock, access logging, lifecycle rules and replication to the canonical artifact. The trade-off is operational responsibility: in reference mode the S3 object must remain available and readable, so deleting it, changing bucket policy or disabling a KMS key can push the function into an inactive state and break future cold starts or re-optimization.

Reference mode removes Lambda’s intermediate copy

Historically, Lambda copied zip deployment packages from a customer S3 bucket into internal Lambda-managed storage. With `REFERENCE`, the object in the builder’s bucket becomes the source Lambda reads directly. The deployment package no longer counts against Lambda-managed code storage, and AWS says function creation or update can be modestly faster because the copy step disappears.

The artifact becomes part of your production control plane

Customer ownership of the source object unlocks normal S3 controls such as versioning, SSE-KMS or DSSE-KMS, Object Lock, lifecycle configuration, CloudTrail or access logging, and cross-Region replication. That makes deployment code auditable and governable in the same account as the rest of a team’s release artifacts.

Availability responsibility moves with the control

Reference mode is not just a storage optimization. Lambda periodically needs the source object when re-optimizing function code. AWS documents that if the object becomes unavailable because it was deleted, permissions changed or a KMS key was disabled, the function can transition to `Inactive`. Restoring access and updating the function is then required to recover it.

The old copy path still exists

The default remains `COPY`, and builders can switch existing functions back and forth by updating function code. That makes the new mode opt-in rather than a forced migration, which is useful for teams that value Lambda-managed artifact durability over direct control.

What to watch next

  • Whether AWS expands self-managed storage to container-image workflows or other Lambda artifacts.
  • Whether deployment frameworks make `REFERENCE` a first-class or default option for large fleets.
  • Operational reports on failures caused by source-object deletion, KMS changes or bucket-policy drift.
  • Whether AWS raises or reworks managed code quotas further as reference mode adoption grows.

Still unclear

  • AWS provides vendor testing showing faster function creation in reference mode, but BTN did not find independent benchmark data across fleet sizes and package distributions.
  • The practical availability risk depends heavily on each team’s S3/KMS controls and replication design, so there is no universal reliability advantage over `COPY` mode.

Sources

Direct reading behind this dossier.

3 sources
Self-managed S3 code storage
AWS Lambda Developer Guide primary

Current product documentation for configuration and operational constraints.