Skip to content

How do I manage AWS DMS engine version upgrades, availability, and compatibility across Regions?

7 minute read
0

I want to upgrade my AWS Database Migration Service (AWS DMS) engine version, but I don't want disruptions to my existing migration tasks in my AWS Region.

Resolution

Note: If you receive errors when you run AWS Command Line Interface (AWS CLI) commands, then see Troubleshooting errors for the AWS CLI. Also, make sure that you're using the most recent AWS CLI version.

Check for available AWS DMS versions

AWS delivers new releases to different Regions at different times. To check the availability of the AWS DMS versions in your Region, it's a best practice to use the AWS CLI and the AWS DMS support lifecycle policy.

To check available versions in your Region, run the following describe-orderable-replication-instances AWS CLI command:

aws dms describe-orderable-replication-instances

Check the end of life dates for AWS DMS versions

After AWS DMS releases a new version, check the AWS DMS release notes for the end of life (EOL) dates of your current DMS version. Or, check the AWS DMS support lifecycle policy to prepare for the upgrade.

It's a best practice to regularly review AWS What's New, AWS News Blog, and AWS Database Blog for details on new releases.

If you run an AWS DMS version that's no longer supported, then your AWS Health Dashboard sends you a reminder to upgrade. AWS might force an upgrade on the instances that you don't upgrade after the EOL date.

Prepare for the upgrade

Prerequisites:

To check the database (DB) instance class support for the AWS DMS version, run the following describe-orderable-replication-instances AWS CLI command:

aws dms describe-orderable-replication-instances \
--query "OrderableReplicationInstances[*].[ReplicationInstanceClass,EngineVersion]"

Perform the upgrade

To upgrade the AWS DMS Replication instance version, see Working with replication engine versions.

To monitor the version upgrade status, run the following describe-replication-instances AWS CLI command:

aws dms describe-replication-instances --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceStatus]"

To reduce downtime and maintain a stable replication environment for instances with a large number of tasks, it's a best practice to use a side-by-side upgrade.

Review your task performance

If you manually stopped the AWS DMS task and the instance is in AVAILABLE state, then you must restart or resume the AWS DMS tasks. Use Amazon CloudWatch metrics to monitor the task level and replication instance metrics for failures, slow performance, and latency issues. To compare the instance's performance, review the CloudWatch metrics.

It's a best practice to turn on monitoring for AWS DMS tasks, and notify stakeholders of upgrade errors. For more information about how to set up monitoring at the task level, see Automating database migration monitoring with AWS DMS.

Troubleshoot high latency

If your AWS DMS tasks have higher latency or performance issues after a version upgrade, then take the following actions:

Also, see the following documentation:

If you still have high latency without a workload change, then contact AWS Support.

Troubleshoot endpoint connection failures

If you hardcode the IP address of source or target database engines in the endpoint settings, then you might get a connection error message.

If your endpoint connection fails after a version upgrade, then take the following actions:

  • Check for failed endpoints connection test error messages on the AWS DMS console.
  • Check the network connectivity between the source, target, and AWS DMS instance. Make sure that you attached the correct network access control lists (network ACLs) and security groups, and set the correct inbound and outbound address and ports.
  • Validate database permissions and authentication credentials for AWS DMS users, and make sure that they can connect and migrate data.
  • Review the SSL/TLS configuration for your endpoint.

For more information, see How do I troubleshoot AWS DMS endpoint connectivity failures?

Troubleshoot instance class error

If you upgrade your instance class in a maintenance window and you don't have enough capacity, then you get the following error message:

"ERROR : "Cannot modify the DB instance because there is not sufficient capacity in the required availability zone(s)""

This error occurs when there's a capacity issue in the Availability Zone where your AWS DMS replication instance is located. To resolve this issue, run your instance in a different Availability Zone.

It's a best practice to create a Multi-AZ deployment for high availability and failover support. If there's an Availability Zone failure, then a replication instance from another Availability Zone continues the data replication.

Troubleshoot out of memory errors

If your AWS DMS tasks fail after a version upgrade because of out of memory (OOM) errors, then take the following actions:

Note: If no tasks are in RUNNING state, then FreeableMemory drops gradually over time and reclaims. To check whether there are memory leaks, contact AWS Support.

Troubleshoot table errors

Take the following actions: