

In order to ensure a highly available, fault tolerant, scalable, and elastic arhitecture in AWS, I will walk you through provisioning a MySQL Clustered database that acts as the back-end for Apache Web applications. The high level architecture of the AWS Resources is as follows: It will also touch on some of the other resources that interact with the RDS Database in the main areas, networking, security, storage, and high availability. This blog post will walk you through creating a MySQL Database Instance with Multi-AZ Availability in Amazon Aurora. However, with EC2 and AWS resources in general, there is an ease of scalability, high availability, fault tolerance, and elasticity that is unmatched with any on-premise data center. With EC2, you could easily use an older version of your database software, but the biggest drawback is it requires a more involved approach to create the database and storage.

Whereas, EC2 is similar to what most DBAs and System Administrators are used to - using a SSH client to connect to a host server, downloading and installing software, and being able to control every facet of database and host maintenance and administration. One of the main limitations of RDS is that legacy versions of database systems and OS versions are not allowed. All you have to do is choose your options during instance creation, and your database will be available after a few minutes. With that level of automation, RDS does not allow access to a host server, connections to the database instances will be via tools, Identity and Access Management, and local tools such as MySQL workbench and PgAdmin. That means that tasks such as upgrades, backups, and snapshots are handled automatically without any user intervention (DBA). The main difference between creating an instance in RDS/Aurora versus in EC2 is that RDS and Aurora are fully managed services. Amazon Aurora is a fully managed MySQL database engine, the PostgreSQL compatible version of Amazon Aurora is fairly new and currently in the preview phase. The options range from a fairly simple and fully managed database instance in Relational Database Service (RDS) and Amazon Aurora, to a more involved setup process using Elastic Compute Cloud (EC2).

Amazon Web Services (AWS) offers various options for hosting databases in the cloud.
