We were pulling in millions of emails from the past few years, so we had to do a larger size RDS and we were killed on the IO charges.
We are now just on a medium sized EC2 server.
Do you have suggestions for better ways of doing this?
If you're willing to post a bit more details, I'm sure people could give you some more detailed options. You basically switched from a fully-managed database solution to a fully DIY solution, and I honestly think you might have just over provisioned the RDS instance. I'm willing to bet you can switch back to RDS and get all the benefits there while remaining within budget. You can get a 1-year reserved t3.medium RDS instance with 50 GB of storage for $40/month.
What was our specific server size and setup and costs with RDS? We were using db.t3.medium (1 CPU, 2 vCPU, 4GB RAM), we were using a DB cluster that has 2 instances db.t3.medium overall cost (~$118 monthly) And now with EC2? We are using c5d.xlarge (4 CPU, 20 ECU, 8GB RAM), we are using one instance c5d.xlarge overall cost (~$140 monthly) What was the big cost savings? Our main issue was in I/O (Read and write), we have very high I/O demand so we was paying for I/O and storage (~$600) and the second issue is CPU credit (~$90 monthly) so the total save is ($600+$90+$118)-$140= $668 per month.
Also EC2 performance is better than RDS because we get a very good cheaper than RDS server.
Note: RDS is configuration less and has support while if you want to use EC2 then you need a person to do configuration and support for DB on it.
Also, if you're doing such heavy IO, you might want to also look at I3en instances, which have fantastic IO using local storage.