# S3 day-0 Standard-IA / One Zone-IA lifecycle — rule checklist

AWS [removed the 30-day Standard residency requirement](https://aws.amazon.com/about-aws/whats-new/2026/07/s3-removes-30-day-transitions-standard-ia-one-zone-ia/) for transitions to **Standard-IA** and **One Zone-IA** on **July 16, 2026**. Eligibility changed; **billing minimums did not**.

Confirm current rates on [Amazon S3 pricing](https://aws.amazon.com/s3/pricing/) before budgeting.

## Before you enable a day-0 rule

- [ ] **Access pattern:** Objects are written once and read **less than ~once per month**. If >3–5% of bytes are retrieved monthly, model retrieval at **$0.01/GB** (Standard-IA / One Zone-IA, us-east-1) — storage savings shrink fast.
- [ ] **Retention vs 30-day minimum:** Standard-IA and One Zone-IA still charge a **30-day minimum storage duration**. Objects deleted, overwritten, or transitioned to another class before 30 days incur normal usage **plus** a pro-rated charge for the remaining days. **Do not** day-0 IA volatile prefixes (temp uploads, pipeline scratch, short TTL compliance holds).
- [ ] **Object size:** Minimum billable size is **128 KB** per object in IA classes. Millions of tiny log lines as individual objects can cost more in IA than aggregated Standard objects — compact first (Firehose/Glue/Lambda batching to 64–512 MB objects).
- [ ] **Durability scope:** **One Zone-IA** stores data in a single Availability Zone. Use only for re-generable data (secondary log copies, derived aggregates). Keep authoritative backups on **Standard-IA** (multi-AZ).
- [ ] **Versioning:** Non-current versions need their own lifecycle transitions. Day-0 on current version does not fix version-history bloat — add `NoncurrentVersionTransitions` (see [S3 Is Not Cheap](/blog/aws-s3-storage-costs-not-cheap/)).
- [ ] **Replication:** CRR/SRR replicates storage class. Confirm destination bucket lifecycle matches source so you do not replicate Standard-only objects that should have been IA at origin.

## Example lifecycle rule (day-0 cold logs prefix)

Context: Terraform / CloudFormation / console — S3 Lifecycle API, us-east-1, prefix `logs/app/` known cold at ingest.

```json
{
  "Rules": [
    {
      "ID": "cold-logs-day0-ia",
      "Filter": { "Prefix": "logs/app/" },
      "Status": "Enabled",
      "Transitions": [
        { "Days": 0, "StorageClass": "STANDARD_IA" }
      ]
    }
  ]
}
```

Swap `ONEZONE_IA` only after durability review. `Days: 0` is valid **after** the July 16, 2026 policy change.

## Transition and monitoring costs (easy to forget)

- [ ] **Lifecycle transition requests** are billed per object transitioned (priced as Lifecycle Transition requests on the S3 pricing page — not free).
- [ ] **S3 Storage Lens / Inventory:** Re-run after enabling day-0 rules; confirm objects landed in the expected class and that small-object prefixes did not spike effective $/GB.
- [ ] **Retrieval monitoring:** Enable request metrics or analyze access logs on IA prefixes. A dashboard that GETs 10% of an IA bucket monthly adds **$0.01 × retrieved GB** — often more than the storage delta you saved.

## When NOT to use day-0 IA

| Signal | Prefer instead |
| ------ | -------------- |
| Objects deleted or overwritten within 30 days | Stay on **Standard** until churn drops |
| Average object size well under 128 KB | **Compact** objects; or **Intelligent-Tiering** |
| Unpredictable access (sometimes hot) | **S3 Intelligent-Tiering** (no retrieval fee between frequent/infrequent tiers) |
| Need single-AZ cost but may need AZ failover | **Standard-IA**, not One Zone-IA |
| Compliance requires immediate Glacier / Object Lock tier | Target **Glacier IR / Flexible** with its own minimum durations (90/180 days) |

## Validate in your account

1. Pick one cold prefix; enable day-0 Standard-IA on a **canary bucket** first.
2. After 7 days, compare S3 Storage Class Analysis or Storage Lens: `% bytes in Standard-IA` vs baseline.
3. Model the bill with [S3 Lifecycle Optimizer](/tools/aws-s3-lifecycle-optimizer/) and [S3 Pricing Calculator](/tools/aws-s3-pricing-calculator/).
4. Download the companion [before-after-lifecycle-cost.csv](./before-after-lifecycle-cost.csv) and plug in your TB volume and retrieval %.
