Skip to main content

ElastiCache to ElastiCache Migration Synchronization

Use this workflow to replicate data between AWS ElastiCache for Redis data sources in NineData. The link supports full replication and incremental replication.

Overview

Use ElastiCache-to-ElastiCache replication to move Redis data between environments while keeping the target updated. Before you create the task, confirm version compatibility, permissions, and network reachability.

Before you begin

  • Add the source and target data sources to NineData. For details, see Add Data Source.

    tip

    Register an ElastiCache data source by selecting AWS > ElastiCache when you create the data source. If the instance uses private access, sentinel mode, or ACL, finish the network and account setup before you run the connection test.

  • Make sure the source and target Redis versions match the matrix below. The target version must not be lower than the source version.

    Source Data SourceTarget Data Source
    Redis 7.4Redis 7.4
    Redis 7.0Redis 7.4, 7.0
    Redis 6.0Redis 7.4, 7.0, 6.0
    Redis 5.0Redis 7.4, 7.0, 6.0, 5.0
    Redis 4.0Redis 7.4, 7.0, 6.0, 5.0, 4.0
    Redis 3.2Redis 7.4, 7.0, 6.0, 5.0, 4.0, 3.2
    Redis 3.0Redis 7.4, 7.0, 6.0, 5.0, 4.0, 3.2, 3.0
  • Use accounts that can access the databases to be replicated. If ACL is enabled, make sure the account does not block the commands needed for prechecks and data synchronization.

  • For stable incremental replication, make sure the source parameter group meets the following requirements:

    • repl-backlog-size is large enough for the write volume of the instance.
    • client-output-buffer-limit replica does not disconnect replication connections because of a small buffer.
    • If security groups, allowlists, or private network policies are enabled, add the NineData service addresses to the allowlist.

Limitations

  • In ElastiCache-to-ElastiCache tasks, full replication and incremental replication are selected by default, and incremental replication cannot be disabled.
  • Before starting replication, evaluate the performance of the source and target data sources and run the task during off-peak hours whenever possible to avoid consuming too much memory and bandwidth during full initialization.
  • If the target already has a DB with the same name, confirm the conflict-handling strategy during task creation to avoid overwriting business data by mistake.

Procedure

  1. Register the source and target ElastiCache data sources and make sure the connection tests pass.

  2. Create a data replication task in NineData. Select ElastiCache as both the source and target. Full replication and incremental replication are selected by default for this link.

  3. Select the DBs or key spaces to replicate, configure the conflict-handling strategy for same-name DBs on the target, run the precheck, and then start the task.

  4. For page-level instructions, task details, and the list of supported incremental commands, follow Data Replication between Redis Instances and replace the Redis data sources with ElastiCache data sources.

Result

The task details page, monitoring metrics, logs, and data comparison behavior are the same as Data Replication between Redis Instances.

Appendix: Pre-Check Item List

Check ItemCheck Content
Target data existence checkCheck whether data already exists in the target objects to be synchronized
Source Log Buffer size checkCheck the value of repl-backlog-size on the source instance
Source Client Output Buffer size checkCheck the value of client-output-buffer-limit replica on the source instance
Source data source connection checkCheck the gateway status of the source data source, whether the instance is reachable, and whether the username and password are correct
Target data source connection checkCheck the gateway status of the target data source, whether the instance is reachable, and whether the username and password are correct
Source permission checkCheck whether the source account has the required permissions