aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

[AWS::ElastiCache::ReplicationGroup] - [BUG] - Switching from AuthToken to ACLs (UserGroupIds) forces Replacement (no in-place update), unlike Console/CLI

Open
#2,356 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

AWS::ElastiCache::ReplicationGroup

### Resource Name

_No response_

### Issue Description

When migrating an ElastiCache for Redis replication group from password-based auth (AuthToken) to Redis ACLs (UserGroupIds) via CloudFormation, the update plan shows Resource update type: Replacement and attempts to create a new replication group. The same change performed via AWS Console or CLI is an in-place update with no replacement. This blocks zero-downtime migrations when stacks are managed by CloudFormation.

### Expected Behavior

CloudFormation should support in-place updates when removing AuthToken and Adding UserGroupIds matching the behavior available via Console/CLI, enabling zero-downtime migration paths.

### Observed Behavior

Change Set/Update shows Replacement for AWS::ElastiCache::ReplicationGroup when toggling between AuthToken and UserGroupIds.

### Test Cases

Initial template (password-based):

```
Resources:
MyRedis:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
ReplicationGroupId: my-redis
Engine: redis
EngineVersion: 7.1
CacheNodeType: cache.t4g.small
NumNodeGroups: 1
ReplicasPerNodeGroup: 1
AuthToken: "{{resolve:secretsmanager:my/redis/password}}"
TransitEncryptionEnabled: true
AtRestEncryptionEnabled: true
```
Update template (ACL-based):

```
Resources:
MyRedis:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
ReplicationGroupId: my-redis
Engine: redis
EngineVersion: 7.1
CacheNodeType: cache.t4g.small
NumNodeGroups: 1
ReplicasPerNodeGroup: 1
# AuthToken removed
UserGroupIds:
- myapp-acl-group
TransitEncryptionEnabled: true
AtRestEncryptionEnabled: true
```
**Result**: Change Set marks MyRedis as Replacement.

### Other Details

Resource replacement implies downtime and potential data migration/cutover work.
Import is not available for this resource type, so “remove from stack → modify manually → re-import” is not a workaround.

**Request**

- Add CloudFormation support for in-place updates when toggling between AuthToken and UserGroupIds, aligning with Console/CLI capabilities.

- Update the existing documentation

Contributor guide

Open the contributing guide

Research direction

Start with the AWS::ElastiCache::ReplicationGroup resource and the initial and update templates in the issue. Compare the CloudFormation change set with the documented Console or CLI migration behavior. Done means switching from AuthToken to UserGroupIds updates in place without replacement and the existing documentation is updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.