通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair

本文通过示例介绍了 RIOT 如何轻松地将数据从 AWS ElastiCache 迁移到云原生内存数据库(如 Tair 和云数据库 Redis 版)。

1. 准备资源迁移

1.1. 源代码

AWS ElastiCache cache.r6g.xlarge。它有三个数据分片,与 Redis 6.2 兼容。

AWS EC2 t2.medium CentOS 7(它与 AWS ElastiCache 位于同一 VPC 中,因为 ElastiCache 不支持公网连接。)

1.2. 目标

阿里云 Tairtair.rdb.with.proxy.24g。它有三个数据分片,与 Redis 6.0 兼容。(开启公网地址,白名单设置为EC2公网IP地址。)

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第1张图片

2. 配置源数据库环境

2.1 将源实例的 AWS ElastiCache 参数和 notify-keyspace-events 的值更改为 KEA。

打开 AWS ElastiCache 控制台左侧的参数组,然后根据当前版本创建一个新模板,例如 Redis 6.x。

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第2张图片

2.2 将 notify-keyspace-events 的值更改为 KEA,将 cluster-enabled 的值更改为 yes。

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第3张图片

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第4张图片

2.3 在 Elasticache 实例上应用新的参数模板

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第5张图片


 

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第6张图片

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第7张图片

3. 在 EC2 实例上部署 RIOT 工具

sudo yum install java-1.8.0-openjdk -y
wget https://github.com/redis-developer/riot/releases/download/v3.1.5/riot-3.1.5.zip
unzip riot-3.1.5.zip

4. 在 EC2 实例上安装 Redis 客户端

在 EC2 实例上部署 Redis 客户端并连接到 ElastiCache 实例以创建测试数据。

注意:如果已存在包含数据的 ElastiCache 实例,则无需重新创建测试数据。您可以在 EC2 实例上安装 Redis 客户端。

sudo yum install gcc jemalloc-devel openssl-devel tcltcl-devel -y
sudo wget http://download.redis.io/redis-stable.tar.gz
sudo tar xvzf redis-stable.tar.gz
cd redis-stable
sudo make BUILD_TLS=yes
src/redis-cli -c -h clustercfg.test-20230904.vsntkk.apne1.cache.amazonaws.com --tls -a xxxxxxxxxxxx -p 6379

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第8张图片

5. 开始迁移

5.1. 在 EC2 实例上启动 RIOT 工具

登录 EC2 主机,使用 source 和 target 参数,启动 RIOT 程序同步全量数据和增量数据。

cd /home/centos/riot-3.1.5/bin
./riot -h clustercfg.test-20230904.vsntkk.apne1.cache.amazonaws.com --tls -a xxxxxxxxxxx -c -p 6379 replicate -h r-gs5u6x8xuwywt0q8qnpd.redis.singapore.rds.aliyuncs.com -p 6379 --user=poc --pass=xxxxxxxx -c --mode live --progress log

12

5.2. 登录目标实例 Tair 验证数据

访问 Tair 控制台,通过 DMS 登录数据库,查询数据,检查全量数据是否迁移正常:

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第9张图片


 


 


 

5.3. 写入增量数据并校验

在源实例 Elasticache 中插入增量数据,并在目标实例 Tair 中验证增量数据:

通过 RIOT 将 AWS ElastiCache 迁移到阿里云 Tair_第10张图片


 

19


 


 

6. 总结

使用 RIOT,您可以轻松地将数据从 AWS ElastiCache 快速迁移到云原生内存数据库,例如 Tair 和云数据库 Redis 版。与其他方法(如redis-shake)相比,该工具支持全量迁移和增强复制,迁移过程中无需停机,是提高效率的非常好的工具。

你可能感兴趣的:(aws,阿里云,云计算)