使用 aws-cdk(python) 更新 redis 集群的问题

问题描述

我使用 RedisCluster 创建了一个 aws-cdk(python)。部署此集群后一切正常。

问题 今天,当我想使用 AWS-CDK(PYTHON) 增加/减少此 RedisCluster 的节点数时,遇到以下错误

 UPDATE_Failed| AWS::ElastiCache::ReplicationGroup| b-redis-2/b-redis-2-cluster (bredis2bredis2cluster)CloudFormation cannot update a stack when a custom-named resource requires replacing. Rename b-redis-2-cluster and update the stack again.

似乎 AWS-CDK 不支持更新 RedisCluster

这是真的还是我错过了什么?

如果我尝试将 b-redis-cluster 重命名为不同的名称,基本上它会尝试删除现有集群并创建一个新集群。

我不想删除现有的redis-cluster,只想更新节点数

有人可以为此提出解决方案吗?

解决方法

这是真的还是我错过了什么?

错误信息是正确的。您无法替换命名资源。最近的AWS blog post解释了如何处理这种情况:

解决方案是您必须重命名您的资源,或者删除名称,因此您必须创建新集群。

但无论哪种方式,由于您的更新需要更换,您将始终获得新集群。它唯一的问题是它是否会具有不同的名称或相同的名称。所以你必须先备份,然后再恢复到新创建的。