AWS DMS for Simple CDC Pipelines
Summary
AWS DMS (Database Migration Service) gets overlooked as a CDC tool because the marketing is all about migrations. For simple change data capture it works well, and it barely needs configuring thanks to native Aurora Postgres support. I only pull in something heavier once I need exactly-once delivery, sub-second latency, or the like.
AWS DMS (Database Migration Service) gets overlooked as a CDC tool because the marketing is all about migrations. For simple change data capture, though, it works well, and I keep reaching for it.
A few things make it easy. Native Aurora Postgres support means I barely have to configure anything. Because it's managed, there's no infrastructure to babysit and scaling I don't have to think about. And it invokes Lambda directly for each change event while handling light transformations during replication. Compared to standing up Debezium and Kafka, the operational overhead is tiny.
The pipeline I usually build looks like this:
Aurora → DMS (CDC mode) → Lambda → Target System
I reach for it on internal tools at moderate scale, when I want something simple and maintainable, and when the team doesn't have much infrastructure support to spare. It's also good for a POC that needs room to grow later.
Where it falls down is the sharper stuff: complex event routing or filtering, exactly-once delivery, multi-region distribution, sub-second latency. The moment one of those is a hard requirement, DMS is the wrong tool and you're back to the heavier setups.