I have following template file.
cfn-params:
default:
resourceName: 'hlp-MySrvc-redis'
application: 'MySrvc'
navService: 'MySrvc'
service: 'MySrvc'
pci: 'cat3'
team: 'MySrvc'
teamContact: ''
elastiCacheSubnetGroup: 'nonprod'
elastiCacheVpcSecurityGroupIds: 'sg-1234'
elastiCacheEngineVersion: '5.0.0'
elastiCacheParameterGroupName: 'default.redis5.0'
elastiCacheReplicationGroupIdPrefix: 'MySrvc'
elastiCacheReplicationGroupDescription: 'Redis for MySrvc'
elastiCacheTransitEncryptionEnabled: 'false'
elastiCacheAtRestEncryptionEnabled: 'false'
elastiCacheUpdateReplacePolicy: 'Retain'
elastiCacheAutomaticFailoverEnabled: 'false'
elastiCacheMultiAzEnabled: 'false'
elastiCacheNodeType: 'cache.t3.medium'
elastiCacheNumNodeGroups: 1
elastiCacheReplicasPerNodeGroup: 0
elastiCachePreferredMaintenanceWindow: 'tue:05:00-tue:06:00'
After running the cloudformation piepline, I am getting the following error :
The following resource(s) failed to create: [ElastiCacheRedisReplicationGroup]. Rollback requested by user.
The failure error is :
Use a parameter group with cluster-enabled parameter to create more than one node group. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID:1234; Proxy: null)
I once had ran before for another environment the same file did not get any error.
Do I need to change anything in this file ? or add any parameter now ?
I am puzzled how it worked for previously.
2
Answers
elastiCacheParameterGroupName: 'default.redis5.0' is what the problem was - we have to create a group with the cluster option on, for me it was 'default.redis5.0.on' instead of the above which resolves the problem
The error speaks for itself, in order to provision Elasticache Redis with cluster mode, we have to choose different parameter group that support cluster-enabled.
You can go to : AWS console -> Elasticache -> Parameter Groups
to find a list of default parameter group cluster mode on (that end with
.on
suffix)Here is the doc from AWS that tell the difference between cluster mode disable/enable, highly recommend to read.