是否可以在不创建额外集群的情况下恢复 AWS ElastiCache (redis) 的数据?
Is it possible to recover data of AWS ElastiCache (redis) without creating extra cluster?
我没有找到将 Redis 集群恢复到之前时间点的选项。
我所能做的就是从备份快照中播种一个新的集群,然后删除原来的集群。问题是连接点信息也发生了变化,我必须更新任何其他资源以获取新配置。
据我所知,AWS 不提供执行此操作的方法。您可以使用一些开源工具手动执行此操作。
- 将您的数据导出到 S3。这将创建一个 .rdb 文件
- 将 .rdb 文件下载到 ec2 实例
- 然后使用开源工具之一解析rdb文件,将数据插入到现有的elasticache redis中
两个开源工具可以帮助您做到这一点 -
- https://github.com/leonchen83/redis-cli-tool,参见redis-mass-insertion部分
- https://github.com/sripathikrishnan/redis-rdb-tools - 请参阅 --protocol 命令(免责声明:我是此工具的作者)。
如果您愿意,这些工具还可以帮助您仅恢复部分数据。
我没有找到将 Redis 集群恢复到之前时间点的选项。
我所能做的就是从备份快照中播种一个新的集群,然后删除原来的集群。问题是连接点信息也发生了变化,我必须更新任何其他资源以获取新配置。
据我所知,AWS 不提供执行此操作的方法。您可以使用一些开源工具手动执行此操作。
- 将您的数据导出到 S3。这将创建一个 .rdb 文件
- 将 .rdb 文件下载到 ec2 实例
- 然后使用开源工具之一解析rdb文件,将数据插入到现有的elasticache redis中
两个开源工具可以帮助您做到这一点 -
- https://github.com/leonchen83/redis-cli-tool,参见redis-mass-insertion部分
- https://github.com/sripathikrishnan/redis-rdb-tools - 请参阅 --protocol 命令(免责声明:我是此工具的作者)。
如果您愿意,这些工具还可以帮助您仅恢复部分数据。