AWS RDS or EC2 for SQL Database

aaronk

Well-Known Member
Licensed User
Longtime User
Hi,

Just wondering what peoples thoughts are of using AWS RDS or EC2 for a SQL database.

The AWS RDS database is setup as soon as I create the RDS instance so no need to install anything etc. The EC2 would require me to setup and config the SQL database and requires a little more work than the RDS.

As an example on prices (used the t3.small as an example):
RDS db.t3.small
$420 (3y Reserved Instance)
Works out to be $11.66 per month

EC2 t3.small
$206 (3y Reserved Instance)
Works out to be $5.72 per month

Difference of $214 (saving of 5.94 per month) if I use the EC2 rather than the RDS. So it works out a bit cheaper to use an EC2.

From my understanding, the RDS is a managed database by AWS so they will do all the patches, updates etc and the EC2 is managed by yourself..

RDS:
  • It allows you to outsource tasks like provisioning of the database, updating versions, and security to Amazon.
  • RDS allows you to focus on important tasks like performance tuning and schema optimization of your database.
  • You wouldn’t have to manually set up database mirroring and failover clusters because you get highly optimized database solutions and synchronous Multi-AZ replication.
  • At times of disaster, you don’t have to worry about managing your backups as RDS automates this process.
EC2:
  • It gives you full control over your database, OS and software stack.
  • EC2 allows you to hire your own database administrators. They will help you manage your database by looking after backups, replication, and clustering.
  • You can use SQL Server features that are not currently supported by Amazon RDS.
  • It allows you to exceed your maximum database size and performance needs.
  • With EC2, you can set up a disaster recovery solution in SQL Server with AWS as the source.
I understand that the RDS I can't run my B4J app on it (as it would require the EC2), I am only wanting to know about the database side of things.

Just trying to work out what others have used in the past, and if people would recommend an EC2 and install SQL by yourself, or go down the path of using an AWS RDS database instance ?
 

andymc

Well-Known Member
Licensed User
Longtime User
Have you accounted for disk costs with the EC2? You may also have local VPC network traffic costs. The advantage of having the EC2 to run other programs on, such as aB4J services is a big one though.
They may also be some licencing costs on the EC2 for SQL Server? I'm not sure.
 

OliverA

Expert
Licensed User
Longtime User
How much time do you have to manage the stack (DB, OS, software) yourself? What would it be worth to you to have that handled by someone else?
The advantage of having the EC2 to run other programs on, such as aB4J services is a big one though.
I've (long time ago) been able to run B4J applications (including ABMaterial apps) via Beanstalk (and Beanstalk integrates with RDS). No messing with OS updates, EC instances, etc. Once more, tradeoff in flexibility, but again, how much would it be worth not having to fool with all the below application layer stuff?
 

aaronk

Well-Known Member
Licensed User
Longtime User
Have you accounted for disk costs with the EC2?
Good point. I didn't look at that part.

EC2 t3.small
$206 (3y Reserved Instance)
Plus $3 per month for 30GB storage.
Total $314 (Works out to be $8.72 per month)

RDS db.t3.small
$420 (3y Reserved Instance)
Plus $3.45 per month for 30GB storage.
Total $544.20 (Works out to be $15.11 per month)

Difference of $230.20 (extra $6.38/month if I use RDS)

I guess I need to decide if $6.38/month difference is worth AWS to manage the database instance for me.

They may also be some licencing costs on the EC2 for SQL Server?
SQL will be free from what I can see. I think you only get charged if it's SQL Server Express/Web, and not MySQL.

I have a VPS with another hosting company (now starting to move to AWS so I can expand) and it doesn't cost for the SQL licence since it's MySQL which I think what I will use.

How much time do you have to manage the stack (DB, OS, software) yourself? What would it be worth to you to have that handled by someone else?
Managing it wouldn't be an issue from what I can see. I already do this with a VPS I have running.

I am going to be using an EC2 instance as well to run my B4J app, but just trying to work out how I run the database, if I run it on an EC2 or RDS or another way. Just seeing what others have done or if anyone has a better way before I commit. Good to see some feedback as there is a few things I forgot to check :)
 
Top