我想升级我的 Amazon ElastiCache for Redis 引擎版本。
解决方案
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
升级准备工作
计划升级
当引擎升级过程启动时,ElastiCache 会执行以下操作:
- 为每个先前存在的节点启动一组使用新引擎版本的新节点
- 将所有数据从当前主节点复制到新的主节点
- 将新的只读副本与新的主节点同步
- 更新 DNS 条目,使其指向新节点
- 删除旧节点
完成引擎升级所需的时间可能会因以下因素而有所不同:
- 集群中的数据量或数据种类
- 网络连接
- 传入流量或负载率
在升级过程中,集群可用于所有读取操作以及大部分写入操作。最佳做法是在传入写入流量较低的时段计划引擎升级。
对于 Redis 引擎版本 5.0.5 及更高版本,升级所需的停机时间最短。在升级过程中,集群可用于读取操作。在升级过程的大部分时间里,集群也可用于写入操作,仅持续几秒的失效转移操作期间除外。
对于 5.0.5 之前的 Redis 引擎版本,在 DNS 传播期间,您可能会遇到更长的失效转移时间。失效转移时间可能会持续 30 秒到一分钟。
创建集群的备份
由于引擎升级会将数据复制到新节点,因此请务必备份您的数据。如果您的集群存在高写入流量,或者没有足够的预留内存来进行备份,则备份可能会失败,且您会丢失数据。
为防止意外数据丢失,最佳做法是在开始升级之前备份 Redis 集群。如果您在升级过程中丢失了数据,请从备份中创建一个新集群。
**注意:**ElastiCache 是一项托管服务,可自动更新 DNS 条目,使其指向新节点。
升级您的引擎版本
要升级您的 Redis 引擎版本,请完成以下步骤:
- 手动备份您的 Redis 集群或复制组。
- 修改 ElastiCache 集群或复制组,然后选择新的引擎版本。
有关更多信息,请参阅使用自行设计的集群时的升级注意事项。