Skip to main content
compliance · aws

Production ECS clusters running with Container Insights switched off

resource types
1
rule IDs covered
1
severity
low

What does ZopNight detect here?

ZopNight flags an ECS cluster only when the cluster's own settings report Container Insights as explicitly off, and only outside dev/test environments. In one account audit, 58 of 97 findings landed on uat and perftest clusters. Missing settings data abstains, and the finding itself carries $0.

Signal and threshold

How ZopNight evaluates Production ECS clusters running with Container Insights switched off.
Field Value
Rule IDsRC-1505
Categorycompliance
Severitylow
Metricnone — pure configuration read
Sourceecs_container_insights.go

Why a cost tool cares about missing observability

Rightsizing is only as good as the task-level data behind it. A cluster without Container Insights publishes none of the per-task CPU, memory, and network series, which blinds both troubleshooting and any later rightsizing pass over the services it runs. The finding ships at $0 on purpose: enabling Insights adds CloudWatch ingestion cost rather than removing anything, so this is a low-severity compliance nudge, never a savings claim.

The settings probe, not a tag

Discovery calls DescribeClusters with the SETTINGS include and records the cluster’s containerInsights setting as an explicit true or false. The rule fires only on an explicit false. When the key is absent (the settings were never probed, perhaps a permission or transient failure) the rule abstains, because absence means “not probed”, not “off”. An earlier version keyed on a customer tag that no producer ever wrote and therefore could never fire; the settings value is authoritative and tags are ignored entirely.

Dev/test suppression, prod override

Container Insights bills per custom metric ingested, so recommending a paid observability add-on on a throwaway cluster adds cost off-mission. In one account audit, 58 of the 97 findings this rule produced sat on uat, sit, and perftest clusters. A dev/test-looking cluster name or a dev/test environment tag now suppresses the finding. One thing overrides the suppression: an explicit production environment tag. A cluster tagged prod gets flagged no matter how its name reads.

Inspecting a cluster’s Insights setting

Terminal window
aws ecs describe-clusters \
--clusters my-cluster \
--include SETTINGS \
--query 'clusters[0].settings'

A containerInsights value of disabled is the state the rule reports on. An empty settings list means the account default applies, so check aws ecs list-account-settings --name containerInsights.

Turning it on where it pays for itself

Enable Container Insights under the cluster’s Monitoring settings, then give the new task-level dashboards a week before acting on them. The per-task-per-hour metric charge is real, which is exactly why the rule points at production clusters first: that is where the rightsizing decisions it unlocks are worth more than the ingestion bill.

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·