저장 데이터 암호화가 없는 AWS ElastiCache Replication Group

ElastiCache의 디스크 저장 데이터와 백업을 암호화하고 기존 그룹의 데이터 전환을 계획하세요.

설명

캐시에도 세션, 토큰, 조회 결과 같은 민감한 값이 저장될 수 있습니다. ElastiCache 저장 암호화는 동기화·백업·스왑 과정에서 디스크에 기록되는 데이터와 백업을 보호합니다. 메모리 접근 제어나 전송 중 암호화는 별도로 관리해야 합니다.

Terraform의 노드 기반 복제 그룹에서 저장 암호화 기본값은 Redis OSS는 비활성화, Valkey는 활성화입니다. 설정을 생략했다는 이유만으로 모든 엔진에서 암호화가 꺼진다고 볼 수는 없습니다.

잠재적 영향

실제로 암호화되지 않은 저장 데이터나 백업을 권한 없는 주체가 확보하면 캐시에 보관된 민감한 값이 노출될 수 있습니다. 조직의 캐시 암호화 요구사항도 충족하지 못할 수 있습니다.

해결 방법

  • 새 복제 그룹에서 at_rest_encryption_enabled = true를 명시하고 지원되는 엔진·노드 유형과 VPC 구성을 확인하세요.
  • 기존 노드 기반 복제 그룹의 저장 암호화 상태는 변경할 수 없습니다. 필요한 데이터의 백업·복원과 새 암호화 그룹으로의 애플리케이션 전환을 계획하세요.
  • Terraform 교체 계획, 복원 결과와 연결을 확인하고, 전송 중 암호화·인증·키 권한도 함께 관리하세요.

예시

Redis OSS 복제 그룹의 발췌입니다. 엔진과 노드 유형이 해당 리전에서 지원되는지 확인하고 필요한 VPC·서브넷·보안 그룹을 별도로 구성하세요.

변경 전

hcl
resource "aws_elasticache_replication_group" "cache_cluster" {
  automatic_failover_enabled   = true
  preferred_cache_cluster_azs  = ["us-west-2a", "us-west-2b"]
  replication_group_id        = "tf-rep-group-1"
  description                 = "test description"
  node_type                   = "cache.m4.large"
  num_cache_clusters          = 2
  port                        = 6379
}

Redis OSS의 기본값에 따라 저장 암호화를 활성화하지 않습니다.

변경 후

hcl
resource "aws_elasticache_replication_group" "cache_cluster" {
  automatic_failover_enabled   = true
  preferred_cache_cluster_azs  = ["us-west-2a", "us-west-2b"]
  replication_group_id        = "tf-rep-group-1"
  description                 = "test description"
  node_type                   = "cache.m4.large"
  num_cache_clusters          = 2
  port                        = 6379
  at_rest_encryption_enabled   = true
}

새 그룹에 저장 암호화를 요청합니다. 기존 그룹의 데이터를 자동으로 암호화하는 변경은 아니므로, 교체 전에 데이터와 연결 전환을 준비해야 합니다.

참조