Skip to main content
schedule · aws

Dev/Test Aurora -- Switch to Serverless v2

resource types
1
rule IDs covered
1
severity
medium

What does ZopNight detect here?

Dev and test Aurora clusters named dev, test, qa, staging, or sandbox get an off-hours pause schedule instead of a vague Serverless v2 advisory. ZopNight prices savings as member-instance compute times the measured idle fraction, clamped to 1. Storage keeps billing while paused, so only compute counts.

Signal and threshold

How ZopNight evaluates Dev/Test Aurora -- Switch to Serverless v2.
Field Value
Rule IDsRC-191
Categoryschedule
Severitymedium
Metricnone — pure configuration read
Sourceaurora_serverless.go

Gates a dev or test Aurora cluster must clear

  • resource.Status: from DescribeDBClusters (rds_cluster.go); abstains when set and not available (covers stopped and transitional states such as creating/deleting/backing-up/failed). A stopped or transitional cluster runs no compute, cannot be meaningfully scheduled, and (per AWS) is billed only for storage/snapshots while stopped, so both actionability and the pricing baseline are wrong until it’s available again. Empty/unknown status does not suppress (fail-open on unknown, parity with RC-190).
  • Metadata: engine_mode; abstains when already serverless (MetadataStateMatches; the old hasTag(Tags,“engine_mode”,…) guard was inert because the discoverer writes engine_mode to Metadata). Serverless v2 is also skipped (isAuroraServerlessV2): SV2 keeps engine_mode provisioned but already scales to near-minimum ACUs when idle, so an off-hours pause is the wrong lever.
  • resource.Name: dev/test pattern (dev, test, qa, staging, sandbox), and not a production pattern (prod, production, live, prd).
  • ScheduleData (aggregator heatmap, RC-093 path) keyed by UID; carries the measured off-hours idle fraction.
  • member-instance compute cost: members resolved via ParentUID over evalCtx.Resources and priced from the injected pricing map (abstains when that basis is unavailable or ≤0).

Why only member compute drops when the cluster pauses

concrete-or-abstain, re-keyed from the prior $0 “switch to Serverless v2” advisory to the schedule lever (pause/resume off-hours). Member-compute basis (misattribution fix): the aggregator prices a provisioned Aurora cluster row as storage only (calcRDSCluster; member compute lives on the child rds rows), and Aurora storage keeps billing while a cluster is paused, so savings = memberCompute × clamp(ScheduleData.IdlePercentage, 0, 1) (not pricing[cluster_uid] × IdlePercentage, which credited a cost component that does not drop with the pause). The idle fraction is upper-clamped to 1 so a malformed heatmap value can never push the saving above the pauseable member compute, making the guarantee savings ≤ memberCompute explicit, the same ceiling the service-layer per-UID clamp would enforce if this rec were booked on the member UID. CurrentCostUSD = memberCompute + cluster storage price when known; only the compute share scales with the schedule. Abstains when ScheduleData is absent, IdlePercentage ≤ 0, or the member-compute basis cannot be established (no fleet view / no member rows / members unpriced). No fabricated flat fraction, no $0/advisory rec. (The Serverless v2 migration is mentioned only as secondary remediation guidance.)

Applying the off-hours pause schedule

  1. Review the recommended off-hours schedule (Start/Stop/Timezone from ScheduleData)
  2. Apply it from this recommendation to pause/resume the Aurora cluster automatically
  3. For bursty workloads, also evaluate migrating to Aurora Serverless v2 so capacity scales to near-zero ACUs during inactivity

Why the schedule heatmap replaces metrics

None (uses ScheduleData)

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

417 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

417 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·