Back when RDS did not have Postgresql supported, our dev team build something similar on top of EC2, EBS, Wal-e (S3) and XFS.
It was a lot of work to get all the moving parts working nicely; lot of testing to perfect all procedures and I can tell you, it was no fun at all when we got the instance shutdown email notification from AWS (or if you wanted to spin a new server from snapshot / upgrade instance type, ...)
Here's a list of things that you get with RDS:
- Somebody else will make sure that failover, snapshotting, backup recovery work. If you use EC2 this is going to be something you need to test periodically (unless you like bad surprises)
- Automated failover election mechanism
- Logging integrates with S3 out of the box
- Proxy (no need to run your own pgbouncer anymore)
- Engine upgrades work with replicase and multi-az failovers
The list is much longer than this but my point is: the amount of overhead that comes with running PG on EC2 is high and does not improve that much over time (probably the opposite is true if you consider that developers/DBAs come and go).