Bedrock Marketplace model endpoints with a zero-invocation SageMaker series for 30 days
What does ZopNight detect here?
ZopNight flags Amazon Bedrock Marketplace model endpoints whose `Invocations` series in the `AWS/SageMaker` namespace is present and all zero for 30 days. Each Marketplace endpoint runs on SageMaker AI instances that are charged for the instance type chosen, so deleting an idle one recovers its full monthly cost.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-1632 |
| Category | idle |
| Severity | high |
| Metric | Invocations |
| Threshold | zero invocations, series present |
| Evaluation window | 30d |
| Source | ZopNight |
| Permissions used | bedrock:ListMarketplaceModelEndpoints · bedrock:GetMarketplaceModelEndpoint · cloudwatch:GetMetricStatistics |
Where it applies
A Marketplace endpoint is a SageMaker endpoint you pay for by the instance
Amazon Bedrock Marketplace lets you subscribe to third-party models and deploy them to an endpoint managed by SageMaker AI, then call them through the Bedrock APIs. The endpoint is ordinary hosting capacity. For real-time inference, SageMaker pricing charges for usage of the instance type you choose, and those instances stay up as long as the endpoint exists.
That makes the cost profile the opposite of on-demand Bedrock models: nothing is saved by sending fewer requests. An endpoint deployed for an evaluation, then abandoned, bills exactly as much as one serving production.
Finding endpoints and checking their traffic
aws bedrock list-marketplace-model-endpoints \ --query 'marketplaceModelEndpoints[].[endpointArn,status]'
aws bedrock get-marketplace-model-endpoint --endpoint-arn <endpoint-arn> \ --query 'marketplaceModelEndpoint.endpointConfig.sageMaker.[instanceType,initialInstanceCount]'SageMaker endpoint metrics
are published per production variant, with EndpointName and VariantName as the dimension pair,
and Invocations is read with the Sum statistic:
aws cloudwatch get-metric-statistics --namespace AWS/SageMaker --metric-name Invocations \ --dimensions Name=EndpointName,Value=<endpoint-name> Name=VariantName,Value=<variant-name> \ --start-time 2026-08-26T00:00:00Z --end-time 2026-09-25T00:00:00Z \ --period 86400 --statistics SumThe evidence required
ZopNight needs an Invocations series for the endpoint that is actually present, covers the last
30 days, and shows zero in every datapoint. It also needs a positive monthly cost for the endpoint.
Both must hold before anything is raised.
Why a missing series never counts as idle
For this resource type, an absent metric series is not treated as proof of no traffic. The variant dimension that SageMaker metrics require is not something the Bedrock Marketplace endpoint listing returns, so a missing series can mean “not measured” rather than “not called”. Treating that as idle would produce a delete recommendation for busy endpoints too. When ZopNight cannot see a series, it says nothing, and in practice that means these endpoints are not evaluated today. Checking the metric by hand, as above, closes the gap.
Recovering the whole endpoint cost
saving = monthly endpoint cost (instance type rate x instance count)cost after deletion = 0Tearing down an unused endpoint
- Confirm no application, agent or knowledge base calls the endpoint ARN.
- If the model must stay deployable, record the owner and the reason for keeping it warm.
- Delete it:
aws bedrock delete-marketplace-model-endpoint --endpoint-arn <endpoint-arn> - Redeploy from the Marketplace subscription when the model is next needed.