我想要做的是使用aws-cli基於S3中的ElastiCache快照創建ElastiCache集羣,並且我的ElastiCache已啓用集羣模式。如何使用S3中的快照使用AWS-CLI創建Redis ElastiCache羣集?
我跟着這個tutorial創建一個支持集羣的Redis的緩存,這裏是我的命令: aws elasticache create-cache-cluster --cache-cluster-id stevescachecluster1 --cache-node-type cache.m4.large --engine redis --engine-version 3.2.4 --cache-parameter-group default.redis3.2.cluster.on --num-cache-nodes 1 --snapshot-arns arn:aws:s3:::MY_S3_BUCKET-elasticache/stevesun-elasticache-0002.rdb --cache-subnet-group-name my-cache-dev
上面的命令失敗,因爲 An error occurred (InvalidParameterCombination) when calling the CreateCacheCluster operation: Cluster mode should be disabled in parameter group, but found it is enabled.
這是明確地混淆了我,上面的鏈接教程說如果你想要啓用集羣模式緩存,請在你的參數中使用.cluster.on選項。
然後我看着多地進入這個AWS-CLI命令reference:此參數:--cache-parameter-group-name
,其文檔說:You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.
是不是從這個CLI參考文檔到CLI教程這個contradictionary?
請糾正我在哪裏我理解錯了。 另外,如何從S3快照創建啓用集羣模式的緩存?
感謝。
我檢查並發現3.2.4是AWS ElatiCache現在擁有的最新的version。
編輯1:
然後我剛創建使用此命令單節點緩存: aws elasticache create-cache-cluster --cache-cluster-id stevescachecluster1 --cache-node-type cache.m4.large --engine redis --engine-version 3.2.4 --cache-parameter-group default.redis3.2 --num-cache-nodes 1 --snapshot-arns arn:aws:s3:::MY_S3_BUCKET-elasticache/stevesun-elasticache-0002.rdb --cache-subnet-group-name my-cache-dev
。
然後我去到控制檯,並選擇我的新推出的單節點緩存和點擊Modify
,我試圖改變它cluster.on,但得到這個異常: The parameter cluster-enabled has a different value in the requested parameter group than the current parameter group. This parameter value cannot be changed for a cache cluster.
所以,我嘗試推出首先單節點緩存,然後將其更改爲集羣模式也失敗。
編輯2:
後來我想那就是我需要分配超過1個節點的支持集羣的模式,所以我改變了這個參數--num-cache-nodes
到2
,但我得到這個異常: An error occurred (InvalidParameterValue) when calling the CreateCacheCluster operation: Cannot create a Redis cluster with a NumCacheNodes parameter greater than 1.
這更令我困惑的是,一個集羣肯定需要超過1個節點,那爲什麼它不允許大於1?
雖然它的documentation說For clusters running Redis, this value must be 1.
。爲什麼這個要求?那麼我們如何從快照創建一個新的Redis集羣呢? 請幫忙。
感謝。
謝謝。那麼從快照恢復redid集羣的正確方法是什麼?不是單個節點Redis。 – FisherCoder