从AWS迁移至阿里云Tair

将数据从AWS Elasticache 或 MemoryDB迁移至云数据库Tair(兼容Redis),推荐通过阿里云数据传输服务(DTS)实现平滑迁移。也可使用开源工具RedisShake进行数据迁移。本文将以 DTS 为例,详细介绍迁移的配置步骤。

前提条件

  • 源数据库实例支持公网访问。

  • 已创建云数据库Tair(兼容Redis)实例,相关操作请参见创建实例

迁移功能说明

增量迁移支持的Redis命令包括:

  • APPEND

  • BITOP、BLPOP、BRPOP、BRPOPLPUSH

  • DECR、DECRBY、DEL

  • EVAL、EVALSHA、EXEC、EXPIRE、EXPIREAT

  • FLUSHALL、FLUSHDB

  • GEOADD、GETSET

  • HDEL、HINCRBY、HINCRBYFLOAT、HMSET、HSET、HSETNX

  • INCR、INCRBY、INCRBYFLOAT

  • LINSERT、LPOP、LPUSH、LPUSHX、LREM、LSET、LTRIM

  • MOVE、MSET、MSETNX、MULTI

  • PERSIST、PEXPIRE、PEXPIREAT、PFADD、PFMERGE、PSETEX、PUBLISH

  • RENAME、RENAMENX、RESTORE、RPOP、RPOPLPUSH、RPUSH、RPUSHX

  • SADD、SDIFFSTORE、SELECT、SET、SETBIT、SETEX、SETNX、SETRANGE、SINTERSTORE、SMOVE、SPOP、SREM、SUNIONSTORE

  • ZADD、ZINCRBY、ZINTERSTORE、ZREM、ZREMRANGEBYLEX、ZUNIONSTORE、ZREMRANGEBYRANK、ZREMRANGEBYSCORE

  • XADD、XCLAIM、XDEL、XAUTOCLAIM、XGROUP CREATECONSUMER、XTRIM

说明

若待迁移数据包含AWS自研的JSON类型,需先删除相关数据再进行迁移,否则会迁移失败。

操作步骤

  1. 登录AWS Elasticache 或 MemoryDB控制台,获取源库的公网访问地址。

  2. 登录阿里云DTS控制台

  3. 单击左侧菜单栏中的数据迁移,打开数据迁移页面后单击创建任务

  4. (可选)填写任务名称。

    DTS 为每个任务自动生成一个任务名称,任务名称没有唯一性要求。您可以根据需要修改任务名称,建议为任务配置具有业务意义的名称,便于后续的任务识别。

  5. 填写源库和目标库信息,重点参数配置说明如下:

    库类别

    参数

    说明

    源库信息

    数据库类型

    源数据库类型,选择Tair/Redis

    接入方式

    选择公网IP

    实例地区

    选择与源Redis实例物理距离最近的地域,以便获得更高的迁移性能。

    实例模式

    Redis实例模式,选择单机版

    域名或IP地址

    Redis实例公网访问地址。

    端口

    Redis实例的端口号。

    认证方式

    请根据实际情况选择密码登录免密登录

    数据库密码

    Redis实例的密码。

    连接方式

    请根据实际情况选择非加密连接SSL安全连接

    说明

    若选择了SSL安全连接,您还需要上传CA 证书并填写CA 密钥

    目标库信息

    数据库类型

    将默认选择Tair/Redis

    接入方式

    选择云实例

    实例地区

    目标实例所在的地区。

    实例ID

    目标实例的实例ID。

    认证方式

    请根据实际情况选择密码登录免密登录,本示例选择密码登录

    说明

    云数据库Tair(兼容Redis)实例没有开启专有网络免密访问,请选择密码登录

    数据库密码

    目标实例的密码。

    连接方式

    请根据实际情况选择非加密连接SSL安全连接

  6. 填写完成后单击测试连接以进行下一步

    若未授权白名单,请先授权白名单以便于DTS访问Redis数据库。

  7. 配置任务对象,并单击页面下方的下一步高级配置

    1. 根据需求选择迁移类型

      • 增量数据迁移必须具备源库的SYNC/PSYNC权限。

      • 全量数据迁移暂不收费,增量数据迁移根据链路规格按小时收费。

      全量迁移和增量迁移是什么?

      迁移类型

      说明

      全量数据迁移

      将源库中现有的Key全部迁移到阿里云Tair实例中。

      增量数据迁移

      在迁移过程中,源库的更新Key同步到阿里云Tair实例。最终,源库和阿里云Tair实例进入动态数据复制的过程。

    2. 迁移对象框中将要迁移的库移动到已选择对象框中。

      目前 DTS 只支持对Redis实例的整库迁移,只能选择要迁移的库,无法选择部分Key迁移。

  8. 进行高级配置,并单击页面下方的下一步数据校验

    通常情况下,该配置项保持默认即可,更多信息请参见附录:高级设置说明

  9. 进行校验配置,并单击页面下方的下一步保存任务并预检查

    通常情况下,该配置项保持默认即可,更多信息请参见DTS同步或迁移实例中配置数据校验

  10. 进行预检查,完成后单击下一步购买

    若预检查产生警告失败项,请逐条确认。您可以单击查看详情,根据提示进行修复;您也可以单击点击确认告警详情,忽略检查项,但可能会产生数据不一致等问题,给业务带来风险,更多信息请参见预检查问题。完成上述操作后,请重新进行预检查。

  11. 购买页配置信息,并单击购买并启动

    • (可选)选择DTS迁移链路所属的资源组配置,默认为default resource group

    • (可选)选择DTS迁移链路的规格,规格越高,迁移速率越大,费用也越高,默认为large,更多信息请参见数据迁移链路规格说明

    • 阅读并勾选服务条款。

    购买后,迁移任务正式开始,您可在数据迁移界面查看具体进度。

    • 全量迁移:迁移完成时,状态为已完成。

    • 全量迁移+增量迁移/增量迁移:迁移完成时,增量迁移为无延迟状态。

    至此,完成AWS Elasticache 或 MemoryDB服务迁移至阿里云云数据库Tair(兼容Redis)的迁移任务。