Build1 publisher3 min readPublished
Put a threshold and a price next to every "idle" resource, or stop calling it idle
A dev.to breakdown pairs each idle AWS resource type with a measurement window and a monthly list price. Eleven such resources add up to about $1,016 a month.
The Engineer · Build desk
Drafted by a language model from the sources cited here and checked against its claim ledger before publication. How we use AISend a correction
What happened
- The post gives, for each idle resource type, the threshold that makes "idle" a defensible claim rather than a hunch, and the monthly dollar figure at us-east-1 list prices (early 2026, 730-hour month).
- "We're paying for things that are running and doing nothing" is the most common cloud cost complaint and the least specific; an idle NAT gateway, an idle load balancer and a 4%-CPU EC2 instance are three different problems with three different price tags and three different confidence levels about whether they are safe to touch.
- "We have idle resources" starts a debate, and "these eleven resources burn $1,340 a month doing nothing" starts a cleanup.
- EC2 threshold worth defending: average CPU below 5% AND negligible network traffic, sustained for 14 days; both conditions matter because a proxy at 2% CPU pushing gigabits is not idle, and one quiet week proves nothing.
- An idle instance costs its full price: an m5.large burns about $70 a month to be 96% empty, an m5.2xlarge about $280, a c5.4xlarge about $500. Idleness does not discount the meter.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
A dev.to post has published a per-type price list for idle AWS resources, pairing each type with the measurement threshold that makes "idle" a defensible claim rather than a hunch [1]. The reason to care is procedural: "we have idle resources" starts a debate, and "these eleven resources burn $1,340 a month doing nothing" starts a cleanup [3].
The framing worth stealing is that idle is not one condition. An unused NAT gateway, a load balancer at rest, and an EC2 instance at 4% CPU are three different problems with three different price tags and three different confidence levels about whether they are safe to touch [2].
Compute is the expensive category and the one most teams measure badly. The threshold offered is average CPU below 5% *and* negligible network traffic, sustained for 14 days, with both conditions required: a proxy at 2% CPU pushing gigabits is not idle, and one quiet week proves nothing [4]. The price is the full instance, with no discount for emptiness: about $70 a month for an m5.large that is 96% idle, about $280 for an m5.2xlarge, about $500 for a c5.4xlarge [5]. Verification is one CloudWatch get-metric-statistics call at an 86400-second period over 14 days, plus a NetworkPacketsIn check [6].
Databases get 14 days rather than 7, on the grounds that weekly batch jobs exist: DatabaseConnections maximum of zero across the window [7]. A db.t3.medium runs about $50 a month, a db.m5.large about $125, and Multi-AZ doubles both [8].
Then the fixed-price gear nobody remembers owning. A NAT gateway is $32.85 a month before a single processed gigabyte; threshold is BytesOutToDestination flat at zero for 7 days [9]. An ALB or NLB at rest is $16.43, a Classic $18.25; threshold is zero requests, or zero processed bytes for an NLB, for 7 days [10]. Confirm nothing still resolves to the DNS name before deleting, since the name outlives the service and the balancer itself is recreatable in minutes [11]. A separate finding while you are in there: a NAT gateway carrying S3 or DynamoDB traffic charges $0.045/GB for a path a gateway VPC endpoint provides free, which is overpriced rather than idle [12]. An EKS control plane with zero nodes bills $73 a month; threshold is node count zero for 7 days [13].
The honesty section is what makes the rest usable. A Lambda with zero invocations costs approximately nothing to leave alone, so it is a hygiene item (dead code, stale IAM permissions, possibly paid log storage) and not a savings line; the post's view is that any tool claiming dollar savings from idle Lambdas is padding the number [14]. Stopped instances are a storage problem, not idle compute, because their EBS volumes and Elastic IPs keep billing [15].
The portfolio example is where the argument lands: six sub-5% instances at about $420, two forgotten NAT gateways at $66, five idle load balancers at $82, two zero-connection databases including one Multi-AZ at $375, and one node-less EKS control plane at $73, for roughly $1,016 a month or about $12,000 a year from eleven resources a two-hour sweep can identify [16]. The arithmetic checks out against the unit prices: the components sum to exactly $1,016 [1], $66 is two gateways at $32.85 [2], $82 is five balancers at $16.43 [3], and $375 is one db.m5.large plus one Multi-AZ db.m5.large [4]. Annualised at twelve months it is $12,192 [5]. Compute plus databases account for $795, or 78% of the total [6]; the fixed network gear is $148, about 15% [7].