Build1 distinct publisher3 min readUpdated
A June 2026 AWS audit found the biggest fixed line was a framework default, not a feature. The test that caught it was pricing each charge at 100x usage instead of today's.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
A single-operator AWS bill got audited in June 2026, and the biggest fixed line on it was not a feature anyone shipped: two NAT Gateways that the CDK default had stood up unasked, billing $58 to $66 a month [1][2]. The review question that surfaced it is worth stealing, according to the write-up published on dev.to: not what a charge costs this month, but what it costs after usage grows 100x [3].
The inventory of offenders was almost entirely infrastructure side effect rather than product: the NAT Gateway, an Amplify app that was only building, a health-check Lambda firing every 15 minutes, and 820,000 rows of junk data piled up in a dev environment nobody was watching [4].
The NAT case is the cleanest illustration of a default quietly becoming a design decision. The stack ran browser monitoring on ECS Fargate, and because no VPC was declared to CDK, an implicit VPC appeared and with it two NAT Gateways, one per Availability Zone [5]. That is roughly $29 to $33 per gateway per month [6], or $696 to $792 a year for a relay that bills for existing [7]. It also exceeded the Lambda and DynamoDB spend for that dev-only workload combined [8], and the fixed egress IP it provided bought nothing, because there was no IP allowlist to satisfy [9]. The fix was declaring the VPC with natGateways set to 0, a single public subnet, and Fargate tasks assigned public IPs and routed out directly; the charge went away [10]. The author describes the line as $64 today and notes NAT cost grows in proportion as you add AZs and products [11]. Run the stated multiplier on it and the same shape is $6,400 a month [12].
The other two items follow the same pattern. A Cost Explorer breakdown put 87 to 89 percent of the Amplify bill in build time, with runtime at only $3 to $7 a month [13], which means the fixed relay alone was running somewhere between 8 and 22 times the cost of actually serving the site [14]. The author stopped the git-linked auto-build and switched to promoting a single built artifact [15]. Separately, $47 a month of DynamoDB reads turned out to be generated by the monitoring Lambda itself, which re-counted a 1.22GB index in full every 15 minutes [16]: 96 full passes a day, roughly 2,880 a month [17], a charge that scales with stored data rather than with traffic. NAT plus that read line came to $105 to $113 a month, about $1,260 to $1,356 a year [18], on a portfolio where the products other than the main news-curation platform each cost under a few dollars a month [19].
One caveat from the same review deserves its own line: the cost dashboard being used was inflating one provider's charge by 100x [20]. A number is a claim about a system, and it can be wrong by more than the thing you are chasing.
Worth running in your own account: synthesise the IaC and read the resources you never named, implicit VPCs first, because serverless does not automatically mean zero fixed cost [21]; check whether your monitoring is the largest consumer of the thing it monitors [16]; and split any build-and-host bill into build versus serve before optimising the half that is already cheap [13].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
In June 2026 the author began reviewing their AWS bill, with the stated goal of not shaving a few dollars off the current month.
The biggest fixed cost was not a product feature but a NAT Gateway that the infrastructure-as-code default stood up on its own: if natGateways is not set explicitly, two are created, one per Availability Zone, costing $58-66 per month.
The author's framing was that even a charge of a few dollars today becomes a heavy fixed cost once usage grows 100x, so the future amount was pictured first and the infrastructure shaped to fit.
The items eating the money were a NAT Gateway quietly stood up by CDK, an Amplify app that was only building, a health-check Lambda that ran every 15 minutes, and 820,000 rows of junk data piled up in a dev environment nobody was watching.
The stack ran browser monitoring on ECS Fargate; because the author had not declared a VPC to CDK, an implicit VPC was generated and two NAT Gateways stood up, one per AZ, at $58-66 per month.
The NAT fixed cost was higher than the Lambda and DynamoDB charges for the dev-only workload combined, which the author calls an inversion.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single self-reported practitioner audit with concrete numbers but no external corroboration
All figures, the CDK behaviour, and the post-fix disappearance of the charge come from one dev.to author's account of their own account bill. The write-up is specific (dollar ranges, 1.22GB GSI, 87-89% build share, working code) which raises it above anecdote, but there is no vendor pricing documentation, invoice, or second source in the cluster, and the article text is truncated before the fourth finding is fully described.
One developer's own environment; no third-party uptake
Adoption evidence is limited to the author applying the changes to their own stacks: a CDK redeploy with natGateways: 0 and public-subnet Fargate egress, and per-environment manual-deploy Amplify apps. No other team, organisation, or vendor guidance in the cluster reports following the practice, and no post-change bill total is disclosed.
Mechanism is well documented; the 100x framing and headline generalisation run ahead of the evidence
The specific findings are modest and matched by the author's own measurements, so the overstatement is small. It is positive rather than zero because the framing extrapolates a $64 monthly charge to a $6,400 hypothetical and presents a single-environment audit as a general rule about serverless fixed costs, while no verified savings total, security trade-off analysis, or independent pricing confirmation is offered.
Personal-platform post promoting the author's own products and engineering judgement
The piece is published on a developer community platform by the operator of the systems described, and it references their portfolio - a news-curation platform, an uptime-monitoring SaaS, static sites and small SaaS - which creates a mild reputational and promotional interest in presenting a clean audit narrative. There is no disclosed vendor sponsorship, affiliate arrangement, or paid placement in the supplied material, so the incentive level is moderate rather than high.
Internally consistent single-source account of a plausible, reproducible mechanism
Confidence is moderate: the described CDK default behaviour, the code-level fix, and the self-referential monitoring cost are internally coherent and the kind of thing a reader can reproduce, which supports the mechanism. It is held down by having exactly one publisher, one first-person observer, self-reported dollar figures, a truncated article body, and no independent verification of either the pricing or the claimed savings.
build
Put a threshold and a price next to every "idle" resource, or stop calling it idle1 distinct publisher
build
DynamoDB vector indexes remove the second datastore, and the GSI permutation trap with it1 distinct publisher
build
Two mechanisms, one vCPU floor: why db.t3.micro cannot meet a 1-second RPO on RDS1 distinct publisher
build
CDK now validates every synthesized template, and your synth logs will say so1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 20, 2026