- Newest
- Most votes
- Most comments
Hello.
If you want to use a relational database on AWS, you will use EC2 or RDS.
In the case of EC2, you need to install the database yourself on an OS such as Linux.
For RDS, simply select the database engine you wish to use and start it.
RDS is a fully managed database service, where AWS automates tasks related to database management and operation. EC2, on the other hand, is a self-managed service that provides virtual machines, and the user manages the operating system and software.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html
Basically, we recommend that you choose RDS.
In addition, the following database engines can be used with RDS.
MariaDB
Microsoft SQL Server
MySQL
Oracle
PostgreSQL
Since it was for testing, we did not consider availability and quoted a single AZ.
Running it at the specs you want to use for a month would be about 64.36 USD.
https://calculator.aws/#/estimate?id=8838a2636e71961eeff500ff8535e5a51a67a206
Config Summary
Storage for each RDS instance (General Purpose SSD (gp3)), Storage amount (128 GB),
Quantity (1),
Instance type (db.t3.medium),
Utilization (On-Demand only) (100 %Utilized/Month),
Deployment option (Single-AZ),
Pricing strategy (OnDemand)
Hey Atif, I believe this link could be helpful during your AWS Journey https://skillbuilder.aws/roles#devops-engineer, there are several free trainings in related your needs.
Hi,
i'd suggest to choose a serverless architecture with corresponding services:
- AWS Lambda for Compute
- RDS Aurora Serverless for database
Why? Because those fully AWS-managed services will take care of the "undifferentiating heavy-weight lifting" for you: patching, scaling, resilience, etc. is all done by them instead of your team spending time on them.
Additionally, they are based on pay-as-you-use model: so, during the dev and ramp-up period, you will get minimal invoices.
Finally, I think that Lambdas are very key re. security (especially for healthcare industry): you can have lots of them implementing very granular features and you can then apply distinct permissions to them. It's harder to do on a monolithic EC2-based architecture.
See https://aws.amazon.com/serverless/ and https://aws.amazon.com/serverless/faqs/?nc=sn&loc=3 and https://docs.aws.amazon.com/whitepapers/latest/optimizing-enterprise-economics-with-serverless/understanding-serverless-architectures.html
Best,
DIdier
Depending on your requirements I think there's a lot of great AWS services you can leverage on to achieve your business goals!
You mentioned "test" environment and tagged this question with "Devops" so i assume you are setting up a pipeline! you can definitely consider containers (ECS Fargate/ECR) coupled with codepipeline as well as RDS to scale up/down as per your demands. (ie: dynamic test environments)
Some resources that might help you: **Fargate getting started guide: **https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started-fargate.html ECR documentation: https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html CodePipeline quick start: https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html **RDS creating a DB instance: **https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html
Happy to help! Brian
Relevant content
- Accepted Answerasked 3 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
Hi Riku, Thanks for your quick reply. If I am understanding correctly your suggestion is to use RDS for MySQL. It means we still need EC2 for example for deploying our application (it is JAVA based) and for webservice like Tomcat etc. Can you please suggest what is equivalent of 2cpu, 4GB RAM in EC2. I am confused with so many options like M7, M5, T2, T3 etc. and approximate cost of running these instance. Rally appreciate your help.
For EC2, we assume that t3.medium will cost about 40.61 USD per month. https://calculator.aws/#/estimate?id=93aeb09bcefe910571021f0f4743bfad5a61da33
The following documentation may be helpful for instance types. For test environments, a smaller instance type such as T3 is recommended. For environments that require performance, such as production environments, it is recommended to select a larger instance type such as M6. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose-instances.html https://aws.amazon.com/ec2/instance-types/?nc1=h_ls