상위 UserStory
#170
Feature 제목
AWS ElastiCache 연동
Feature 설명
AWS ElastiCache를 AgenticCP 플랫폼에 연동하여 사용자가 인메모리 캐시 클러스터를 생성, 조회, 수정, 삭제할 수 있도록 합니다. ElastiCache는 Redis와 Memcached를 지원하는 인메모리 캐싱 서비스로, 데이터베이스 쿼리 결과 캐싱, 세션 스토어, 실시간 데이터 처리 성능 향상 등에 활용됩니다. 본 Feature는 ElastiCache 클러스터의 전체 생명주기를 관리하는 핵심 기능을 제공합니다.
주요 기능
API 엔드포인트
데이터 모델
기술 스택
기타 기술
No response
예상 작업 시간
우선순위
예상 완료 일정
2025-12-19
아키텍처 고려사항
1. Hexagonal Architecture 적용
domain/cloud/
├── adapter/outbound/aws/elasticache/
│ ├── AwsElastiCacheManagementAdapter.java # 클러스터 생명주기 관리
│ ├── AwsElastiCacheDiscoveryAdapter.java # 클러스터 조회
│ ├── AwsElastiCacheMapper.java # 도메인-AWS API 매핑
│ └── AwsElastiCacheErrorTranslator.java # AWS 에러 변환
├── port/outbound/inmemorycache/
│ ├── InMemoryCacheManagementPort.java # 클러스터 생명주기 포트
│ └── InMemoryCacheDiscoveryPort.java # 클러스터 조회 포트
├── service/inmemorycache/
│ ├── InMemoryCachePortRouter.java # 포트 라우팅
│ └── InMemoryCacheUseCaseService.java # 유스케이스 서비스
└── controller/
└── InMemoryCacheController.java # REST API 컨트롤러
2. CspCapability 등록
@PostConstruct
public void initializeElastiCacheCapabilities() {
CspCapability capability = CspCapability.builder()
.supportsStart(false) // ElastiCache는 start/stop 개념 없음 (reboot만 가능)
.supportsStop(false)
.supportsTerminate(true) // 클러스터 삭제 가능
.supportsTagging(true) // 태그 지원
.supportsListByTag(true) // 태그 기반 조회 지원
.build();
capabilityRegistry.register(
ProviderType.AWS,
"ElastiCache",
"CacheCluster",
capability
);
}
테스트 계획
단위 테스트
-
Adapter 레이어 테스트
- AwsElastiCacheManagementAdapter: 클러스터 CRUD 작업 테스트
- AwsElastiCacheMapper: 도메인 ↔ AWS SDK 모델 변환 테스트
- AwsElastiCacheErrorTranslator: AWS 예외 → 도메인 예외 변환 테스트
-
Service 레이어 테스트
- InMemoryCachePortRouter: 포트 라우팅 로직 테스트
- InMemoryCacheUseCaseService: 비즈니스 로직 테스트
- CloudResource 저장/조회 로직 테스트
관련 이슈
No response
제약사항
1. AWS ElastiCache 제약사항
- 클러스터 삭제 전 연결된 리소스 확인 필요
- 클러스터 수정 시 재부팅 필요한 파라미터 있음 (다운타임 발생)
- Memcached는 스냅샷 미지원 (Redis만 스냅샷 가능)
- VPC 내부에만 생성 가능 (Subnet Group 필수)
- 일부 노드 타입은 특정 리전에서만 사용 가능
2. 기술적 제약사항
- 클러스터 상태 변경 완료까지 수분~수십분 소요 (비동기 처리)
- 노드 개수 조정 시 서비스 중단 가능성 (Redis Cluster Mode는 중단 없음)
- JSONB 필드 제약: properties와 status는 항상 유효한 JSON 문자열이어야 함
- 직렬화/역직렬화 오버헤드: 대량 조회 시 성능 고려 필요
3. 비즈니스 제약사항
- 사용자의 AWS 계정에 ElastiCache 권한 필요
- ElastiCache 서비스 한도 고려 필요 (클러스터 수, 노드 수 제한 등)
- VPC와 Subnet Group이 미리 생성되어 있어야 함
리스크
No response
성능 요구사항
No response
보안 고려사항
No response
비고
No response
상위 UserStory
#170
Feature 제목
AWS ElastiCache 연동
Feature 설명
AWS ElastiCache를 AgenticCP 플랫폼에 연동하여 사용자가 인메모리 캐시 클러스터를 생성, 조회, 수정, 삭제할 수 있도록 합니다. ElastiCache는 Redis와 Memcached를 지원하는 인메모리 캐싱 서비스로, 데이터베이스 쿼리 결과 캐싱, 세션 스토어, 실시간 데이터 처리 성능 향상 등에 활용됩니다. 본 Feature는 ElastiCache 클러스터의 전체 생명주기를 관리하는 핵심 기능을 제공합니다.
주요 기능
API 엔드포인트
데이터 모델
기술 스택
기타 기술
No response
예상 작업 시간
우선순위
예상 완료 일정
2025-12-19
아키텍처 고려사항
1. Hexagonal Architecture 적용
2. CspCapability 등록
테스트 계획
단위 테스트
Adapter 레이어 테스트
Service 레이어 테스트
관련 이슈
No response
제약사항
1. AWS ElastiCache 제약사항
2. 기술적 제약사항
3. 비즈니스 제약사항
리스크
No response
성능 요구사항
No response
보안 고려사항
No response
비고
No response