<!-- llms-explorer concept facts · https://llms-explorer.com/tree/auto-scaling-min-max-bounds-and-terraform-drift/ · pack 2026-10-31 · ~1443 tokens -->

# Auto-scaling min/max bounds and Terraform drift

> Source-anchored research for Auto-scaling min/max bounds and Terraform drift. Run status: COMPLETED.

Parent: [Atlas Cost Planning: Region Pricing, Estimation, Scheduled Scaling and Competitor TCO](https://llms-explorer.com/tree/atlas-cost-planning-region-pricing-estimation-scheduled-scaling-and-competitor-tco/) · 4 facets · 13 facts · page: https://llms-explorer.com/tree/auto-scaling-min-max-bounds-and-terraform-drift/

## Structure and components

- A bounds change can use one request or Terraform apply when the proposed range still contains the current effective tier. (medium confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/cluster-autoscaling-operations.md)

## How it works

- Atlas permits a minimum and maximum compute tier to protect performance and control cost; its architecture guidance qualifies the usual range constraint because storage requirements can cause compute and storage to scale together. (medium confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/architecture/current/scalability.md)
- The advanced_cluster provider requires compute_max_instance_size when compute_enabled is true, and compute_min_instance_size when compute_scale_down_enabled is true. Explicit bounds and scale-down settings express the intended scaling policy. (high confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/terraform-provider-mongodbatlas/blob/master/docs/resources/advanced_cluster.md)

## Problems, failure modes and limitations

- With effective-field behavior enabled and auto-scaling remaining enabled, changing instance_size together with bounds cannot bring an out-of-range running tier into the proposed range: Atlas validates against the existing effective size. First disable auto-scaling and apply an instance size inside the new range, then re-enable scaling with the new bounds. A range that already includes the effective tier needs only one apply. (high confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/terraform-provider-mongodbatlas/blob/master/docs/resources/advanced_cluster.md)
- If a smaller tier cannot support current provisioned disk capacity or IOPS, Atlas Core refuses the downscale. At the configured maximum, it disables downward auto-scaling; otherwise, it raises the minimum tier to the current tier. Reclaiming data space alone does not establish eligibility for a smaller tier. (low confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/cluster-autoscaling-storage.md)

## Facts and statements

- PointFive recommends checking whether the minimum tier equals the current tier and whether scale-down is disabled: either setting can prevent the expected reduction in compute cost during quiet periods. (low confidence) (verified as of 2026-10-30) — [source](https://www.pointfive.co/efficiency-hub/inefficiencies/compute-auto-scaling-disabled-or-bounded-at-launch-tier-on-mongodb-atlas-clusters)
- For a range excluding the running tier, the provider documents disabling auto-scaling and applying a tier inside the intended range before re-enabling auto-scaling with the new bounds; its workflow also covers disabling disk auto-scaling. (medium confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/cluster-autoscaling-operations.md)
- Before a bounds-change workflow disables disk auto-scaling, a nonzero advanced_configuration.oplog_min_retention_hours must be set to 0 in an earlier apply; otherwise Atlas can return OPLOG_MIN_RETENTION_HOURS_NO_DISK_AUTO_SCALING (HTTP 400). (low confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/terraform-provider-mongodbatlas/blob/master/docs/resources/advanced_cluster.md)
- Terraform can revert Atlas-managed runtime sizing during a later apply unless the configuration accounts for auto-scaling drift. For older lifecycle-based configurations, ignore only the runtime sizing attributes whose ownership is delegated; ignoring the entire resource also suppresses policy updates. (high confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/terraform-provider-mongodbatlas/blob/master/docs/resources/advanced_cluster.md)
- Terraform ignore_changes still uses listed attributes at creation and ignores them for updates; ignoring all attributes prevents all planned updates, so blanket exclusions would also surrender Terraform management of bounds. (low confidence) (verified as of 2026-10-30) — [source](https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle)
- A minimum tier equal to the launch tier prevents scaling below that tier. PointFive recommends comparing tier history with CPU and memory metrics and lowering the minimum only to a tier that meets off-peak performance needs. (low confidence) (verified as of 2026-10-30) — [source](https://www.pointfive.co/efficiency-hub/inefficiencies/compute-auto-scaling-disabled-or-bounded-at-launch-tier-on-mongodb-atlas-clusters)
- Atlas Core storage growth can override a configured maximum compute tier: Atlas raises the maximum to a tier that supports the new storage, scales to it, and disables automatic downscaling. The maximum tier is therefore not an unconditional spending cap. (medium confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/cluster-autoscaling-storage.md)
- Atlas Core automatically increases provisioned storage only; disk reduction is manual. Do not infer automatic provisioned-disk shrinkage from lower disk usage after a reclaim operation. (low confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/atlas/cluster-autoscaling-storage.md)
