This topic describes how to migrate an ApsaraDB RDS for PostgreSQL instance across zones in the same region. After your RDS instance is migrated, its attributes, configuration, and endpoints remain unchanged. The time that is required to complete the migration varies based on the amount of data that needs to be migrated. In most cases, the migration requires a few hours.

Prerequisites

  • Your RDS instance runs one of the following PostgreSQL versions and RDS editions:
    • PostgreSQL 10 on RDS High-availability Edition (with local SSDs)
    • PostgreSQL 9.4
  • The region to which your RDS instance belongs consists of multiple zones. For more information, see Regions and zones.

Fees

You are not charged for the migration. This applies even if you migrate your RDS instance from one zone to multiple zones.

Precautions

  • During the migration, your database service may be unavailable for a short period of time. Make sure that your application is configured to automatically reconnect to your RDS instance
  • The migration causes changes to the virtual IP addresses (VIPs) of your RDS instance. We recommend that you use an endpoint rather than an IP address to connect your application to your RDS instance.
  • After the migration, you must immediately delete the cached DNS records from the database client. If the database client on which your application runs is deployed on a Java Virtual Machine (JVM), we recommend that you set the time-to-live (TTL) in the JVM configuration to 60 seconds or less. In this case, if the VIP that is bound to the in-use endpoint of your RDS instance changes, your application can re-query the related DNS records to obtain the new VIP. Then, your application can connect to the new VIP.
    Note The following TTL-setting methods are provided for reference:
    • Set the TTL for all JVM-based applications: Set the networkaddress.cache.ttl parameter in the $JAVA_HOME/jre/lib/security/java.security file to 60.
    • Set the TTL only for local applications: Specify the networkaddress.cache.ttl java.security.Security.setProperty("networkaddress.cache.ttl" , "60"); setting in the initialized code of the local applications. This must be completed before you call the InetAddress.getByName() function for the first time or before you establish a network connection.
  • The VIP changes temporarily interrupt the availability of DRDS . After the migration is complete, you must immediately update and view the endpoint configuration in the DRDS console.
  • If your RDS instance has an ongoing DTS task, you must restart the task after the migration is complete.

Migration scenarios

Migration scenario Description
Migration from one zone to another zone The original zone where your RDS instance resides cannot be used to provide the same level of performance due to issues such as heavy loads.
Migration from one zone to multiple zones You want to implement disaster recovery across data centers. After the migration is complete, your RDS instance and its secondary RDS instance reside in different zones.

The multi-zone deployment method delivers higher disaster recovery capabilities than the single-zone deployment method. If you select the single-zone deployment method, your database system can withstand server and rack failures. If you select the multi-zone deployment method, your database system can withstand data center failures.

Migration from multiple zones to one zone You want to use specific features that are supported only for the single-zone deployment method.

Procedure

  1. Visit the RDS instance list, select a region above, and click the target instance ID.
  2. In the Basic Information section of the page that appears, click Migrate Across Zones.
  3. In the dialog box that appears, specify the destination primary zone, the vSwitch in the destination primary zone, and the switching time. Then, click OK.

    After you click OK, ApsaraDB RDS starts to copy the data of your RDS instance to the destination primary zone. This process does not interrupt the workloads on your RDS instance. After all the data is copied to the destination primary zone, ApsaraDB RDS switches the workloads over to the destination primary zone at the specified switching time. You can set the switching time to Migrate Immediately or Switch Within Maintenance Window.

    Note
    • Your RDS instance encounters a transient connection during the switchover process. Make sure that your application is configured to automatically reconnect to your RDS instance. Otherwise, you must manually reconnect your application to your RDS instance after the workloads are switched over to the destination primary zone.
    • If the DNS records cached on the database client are not immediately updated after the migration, some workloads may be switched over to the destination primary zone 10 minutes later. As a result, your RDS instance encounters another transient connection. If the database client runs on a JVM, we recommend that you set the time-to-live (TTL) in the JVM configuration to 60 seconds or less. In this case, if the virtual IP address that is bound to the in-use endpoint of your RDS instance changes, your application can query the related DNS records again to obtain the new virtual IP address. Then, your application can connect to the new virtual IP address. For more information, see the "Precautions" section of this topic.
    Migrate an instance across zones in the same region

Related operations

Operation Description
Migration zone Migrates an ApsaraDB RDS instance across zones in the same region.