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.
tipYou 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 Source Target Data Source Redis 7.4 Redis 7.4 Redis 7.0 Redis 7.4, 7.0 Redis 6.0 Redis 7.4, 7.0, 6.0 Redis 5.0 Redis 7.4, 7.0, 6.0, 5.0 Redis 4.0 Redis 7.4, 7.0, 6.0, 5.0, 4.0 Redis 3.2 Redis 7.4, 7.0, 6.0, 5.0, 4.0, 3.2 Redis 3.0 Redis 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-sizeis large enough for the write volume of the instance.client-output-buffer-limit replicadoes 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
Register the source and target ElastiCache data sources and make sure the connection tests pass.
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.
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.
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 Item | Check Content |
|---|---|
| Target data existence check | Check whether data already exists in the target objects to be synchronized |
| Source Log Buffer size check | Check the value of repl-backlog-size on the source instance |
| Source Client Output Buffer size check | Check the value of client-output-buffer-limit replica on the source instance |
| Source data source connection check | Check 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 check | Check the gateway status of the target data source, whether the instance is reachable, and whether the username and password are correct |
| Source permission check | Check whether the source account has the required permissions |