提问者:小点点

如何创建一个Redis ElastiCache集群使用AWS-CLI从快照在S3?


我想做的是使用aws-cli根据我在S3中的ElastiCache快照创建一个ElastiCache集群,我的ElastiCache是启用集群的模式。

我按照本教程创建了一个启用集群的Redis缓存,下面是我的命令:aws elasticache create-cache-集群--cache-grouster-id stevescachecluster1 cache-node-type cache. m4.大引擎redis引擎版本3.2.4 cache-参数-group default.redis3.2.group.on--num-cache-node 1 snapshot-arns arn:aws:s3:::MY_S3_BUCKET-elasticache/stevesun-elasticache-001.rdb--cache-subnet-group-name my-cache-dev

上面的命令由于调用CreateCacheCluster操作时发生错误(InvalidParameter组合)而失败:参数组中应该禁用集群模式,但发现它已启用。

这就是让我困惑的地方,上面链接的教程明确表示,如果你想要启用集群模式的缓存,请在您的参数中使用. club.on选项。

然后我进一步研究了这个aws-cli命令参考:对于这个参数:--cache-参数-group-name,它的留档说:在创建集群时,您不能使用任何启用了groust-='yes'的参数组。

这不是从这个cli引用留档到那个cli教程的矛盾吗?

请纠正我理解错误的地方。此外,如何从S3快照创建启用集群模式的缓存?

谢谢。

我检查并发现3.2.4是AWSElatiCache现在的最新版本。

编辑1:

然后,我只是使用以下命令创建了一个单节点缓存:aws elasticache create-cache-集群--cache-grouster-id stevescachecluster1 cache-node-type cache. m4.大--engineredis--engine版本3.2.4 cache-参数-group default.redis3.2 num-cache-node 1--snapshot-arns arn:aws:s3:::MY_S3_BUCKET-elasticache/stevesun-elasticache-0001.rdb--cache-subnet-group-name my-cache-dev。

然后我去控制台,选择了我新启动的单节点缓存,点击修改,我试图将其更改为group. on,但得到了这个异常:参数groust-启用在请求的参数组中的值与当前参数组不同。对于缓存集群,此参数值无法更改。

因此,我尝试先启动单节点缓存然后将其更改为集群模式的尝试也失败了。

编辑2:

然后想到是启用集群的模式需要分配1个以上的节点,于是把这个参数--num-cache-node改成了2,但是得到了这个异常:调用CreateCacheCluster操作时出错(InvalidParameterValue):无法创建NumCacheNodes参数大于1的Redis集群。这就更让我困惑了,一个集群肯定需要1个以上的节点,那为什么不允许大于1呢??

虽然它的留档写着对于运行Redis的集群,这个值必须是1.。为什么是这个要求?那么我们如何从快照创建一个新的redis集群呢?请提供帮助。

谢谢。


共2个答案

匿名用户

创建Redis(启用集群模式)集群(AWSCLI)

Redis(启用集群模式)群集(API/CLI:复制组)无法使用create-cache-集群操作创建。要创建Redis(启用集群模式)群集(API/CLI:复制组),请参阅从零开始创建Redis(启用集群模式)复制组(AWSCLI)。

每AWSDoc。

看起来从Scratch复制组是要走的路。我现在就试一试。

匿名用户

如API留档中所述,具有大小的缓存集群

此外,redis,如果要从快照恢复,则必须使用--snapshot-name参数来指定快照,而不是--snapshot-arns参数。