如何将AWS Redis缓存迁移至Azure Cache for Redis基础版
AWS ElastiCache Redis 迁移至 Azure Cache for Redis 基础版操作指引
迁移前前置校验
- 首先确认源AWS Redis版本与目标Azure Cache for Redis基础版兼容,Azure基础版支持Redis 4.0、6.0等主流版本,不要跨3个以上大版本迁移,避免出现命令不兼容问题
- 核对源端缓存容量与目标实例规格匹配:目标基础版实例内存需至少预留30%空闲空间容纳源端全量数据+写入缓存
- 提前梳理源端禁止使用的命令:Azure Cache for Redis基础版不支持
CONFIG、DEBUG、SHUTDOWN等高危管理命令,迁移前先清理业务中调用这些命令的逻辑 - 若源端开启了TLS加密,提前准备好源端的访问密钥、连接串信息,迁移工具需用加密通道访问避免数据泄露
常用迁移方案
方案1:停机迁移(适合低业务敏感度场景,操作最简单)
停机迁移窗口时长由源端数据量决定,10GB以内数据通常可在30分钟内完成
- 第一步:停止所有业务对源AWS Redis的写入请求,等待存量写入全部落盘
- 第二步:在本地或临时中转服务器安装
redis-cli工具,执行全量数据导出命令:redis-cli -h [源AWS Redis地址] -p 6379 -a [源访问密码] --rdb ./source-dump.rdb - 第三步:使用redis-mass工具将RDB文件的所有键值对写入目标Azure Cache for Redis:
cat ./source-dump.rdb | redis-mass -h [目标Azure Redis地址] -p 6380 -a [目标访问密码] --tls - 第四步:校验两端键的总数、抽样校验核心业务键的数值一致性,确认无误后将业务连接切换到目标Azure实例即可
方案2:低停机时间迁移(适合需要尽量减少业务中断的场景)
- 第一步:先启动双写逻辑,业务同时写入源AWS Redis和目标Azure Cache for Redis,持续运行至少一个缓存过期周期,确保热数据已经同步到目标端
- 第二步:使用
redis-shake开源同步工具,配置源端为AWS Redis、目标端为Azure Cache for Redis,开启增量同步,补齐双写启动前的冷数据 - 第三步:待同步延迟降到0后,抽样校验两端数据一致性,确认无误后切走业务读请求到目标端,再停掉双写逻辑即可
- 注意:同步过程中要监控目标实例的CPU、内存使用率,避免流量过高导致实例被限流
迁移后验证项
- 业务连接成功率:确认所有业务节点都能正常连接到目标Azure Cache for Redis,没有认证、网络不通问题
- 缓存命中率:迁移后1小时内缓存命中率需和迁移前持平,误差不超过5%
- 延迟表现:业务侧访问缓存的平均延迟、P99延迟和迁移前无显著差异
- 过期策略:确认带过期时间的键可以正常自动过期,没有残留永久无效键
内容的提问来源于stack exchange,提问作者Chandra Shekar
相关产品推荐
相关产品推荐

