Upgrading from AWS Aurora Serverless v1 to v2 fails
Asked Answered
N

2

10

So with Aurora Serverless v2 available we wanted to upgrade from our Postgres Serverless v1.

The steps described are basically to take a snapshot, create a new Provisioned Aurora cluster (not Serverless) and then upgrade the Provisioned Cluster to Postgres 13.6 and after that Clone the new 13.6 Cluster into a Serverless v2.

However, I get stuck on the last part as when trying to clone it I get "Serverless (incompatible minor version)" and the option to chose "Serverless" is greyed out...

What am I missing?

Newsreel answered 24/4, 2022 at 13:52 Comment(0)
N
20

OK, so the information in the documentation here is very unclear: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.upgrade.html#aurora-serverless-v2.upgrade-from-serverless-v1-procedure

You shouldn't try to migrate the Cluster from Provisioned to Serverless, the option is to convert the DATABASE (Writer instance) in the Provisioned Cluster to Serverless V2!

So, here's the steps that might save someone else a few tries (and hours):

  1. Create a Snapshot for the existing Aurora Serverless Cluster overview page (takes about 5 minutes (depending on DB size))
  2. Open snapshots and choose to restore Snapshot to highest available PROVISIONED Aurora Cluster (for me it was Postgres 10.20), no other settings needs to be changed other than "Provisioned" and the version (this will take several minutes, about 15 minutes)
  3. Refresh now and again using the "refresh" button (as the AWS console "refresh" isn't very reliable) to see when the cluster is ready (database doesn't need to be ready, only the Cluster!)
  4. Once the Cluster is "available", open the Cluster and click "Modify"
  5. Choose the DB engine version as 13.6 (this is the only version working for Aurora Serverless v2) then scroll down and click "Continue"
  6. Select "Apply immediately" and click "Modify Cluster"
  7. Back on the Cluster overview page, again wait for the Cluster to upgrade (this will take several minutes, about 20 minutes)
  8. Once the Cluster and database are available, select the DATABASE and choose "Modify"
  9. Select Serverless v2 and then "Continue"
  10. Choose to apply Immediately and modify the database
  11. Wait for it to modify completely and you'll have your new Serverless V2 done!

Another thing to note is that with Aurora V2 we'll apparently have a Cluster and a database attached: enter image description here

I'd assume this is because with Serverless V2 (which is pretty cool!) you can attach additional read replica databases which will "off-load" your writer instance making it faster...

Newsreel answered 24/4, 2022 at 14:10 Comment(5)
Thanks! Would this work for upgrading mysql 5.7 to 8.0, from serverless v1 to v2?Issykkul
It should not matter if it's MySql or Postgresql, but be sure to check that all features you need are available in v2, @CodigoMorsa!Newsreel
Already did the migration and worked, thanks.Issykkul
"Create a Snapshot for the existing Aurora Serverless Cluster overview page (takes about 5 minutes (depending on DB size))" Curious what size got you 5 minutes? I am stuck at creating and I am at 2 hours.Roofer
At the time, I think the DB was about 3-4GB in total size... @RooferNewsreel
P
0

add on on @anders answer, your rds instances must be one of the instance type from this list else it will throw below error.

for supported combinations of instance class and database engine version, see the documentation.

Popularity answered 16/2, 2023 at 9:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.