AWS Amazon Aurora


AWS Amazon Aurora is a database engine developed by Amazon and offered as a service by AWS. Aurora has the following characteristics:

1. Aurora is a proprietary technology of AWS and is not open source.
2. Fully compatible with Postgres and MySQL, all drivers for these database engines will work with Aurora.
3. Aurora is “AWS cloud optimized” and it is claimed that you can achievet 5x faster than MySQL and 3x faster than Postgres.
4. Aurora automatically grows in 10GB chunks up to 128TB
5. Aurora can have 15 replicas and replication is after than other RDSs
6. Failover in Aurora is instantaneous and is High Availability native.
7. Aurora cost more than other RDS by 20%, but it is more efficient.
8. Automatic fail-over
9. Backup and Recovery
10. Isolation and security
11. Industry compliance
12. Push-button scaling
13. Automatic patching with zero downtime
14. Advanced Monitoring
15. Routine Maintenance.

Aurora High Availability and Read Scaling


1. 6 copies of you data across 3 AZ
a. 4 copies out of 6 needed for writes.
b. 3 copies out of 6 needed for reads.
c. Provides self healing by way of peer to peer replication.
d. Storage is striped across 100s of volumns.
2. One Aurora Instance takes the writes and is the master copy.
3. If Master fails the failover is less than 30 seconds.
4. Master + 15 Read Replicas and any of the Read Replicas can be promoted to Master.
5. Read Replicas support Cross Region Replication

Aurora DB Cluster


1. Applications are given a Writer Endpoint which points to the Instance which currently is the Master.
a. This Writer Endpoint will redirect traffic to new Master if it changes.
2. Application are given a Reader Endpoint which connects to read replica copies through load balancing
a. This Reader Endpoint will remove instance that is promoted to Master

Amazon RDS build

AWS Relational Database Service (RDS) console is normally used to create RDS services, however they can be deployed via the CLI, CloudShell or even from an EC2 Instance.   This article will cover the creation of an AWS RDS using the console.

1.   Logon to AWS as an IAM user at URL:  https://signin.aws.amazon.com/

2.   From the Home Console type RDS in the search bar, select the star next to RDS, and select RDS.   NOTE:  The name of the Console has changed over time, but the key wording is RDS.

3.   On the left hand menu bar select Databases.

4.   Currently we have no RDS databases created and thus none are listed.   Click Create database on the right hand side of the screen.

5.   Select standard creation and for this example we will create a MySQL database.

6.   Select MySQL Community and the Engine Version you desire.

7.   Under templates, select the Free tier option.

8.   Under Availability and durability, we have only one option in free tier, but you can see the other options available would be for Multi-AZ and Read-Replicate.

 9.   Under DB Instance Identifier place the name of you database, Name for the Master User, select Self Managed, and enter a password for the Master user.

10.   Accept standard for Instance Configuration and  Storage.

11.   Under Connectivity, select EC2 compute resources and select one of your existing EC2 Instances.    NOTE:  We are doing this to provide a tunnel into the RDS system for administration via CLI or SSH. Accept the IPv4.

12.   Under VPC security group, select the security groups for applications and EC2 Instances you desire to have access to the RDS Services.

 13.   Under Database authentication select Password and IAM database authentication.  Under Monitoring select Database Insights.

14.   Select Create database, to build your RDS MySQL database.

 15.   Your new RDS database will appear in the database listing with configrmation.

16.   This completes build of MySQL RDS database service on AWS.