설명
ElastiCache를 워크로드에 맞는 VPC와 서브넷에 배치하고 보안 그룹으로 접근을 제한해야 합니다. CacheSubnetGroupName을 생략하면 기본 서브넷 그룹이 사용될 수 있으므로, 생략만으로 VPC 밖에 배치되거나 인터넷에 공개된다고 단정할 수는 없습니다.
잠재적 영향
의도와 다른 네트워크에 배치하면 필요한 애플리케이션 연결이 실패하거나 불필요한 클라이언트의 접근이 허용될 수 있습니다.
해결 방법
실제 서브넷 그룹의 VPC와 서브넷을 확인하고 승인된 그룹을 CacheSubnetGroupName에 지정하세요. 보안 그룹과 필요한 연결 경로를 함께 검토하고, 변경 세트에서 교체 및 서비스 중단 가능성을 확인하세요.
예시
서브넷 그룹 선택을 비교하는 기존 Memcached 예시입니다. 실제 적용에는 지원되는 노드 유형과 환경에 맞는 보안 그룹·연결 경로가 필요합니다.
변경 전
yaml
Resources:
ElasticacheCluster:
Type: 'AWS::ElastiCache::CacheCluster'
Properties:
Engine: memcached
CacheNodeType: cache.t2.micro
NumCacheNodes: '1'
서브넷 그룹이 명시되지 않았습니다. 생성된 캐시의 실제 배치를 확인해야 합니다.
변경 후
yaml
Resources:
ElasticacheCluster:
Type: 'AWS::ElastiCache::CacheCluster'
Properties:
Engine: memcached
CacheNodeType: cache.t2.micro
NumCacheNodes: '1'
CacheSubnetGroupName: default
default라는 서브넷 그룹을 선택합니다. 이 이름만으로 의도한 격리나 접근 제한이 보장되지는 않으므로 그룹의 실제 구성을 검토하세요.