Upgrading from Aurora Serverless V1 to V2
There are 2 approaches to this migration
Option 1: Snapshot and Restore (simple process, more downtime)
- Take a manual snapshot of the v1 instance, including the current YYYY-MM-DD in the name of the snapshot. Wait for successful completion showing Status = Available. If this is an initial snapshot of the instance, it may take a substantial amount of time to complete.
- Ensure delete protection is turned off on the v1 instance, as it will be deleted and replaced with a v2 cluster and instance. Deletion protection can be toggled in the AWS Console under RDS > Databases > select database > Modify.
- Run "terraform show" to view the current state for module.rds_cluster.aws_rds_cluster.cumulus. Ensure final_snapshot_identifier is set in resource "aws_rds_cluster" "cumulus". Copy the value. If a snapshot exists with that name, delete that snapshot. Ensure skip_final_snapshot is false in resource "aws_rds_cluster" "cumulus".
- Update /example/rds-cluster-tf/terraform.tfvars (or custom .tfvars filename) to: remove: enable_upgrade add: snapshot_identifier = "final_snapshot_identifier" (Paste value from prior step)
- Stop ingest.
- Run "terraform apply" to create a new v2 cluster and instance(s) based on the v1 final snapshot, using the updated tfvars file (or custom .tfvars filename). Wait for completion. terraform apply -var-file=terraform.tfvars (or custom .tfvars filename)
- Resume ingest.
- The end result is the new v2 cluster is created containing the existing v1 data.
Option 2: Blue/Green Cutover (complex process, less downtime)
Please see AWS instructions for setting up a blue/green deployment.