2

我想要做的是使用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-nodes2,但我得到這個異常: An error occurred (InvalidParameterValue) when calling the CreateCacheCluster operation: Cannot create a Redis cluster with a NumCacheNodes parameter greater than 1. 這更令我困惑的是,一個集羣肯定需要超過1個節點,那爲什麼它不允許大於1?

雖然它的documentationFor clusters running Redis, this value must be 1.。爲什麼這個要求?那麼我們如何從快照創建一個新的Redis集羣呢? 請幫忙。

感謝。

回答

0

API documentation所述,對於redis,不支持大小> 1的緩存集羣。

此外,對於redis,如果要從快照還原,則必須使用--snapshot-name參數指定快照而不是參數--snapshot-arns

+1

謝謝。那麼從快照恢復redid集羣的正確方法是什麼?不是單個節點Redis。 – FisherCoder

0

創建Redis的(啓用羣集模式)羣集(AWS CLI)(啓用羣集模式)

Redis的簇(API/CLI:複製組)無法使用create-緩存羣集操作來創建。要創建Redis(已啓用集羣模式)羣集(API/CLI:複製組),請參閱從Scratch(AWS CLI)創建Redis(已啓用集羣模式)複製組。

根據AWS Doc

看起來像Replication Group from Scratch是要走的路。我現在就試一試。

相關問題