ElastiCache 엔진 선택: Valkey, Redis OSS, Memcached 비교
ElastiCache를 만들 때 첫 화면에서 고르는 것이 엔진입니다. Valkey, Redis OSS, Memcached 세 갈래인데, 결론을 먼저 적으면 신규 구축은 Valkey가 기본값이고, 기존 Redis OSS 클러스터는 마이그레이션 이득(단가 20〜33% 인하)이 명확할 때 옮기며, Memcached는 복제도 영속성도 필요 없는 순수 캐시라는 좁은 영역에만 남습니다. 셋의 프로토콜과 명령은 대부분 겹치므로, 선택은 기능보다 요금과 운영 모델의 문제입니다. Redis 계열이 빠른 원리 자체는 Redis가 빠른 이유에서 다뤘습니다. 요금은 us-east-1 기준입니다.
한눈에 보는 비교 #
| 구분 | Valkey | Redis OSS | Memcached |
|---|---|---|---|
| 계보 | Redis 7.2에서 분기한 오픈소스 포크 | Redis 오픈소스 버전 | 독립 프로젝트 |
| 노드 기반 단가 | Redis OSS보다 약 20% 낮음 | 기준 | Redis OSS와 동급 |
| 서버리스 단가 | Redis OSS보다 약 33% 낮음 | 기준 | 서버리스 지원 |
| 서버리스 최소 과금 | 100MB (월 약 $6) | 1GB (월 약 $90) | 1GB |
| 복제·페일오버 | 지원 | 지원 | 없음 |
| 영속성(스냅샷·AOF) | 지원 | 지원 | 없음 |
| 자료구조·Pub/Sub·스크립트 | Redis 호환 + 자체 개선 | 지원 | 문자열 중심 |
| 멀티스레드 | I/O 멀티스레드 개선 | 제한적 | 태생부터 멀티스레드 |
Valkey가 기본값이 된 배경 #
2024년 Redis가 라이선스를 바꾸면서 오픈소스 진영이 Redis 7.2 시점에서 갈라져 나와 만든 포크가 Valkey입니다. Linux Foundation 산하에서 개발되고 AWS가 주요 기여자로 참여하므로, ElastiCache에서는 사실상 1급 엔진입니다. 프로토콜과 명령이 Redis와 호환되어 클라이언트 라이브러리를 그대로 쓸 수 있고, 이후 버전에서 멀티스레드 I/O 같은 자체 개선이 붙었습니다.
AWS는 가격으로도 방향을 정해 두었습니다. 같은 노드 타입이면 Valkey가 Redis OSS보다 약 20% 싸고, 서버리스는 약 33% 쌉니다. 기능이 호환인데 단가가 낮으므로, 신규 구축에서 Redis OSS를 고를 이유는 특정 버전 의존이나 조직 표준 정도밖에 남지 않습니다. 기존 Redis OSS 클러스터도 콘솔에서 엔진 전환으로 다운타임 없이 Valkey로 옮길 수 있습니다.
서버리스 최소 과금: 소형 캐시의 결정타 #
노드 기반은 인스턴스를 고르고 시간당 요금을 내는 방식이라 RDS와 같은 문법입니다. cache.t4g.micro 같은 소형 노드로 월 약 $11부터 시작합니다. 서버리스는 저장량(GB-시간)과 처리량(ECPU)에 따라 자동으로 과금되는 방식인데, 여기에 최소 과금이 있습니다.
Redis OSS 서버리스는 최소 1GB부터 과금되어 데이터가 거의 없어도 월 약 $90이 나갑니다. Valkey 서버리스는 최소가 100MB라 월 약 $6부터 시작합니다. 세션 몇만 개를 담는 소형 캐시라면 이 차이가 15배입니다. 서버리스로 작게 시작하고 싶은 워크로드에서 Valkey를 골라야 하는 가장 현실적인 이유입니다.
노드 기반과 서버리스의 선택은 트래픽 패턴 문제입니다. 사용량이 일정하면 노드 기반이 단가상 유리하고, 예약 노드나 Database Savings Plans(노드 기반 약 20%, 서버리스 약 30% 할인)를 걸어 더 내릴 수 있습니다. 약정 체계는 RI vs Savings Plans에서 다룬 대로 컴퓨팅 SP와 별개인 데이터베이스 쪽 약정입니다. 스파이크가 크거나 용량 예측이 안 서면 서버리스가 운영을 줄여 줍니다.
Memcached가 남는 자리 #
Memcached는 복제, 페일오버, 영속성, 풍부한 자료구조가 전부 없습니다. 그 대신 태생부터 멀티스레드라 노드 하나의 코어를 다 쓰고, 구조가 단순해 순수 캐시로는 여전히 유효합니다.
판단 기준은 데이터가 날아가도 되는가입니다. 캐시 노드가 사라졌을 때 DB에서 다시 채우면 그만이고, 세션이나 랭킹처럼 잃으면 안 되는 데이터를 안 담는다면 Memcached로 충분합니다. 반대로 페일오버가 필요하거나, 리스트·셋·Pub/Sub 같은 자료구조를 쓰거나, 스냅샷이 필요하면 Valkey입니다. 실무에서는 이 요건이 하나라도 생기는 순간이 오기 때문에, 애매하면 Valkey로 시작하는 쪽이 재구축을 피합니다.
선택 순서 #
- 신규면 Valkey부터 놓고 시작합니다: Redis 호환에 단가가 20〜33% 낮으므로, Redis OSS를 골라야 할 특별한 이유(버전 의존, 조직 표준)가 있는지만 확인합니다.
- 소형·가변 워크로드는 서버리스 최소 과금을 봅니다: Valkey 100MB(월 약 $6)와 Redis OSS 1GB(월 약 $90)의 차이가 소형 캐시의 결정 요소입니다.
- 상시 균일 트래픽은 노드 기반 + 약정으로 내립니다: 용량이 예측되면 노드 기반이 싸고, 예약 노드나 Database SP로 추가 할인이 붙습니다.
- Memcached는 소실 허용 캐시에만 씁니다: 복제·영속성·자료구조 요건이 하나라도 보이면 Valkey입니다.
- 기존 Redis OSS는 전환 이득을 계산합니다: 같은 구성으로 단가만 20% 내려가므로, 월 요금이 의미 있는 규모면 무중단 엔진 전환을 검토합니다. 전환 전 스냅샷과 클라이언트 호환 확인은 기본입니다.
정리 #
- 신규 ElastiCache는 Valkey가 기본값입니다. Redis 호환에 노드 기반 약 20%, 서버리스 약 33% 싸고 AWS가 개발을 주도합니다.
- 서버리스 최소 과금이 Valkey 100MB(월 약 $6) 대 Redis OSS 1GB(월 약 $90)로 갈립니다. 작게 시작하는 캐시의 결정타입니다.
- 상시 트래픽은 노드 기반 + 약정(예약 노드, Database SP)이 싸고, 가변 트래픽은 서버리스가 운영 부담을 줄입니다.
- Memcached는 복제도 영속성도 필요 없는 순수 캐시 전용입니다. 요건이 애매하면 Valkey로 시작해 재구축을 피합니다.
- 기존 Redis OSS 클러스터는 무중단 엔진 전환으로 단가를 내릴 수 있습니다. 월 요금이 커진 클러스터부터 검토합니다.