설명
ElastiCache의 VPC와 서브넷 그룹을 명확히 선택하면 네트워크 경계와 접근 정책을 일관되게 관리할 수 있습니다. cache_subnet_group을 생략해도 기본 VPC가 선택될 수 있으므로 생략만으로 VPC 밖에 배포된다고 판단할 수는 없습니다. 실제 배치와 연결된 보안 그룹을 확인해야 합니다.
잠재적 영향
- 캐시가 조직에서 의도하지 않은 네트워크에 배치될 수 있습니다.
- 애플리케이션 연결이 실패하거나, 필요 이상으로 넓은 범위에서 연결을 시도할 수 있습니다.
해결 방법
- 의도한 VPC의 서브넷으로 캐시 서브넷 그룹을 준비하고
cache_subnet_group으로 선택하세요. - 연결된 VPC 보안 그룹에서 필요한 애플리케이션의 캐시 포트만 허용하세요. 실제 경로와 접근 결과를 확인하고 기존 캐시를 옮길 때는 데이터와 연결 전환을 계획하세요.
예시
과거 Memcached 예시에서 서브넷 그룹 선택을 비교합니다. 신규 배포에는 현재 지원되는 엔진 버전·노드 유형과 실제 가용 영역을 사용하세요. 변경 후의 default 그룹이 의도한 VPC의 서브넷을 포함하는지도 확인해야 합니다.
변경 전
yaml
- name: ElastiCache 생성
community.aws.elasticache:
name: test-please-delete
state: present
engine: memcached
cache_engine_version: 1.4.14
node_type: cache.m1.small
num_nodes: 1
cache_port: 11211
zone: us-east-1d
서브넷 그룹을 명시하지 않습니다. 실제 기본 선택을 확인해야 하며 VPC 밖의 배포를 의미하지는 않습니다.
변경 후
yaml
- name: ElastiCache 생성
community.aws.elasticache:
name: test-please-delete
state: present
engine: memcached
cache_engine_version: 1.4.14
node_type: cache.m1.small
num_nodes: 1
cache_port: 11211
cache_subnet_group: default
zone: us-east-1d
default라는 서브넷 그룹을 선택합니다. 이름만으로 격리 수준이나 보안 그룹의 접근 범위가 보장되지는 않습니다.