Skip to main content
rightsizing · aws

SageMaker Endpoint Low Invocations

resource types
1
rule IDs covered
1
severity
medium

What does ZopNight detect here?

Low-traffic SageMaker endpoints get a one-tier-smaller ml.* downsize: in service, uncommitted, with per-day invocations above zero but under the low-traffic ceiling across a covered 30-day window. ZopNight prices savings as cost times (1 minus target/current rate), refusing GPU and floor SKUs; the old fabricated 30% fallback is gone.

Signal and threshold

How ZopNight evaluates SageMaker Endpoint Low Invocations.
Field Value
Rule IDsRC-1501
Categoryrightsizing
Severitymedium
Metricnone — pure configuration read
Sourcesagemaker_endpoint_rightsizing.go

When endpoint traffic is low but not zero

  • resource.Type: sagemaker-endpoint, Status inservice
  • metric (authoritative, A1): Invocations / InvocationsPerInstance (AWS/SageMaker, VariantName dim) via SetMultiMetrics, read instead of the never-populated invocations_low tag (which was tag-gated-dead; no producer writes it). The legacy invocations_low=true tag remains only as a documented secondary fallback when the metric series is unavailable. in-service endpoint AND not covered by a Reservation/Savings Plan (reservationCoverageMap, keyed by resource UID, the same fleet-wide map RC-1611/RC-1613 use; on-demand rate deltas overstate the true saving on committed endpoints) AND measured invocation traffic is low-but-nonzero, read from the Total-only InvocationsSum series, whose days-of-history is gated via sumStatCoverageDays(m) ≥ MinMaxCoverageDays (this SUM/avg band is the only band a Aggregation:“Total” series populates; its MaxCoverageDays is structurally 0, so the prior MaxCoverageDays gate was permanently false and the rule never fired), with the low-traffic test on the true per-day rate (Σfinite datapoints / windowDays, 0 < perDay ≤ sagemakerEndpointLowInvocationsPerDay), never on the ~1.0 Average statistic, AND a concrete one-tier-smaller ml.* target exists AND both the current and target rates are present in the SKU map AND positive cost. Exactly-zero traffic (Average == 0) is excluded: that is RC-1613’s delete case, not this downsize case; without the exclusive lower bound a present-reading-exactly-zero series would co-fire both rules with contradictory levers on the same resource.

Pricing a one-tier-smaller ml.* downsize

real-Δ-or-abstain (user directive 2026-06-27: no flat-fraction fallback for a cost rule). ml.* SKUs are priced separately from raw EC2 in the catalog, so look the full ml.<family>.<size> key up directly: savings = cost × (1 − dst/src) computed inline (the DeriveCatalogDiffSavings formula, no fraction-fallback escape hatch). Abstains (returns nil) when targetSuggestion yields no concrete one-tier-smaller ml.* rung (floor SKUs, GPU SKUs, where suggestSmallerEC2 refuses any GPU rung, non-ml.* prefixes, unknown families), when either rate is missing, or when the math is degenerate (dst ≥ src). These are exactly the branches where the old model.RealDeltaSavings → DeriveCatalogDiffSavings path fabricated a flat 30% of cost. RecommendTarget: the cert-only sagemakerEndpointFloorUpsize (which turned a floor SKU into a cost-increasing larger SKU) is removed (2026-06-26; mirrors RC-004/RC-1207); a floor/off-ladder/non-ml.* SKU returns nil so the resize template skips a no-op workflow.

Downsizing the endpoint safely

  1. Review CloudWatch InvocationsPerInstance metric
  2. Consider downsizing to a smaller instance type
  3. Evaluate SageMaker Serverless Inference for sporadic traffic
  4. Use auto-scaling policies to match capacity to demand

The invocation series behind the check

Invocations + InvocationsPerInstance, 30-day lookback (MultiMetricsAware)

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·