Aurora Database: Scaling and Read Contention Solutions

Scale Aurora Database with Ease

Prev Question Next Question

Question

A very big company has provided financial consulting services to end-users.

It uses the traditional MySQL database inside EC2 t2.medium instances which mainly deal with legacy services.

As a business grows, read contention is becoming more and more frequent for the database.

The AWS architect suggests using Aurora to scale as it is much cheaper and provides great read scalability.

How would you use Aurora to scale up and ease the read contention issue? (Select THREE.)

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Correct Answer - B, C, E.

Amazon Aurora can be used with the MySQL DB instance to take advantage of the read scaling capabilities of Amazon Aurora and expand the read workload for the MySQL DB instance.

To use Aurora to read scale the MySQL DB instance, create an Amazon Aurora MySQL DB cluster and make it a replication slave of your MySQL DB instance.

This applies to an Amazon RDS MySQL DB instance, or a MySQL database running external to Amazon RDS.

Please refer to https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-ug.pdf.

One thing to note is that Aurora has the concept of DB cluster and can scale up to 15 read replicas.

The below is a screenshot of when DB cluster identifier is defined:

Option A is incorrect: Because it is unnecessary to use db.r5.16xlarge which is not cost-efficient.

Also, Multi-AZ deployment is for availability instead of scalability.

Option B is CORRECT: Because an Amazon Aurora MySQL DB cluster needs to be set up first so that the source MySQL database will use its endpoint.

Option C is CORRECT: Because when replication starts, it is important to monitor if the data is successfully synchronized.

This is also stated in https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-ug.pdf.

Option D is incorrect: Aurora can scale from the MySQL instances outside of RDS MySQL.

Option E is CORRECT: The same reason as options.

D.

Refer to “Start Replication Between an External Master Instance and a MySQL DB Instance on Amazon RDS” in https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-ug.pdf page 575.

DB cluster identifier Info

If you do not provide one, a default identifier based on the instance identifier will be used.

Database name _ Info

MyAuroraDatabase

If you do not specify a database name, Amazon RDS does not create a database.

Port Info
TCP/IP port the DB instance will use for application connections.

3306

DB parameter group Info

default.aurora5.6 v

The correct answers are A, B, and C.

Aurora is a MySQL-compatible database that is built for the cloud. It is designed to be highly scalable and available, with automatic failover, and read scalability.

To use Aurora to scale up and ease the read contention issue, the following steps should be taken:

A. Create an Amazon Aurora MySQL DB db.r5.16xlarge instance. Make sure that Multi-AZ deployment is enabled in different zones. Enable Aurora global tables.

This step involves creating an Aurora MySQL DB cluster with a large instance type to support the high read traffic. Multi-AZ deployment should be enabled to provide automatic failover in the event of a primary instance failure. Aurora global tables should also be enabled to enable read scaling across multiple regions.

B. Create an Amazon Aurora MySQL DB cluster. The Aurora DB cluster endpoint address will be used when referenced by the MySQL source instances to scale up.

This step involves creating an Aurora MySQL DB cluster that will act as the read replica for the MySQL database. The Aurora DB cluster endpoint address will be used when referenced by the MySQL source instances to scale up. The read replica will be used to offload the read traffic from the MySQL database, reducing the read contention issue.

C. Set up replication between a MySQL DB instance and an Amazon Aurora MySQL DB cluster. Monitor the replication to ensure that it remains healthy and repair it if necessary.

This step involves setting up replication between the MySQL database and the Aurora MySQL DB cluster. The replication should be monitored to ensure that it remains healthy, and any issues should be repaired promptly.

D. As Aurora does not support MySQL database running external to Amazon RDS, migrate the database from EC2 MySQL to RDS MySQL first and then use Aurora to scale the database.

This option is incorrect because Aurora supports MySQL-compatible databases, including those running outside of Amazon RDS.

E. Make the Aurora DB a replication slave of MySQL DB instances. This applies to the Amazon RDS MySQL DB instance, or a MySQL database running in EC2.

This option is incorrect because the Aurora DB cluster should be the read replica for the MySQL database, not the other way around.

In summary, to use Aurora to scale up and ease the read contention issue, a large Aurora MySQL DB instance should be created with Multi-AZ deployment enabled, Aurora global tables should be enabled, an Aurora MySQL DB cluster should be created to act as the read replica, and replication should be set up between the MySQL database and the Aurora MySQL DB cluster.