25
votes

We are using AWS RDS Aurora MySQL 5.6 for our production database. AWS launched MySQL 5.7 compatible Aurora engine on 6th Feb, 2018.

I dont see any option in "modify instance" to change engine to MySQL 5.7 I dont see any option in restore snapshot to database with MySQL 5.7 either.

We want to do this upgrade with least downtime. Pls suggest what could be done here.

6
Any update on this? How much downtime did you experience?Zain Zafar
Now they have added option of 5.7 while restoring snapshot but you cant directly upgrade existing 5.6 database. Downtime depends on the size of database you want to restore from snapshot.Satish Gadhave

6 Answers

16
votes

According to this link, you cannot upgrade an in-place database, you will need to restore a snapshot of the existing database and change the engine version during that process. These restrictions appear to be only temporary and may be lifted at a later point to allow for in-place upgra

6
votes

The comments above are true; there is still no in place upgrade for 5.6 to 5.7; the process is still pretty easy though;

1) Go to the RDS dashboard, in the left hand menu there is a menu item called 'Snapshots'; you can either click on this if you are ok using a recent snapshot; otherwise select your database & on the actions drop down & choose 'Take Snapshot'

2) In snapshots simply select your snapshot & choose 'Restore Snapshot' from the actions drop down; it will automatically duplicate a bunch of your previous settings. Its at this juncture you can select the new database engine of 5.7

All and all you should allow for at least a half an hour of downtime for the whole process. Probably a couple of hours to be on the safe side.

1
votes

Easiest way is:

  1. Take a manual snapshot first of Aurora MySQL 5.6 cluster.

  2. Then, create a new Aurora MySQL 5.7 using that manual snapshot which was taken in step 1

  3. Your credentials would be same as that of the older 5.6 cluster.

  4. Verify if data is correct.

1
votes

You can now perform in-place upgrade from Aurora MyQSL from 5.6 to 5.7

Only a matter of invoking modify-db-cluster or modify-global-cluster (if you are using global clusters of course).

More in the docs (including how to do this using the AWS console).

0
votes

Need was to upgrade the AWS RDS Aurora MySQL from 5.6 to 5.7 without causing any downtime to our production. Being a SaaS solution, we could not afford any downtime.

Background

We have distributed architecture based on micro services running in AWS Fargate and AWS Lambda. For data persistency AWS RDS Aurora MySQL is used. While there are other services being used, those are not of interest in this use case.

Approach

After a good deliberation on in place upgrade by declaring a downtime and maintenance window, we realized that having zero downtime upgrade is the need. As without which we would have created a processing backlog for us. High level approach was:

  1. Create an AWS RDS Cluster with the required version and copy the data from the existing RDS Cluster to this new Cluster
  2. Setup AWS DMS(Data Migration Service) between these two clusters
  3. Once the replication is done and is ongoing then switch the application to point to the new DB. In our case, the micro-services running in AWS Fargate has to upgraded with the new end point and it took care of draining the old and using the new.

For Complete post please check out

https://bharatnainani1997.medium.com/aws-rds-major-version-upgrade-with-zero-downtime-5-6-to-5-7-b0aff1ea1f4

-4
votes

To manage an update for a DB instance or DB cluster

Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

In the navigation pane, choose Instances to manage updates for a DB instance, or Clusters to manage updates for an Aurora DB cluster.

Select the checkbox for the DB instance or DB cluster that has a required update.

Choose Instance actions for a DB instance, or Actions for a DB cluster, and then choose one of the following:

  • Upgrade now

  • Upgrade at next window

Note: If you choose Upgrade at next window and later want to delay the update, you can select Defer upgrade.