我想将我的 Amazon ElastiCache for Valkey 或 Amazon ElastiCache for Redis OSS 集群的集群模式从“禁用集群模式”更改为“启用集群模式”。
简短描述
**注意:**您只能将集群模式配置从“禁用集群模式”更改为“启用集群模式”。对集群模式进行此更改后,将无法恢复配置。
先决条件:
- 集群必须仅在数据库 0 中拥有键。
- 应用程序必须使用可以使用集群协议和配置端点的 Valkey 或 Redis OSS 客户端。
- 对于集群,您必须开启自动失效转移,并且至少拥有 1 个副本。
- 要进行迁移,您的集群必须拥有 Valkey 7.2 及更高版本或 Redis OSS 7.0 及更高版本的引擎版本。有关详细信息,请参阅修改集群模式。
要将集群模式从“禁用集群模式”更新为“启用集群模式”,请完成以下任务:
- 将集群模式从“禁用集群模式”更新为 Compatible(兼容)。
- 将集群模式从 Compatible(兼容)更新为“启用集群模式”。
**注意:**在此迁移过程中,集群仍然可用。
解决方法
在切换到 Compatible(兼容)模式之前,您必须将 cluster-enabled 参数设置为 yes。如果您使用默认参数组,则 ElastiCache for Valkey 和 ElastiCache for Redis OSS 会选择该默认参数组。此默认参数组已将 cluster-enabled 配置设置为 yes,您无需执行任何操作。
**注意:**如果您使用自定义参数组,请在修改集群时选择新的参数组。或者,为同一引擎系列创建新的参数组,并将 cluster-enabled 参数设置为 yes。
将集群模式从“禁用集群模式”更新为“兼容”
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
在 Compatible(兼容)模式下,ElastiCache 会部署单个分片来与该节点一起使用。通过此配置,客户端应用程序可以使用任一协议与集群进行通信。
完成以下步骤:
- 打开 ElastiCache 控制台。
- 在导航窗格中,选择您的资源类型,然后选择您的集群。
- 选择 Modify(修改)。
- 在 Cluster mode(集群模式)下,选择 Compatible(兼容)。
- (可选)选择自定义参数组,并将 cluster-enabled 参数设置为 yes。
**注意:**如果您使用默认参数组,则无需执行任何操作。
- 选择 Preview changes(预览更改),然后选择 Save changes(保存更改)。
要使用 AWS CLI 修改集群,请运行 modify-replication-group 命令,并将 cluster-mode(集群模式)参数更新为 compatible(兼容)。
示例:
aws elasticache modify-replication-group \
--replication-group-id test-cluster \
--cluster-mode compatible \
--apply-immediately
**注意:**在前面的示例中,请将 test-cluster 替换为您的集群名称。有关详细信息,请参阅修改复制组。
在集群模式更改为 Compatible(兼容)后,您可以使用新创建的配置端点从应用程序测试“启用集群模式”连接。您还可以使用主端点和读取器端点来为集群的现有“禁用集群模式”连接提供服务。
在 Compatible(兼容)模式下,您还可以恢复到“禁用集群模式”,并保留原始配置。
将集群模式从“兼容”更新为“启用集群模式”
在将所有 Valkey 或 Redis OSS 客户端迁移到“启用集群模式”后,客户端应用程序将具备集群感知能力。在此状态下,您可以将集群模式参数设置为 enabled(启用)。
完成以下步骤:
- 打开 ElastiCache 控制台。
- 在导航窗格中,选择您的资源类型,然后选择您的集群。
- 选择 Modify(修改)。
- 在 Cluster mode(集群模式)下,选择 Enabled(启用)。
- 选择 Preview changes(预览更改),然后选择 Save changes(保存更改)。
要使用 AWS CLI 修改集群,请运行 modify-replication-group 命令,并将 cluster-mode(集群模式)参数更新为 enabled(启用)。
示例:
aws elasticache modify-replication-group \
--replication-group-id test-cluster \
--cluster-mode enabled \
--apply-immediately
**注意:**在前面的示例中,请将 test-cluster 替换为您的集群名称。
集群模式更改完成后,集群端点也会改变。由于主端点或读取器端点不再存在,因此请确保使用新的配置端点更新您的应用程序。
**注意:**最佳做法是查看客户端相关文档,以将客户端配置为支持与(已启用集群模式的)集群进行交互。有关详细信息,请参阅 Valkey 网站上的 Cluster specification。
相关信息
复制: Valkey 和 Redis OSS 禁用集群模式 vs.启用集群模式
最佳实践: Redis 客户端和 Amazon ElastiCache for Redis