Skip to main content

ElastiCache Migration Synchronization to ElastiCache

NineData data replication supports full and incremental data synchronization between AWS ElastiCache for Redis data sources.

Prerequisites

  • The source and target data sources have been added to NineData. For details, see Add Data Source.

    tip

    You can register an ElastiCache data source by selecting AWS > ElastiCache when creating a data source. If the instance uses private access, sentinel mode, or ACL, complete the network and account setup before running the connection test.

  • It is recommended that the source and target Redis versions match the following matrix, and that the target version is not 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 DBs 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.

Usage 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.

Operation Steps

  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. The page-level instructions, task details, and the list of supported incremental commands are the same as Redis Migration Synchronization to Redis. When following that document, replace the Redis data sources with ElastiCache data sources.

View Synchronization Results

The task details page, monitoring metrics, logs, and data comparison behavior are the same as Redis Migration Synchronization to Redis.

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

Redis Migration Synchronization to Redis

Introduction to Data Replication