Why use RDS over EC2 for Postgres?

Like most things, it's a cost vs effort/complexity trade-off.

RDS is easier, but less flexible, and costs more for the same level of performance.

(In particular, note that there's no way to replicate into or out of RDS)


For a single instance comparison, not much, but RDS has many advantages, maintenance of a multi-AZ setup with read replicas in different regions, etc. is more than I'd prefer to deal with in EC2. RDS does a tremendous amount of tooling you'd otherwise have to do yourself; this is always a plus. RDS also presents a uniform interface to your databases, in my view a considerable advantage as well as it helps enforce consistency in deployment of databases. We still use pgbouncer on an instance of course.

I'd frankly prefer to run databases on coloc hardware than in EC2. I hate running databases in EC2. Moving them around, doing dumps and backups is nightmarish as the i/o performance of ec2 is simply miserable and buying lots of iops is hideously expensive and still doesn't approach hardware performance in any way. If I can live with the limits of RDS I'm always going to use it.