설명
ElastiCache Redis OSS의 저장 시 암호화는 동기화·백업·스왑 과정에서 디스크에 기록되는 데이터와 백업을 보호합니다. 세션, 토큰이나 개인정보를 캐시한다면 저장된 사본도 보호해야 합니다. 저장 시 암호화는 클라이언트 통신의 암호화나 사용자 인증을 대신하지 않습니다.
잠재적 영향
암호화하지 않은 저장 데이터나 백업이 무단으로 획득되면 민감정보가 노출될 위험이 커집니다. 캐시에 적용되는 조직의 데이터 보호 기준도 충족하지 못할 수 있습니다.
해결 방법
새 복제 그룹에 AtRestEncryptionEnabled: true를 지정하고 필요한 KMS 키와 권한을 검토하세요. Redis OSS의 이 옵션은 생략 시 기본값이 false이므로 실제 상태를 확인하세요.
기존 그룹에서는 이 설정을 켜거나 끌 수 없습니다. 암호화된 새 그룹으로 복원하거나 데이터를 이전하고, 애플리케이션 연결과 데이터 일관성을 검증한 뒤 전환하세요. 전환 전에 백업·복구 계획을 마련하고 전송 중 암호화와 인증도 별도로 구성하세요.
예시
실제 VPC의 캐시 서브넷 그룹과 필요한 접근만 허용하는 보안 그룹을 지정합니다. 단일 노드의 생성 설정을 비교하는 예시로, 고가용성이나 기존 데이터 이전을 구성하지 않습니다.
변경 전
yaml
Parameters:
CacheSubnetGroupName:
Type: String
CacheSecurityGroups:
Type: List<AWS::EC2::SecurityGroup::Id>
Resources:
ReplicationGroup:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
ReplicationGroupDescription: example
AtRestEncryptionEnabled: false
Engine: redis
CacheNodeType: cache.t3.micro
NumCacheClusters: 1
CacheSubnetGroupName: !Ref CacheSubnetGroupName
SecurityGroupIds: !Ref CacheSecurityGroups
변경 후
yaml
Parameters:
CacheSubnetGroupName:
Type: String
CacheSecurityGroups:
Type: List<AWS::EC2::SecurityGroup::Id>
Resources:
ReplicationGroup:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
ReplicationGroupDescription: example
AtRestEncryptionEnabled: true
Engine: redis
CacheNodeType: cache.t3.micro
NumCacheClusters: 1
CacheSubnetGroupName: !Ref CacheSubnetGroupName
SecurityGroupIds: !Ref CacheSecurityGroups