Guide 05. By Nicolas Dao

IoT ingestion into Postgres

5,000 devices send a reading every minute. Where does the money go?

For ingest-and-report, Postgres wins. The expensive part is the front door, not the database. Fix REST and per-message invocations, and the bill drops from about $1,100 to $215–410.

216M messages a month, Sydney, Postgres already running for other workloads.

Design Monthly
API Gateway REST → SNS → Lambda → Postgres $1,014–1,109 (REST alone $756, SNS $107.50, Lambda $88)
HTTP API → SQS → batched Lambda → Postgres ~$410
IoT Core Basic Ingest → SQS → batched Lambda → Postgres ~$215–230 (MQTT devices with certificates)
Durable Objects + history to R2 ~$70–235, but no SQL across devices
  • Keep Postgres: SQL across devices, one system, Sydney residency, compute shared with other workloads.
  • Fix the front door (HTTP API or IoT Core instead of REST) and batch into Lambda through SQS.
  • Watch storage: about 260 GB of growth a month, roughly $340 a month after a year.
  • Durable Objects only win when devices need live sessions: commands sent down, per-device real-time state, live dashboards.

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: