[AWS SAA] AWS ElastiCache, 인메모리 캐시의 장점

시훈·2025년 4월 9일

AWS SAA

목록 보기
15/43
post-thumbnail

서비스 응답이 느릴 때, 대부분은 DB가 병목에 빠져있기 때문일 것이다.

그럴 때 등장하는 솔루션이 바로 캐시다.

AWS에서 캐시를 쉽게 관리하고 성능을 극대화하고 싶다면?

바로 ElastiCache다.


💡 ElastiCache란?

AWS ElastiCache는 AWS에서 제공하는 완전관리형(fully managed) 인메모리 캐시 서비스다.

DB나 백엔드 스토리지에 접근하지 않고 자주 쓰는 데이터는 메모리(RAM)에 캐시해서 처리 속도를 높인다.

  • 속도: 디스크 기반 DB보다 100~1000배 빠른 처리 속도
  • 목적: DB 부담 줄이고, 응답 속도 높이기
  • 타입: 두 가지 엔진 지원 → Redis vs Memcached

🧠 인메모리 DB란?

항목설명
저장 위치디스크 ❌ → 메모리(RAM) ✅
장점빠른 읽기/쓰기
단점휘발성 (전원 꺼지면 데이터 소멸)
주요 엔진Redis, Memcached 등

🧪 Redis vs Memcached – 뭐가 다를까?

항목RedisMemcached
멀티스레드❌ 싱글 스레드✅ 멀티 스레드
데이터 구조✅ 리스트, 셋, 해시, 정렬셋 등❌ 키-값 문자열만
보안 (암호화, 인증)✅ 지원❌ 미지원
영구 저장✅ S3에 Snapshot 백업 가능❌ 불가
고가용성 (Multi-AZ)✅ 가능❌ 불가
자동 페일오버✅ 지원❌ 미지원
사용 사례세션 관리, pub/sub, 복잡한 구조 필요단순한 키-값 캐시
확장성수평/수직 확장 가능수평 확장 위주
대표 키워드기능 많음, 안전가볍고 빠름

🔁 캐싱 전략 (패턴)

ElastiCache는 단순히 빠른 저장소가 아니라, 어떻게 쓰느냐가 중요하다.

대표적인 캐싱 전략 두 가지는 다음과 같다.

1️⃣ Write-Through

  • DB에 쓰면 즉시 캐시도 같이 갱신
  • 항상 최신 데이터 유지 (일관성 ↑)
  • 단점: 안 쓰는 데이터도 캐시에 남을 수 있음

2️⃣ Cache-Aside (Lazy Load)

  • DB 먼저 갱신 → 요청이 들어올 때만 캐시
  • 처음엔 느릴 수 있지만, 자주 쓰는 데이터만 남는다
  • 가장 많이 쓰이는 전략

🔐 고가용성과 보안

  • Multi-AZ: AZ 장애 시 자동 전환
  • 자동 fail-over: Primary 노드 장애 시 Replica 승격
  • 암호화: Redis는 TLS/SSL 및 인증 제공
  • Snapshot 백업: Redis는 S3에 정기 백업 가능

🔍 실무 활용 예시

  • 세션 캐싱: 로그인 세션, 장바구니 정보
  • 쿼리 결과 캐시: 무거운 DB 쿼리를 캐시에 저장해 반복 응답
  • 실시간 랭킹: 정렬된 집합 구조 활용
  • pub/sub 시스템: 메시지 브로커로도 사용 가능 (Redis)

🧪 시험 출제 포인트 (AWS SAA-C03)

🔥 캐시 관련 문제는 대부분 세션 관리, 성능 개선, 고가용성과 연결된다.

문제 유형기억할 것
세션을 영구적으로 보관하면서 빠르게 접근하고 싶다ElastiCache Redis Multi-AZ
높은 일관성이 필요하고, 성능도 고려해야 한다Write-Through 캐싱
요청이 있을 때만 캐시를 채우고 싶다Cache-Aside
단순 캐싱만 필요하고 관리도 간단하게 하고 싶다Memcached
Redis vs Memcached 구분Redis는 기능 많고 안전 / Memcached는 가볍고 빠름

❌ Memcached는 Multi-AZ나 백업 기능이 없으므로 중요한 데이터나 세션 저장엔 부적합


🧭 마무리 요약

  • ElastiCache는 빠른 읽기 성능이 필요한 서비스의 핵심
  • Redis는 강력한 기능, Memcached는 가볍고 단순
  • 시험에선 고가용성, 세션 관리, 캐싱 전략이 핵심 키워드

실무에서 속도가 중요할 땐 DB 튜닝보다 ElastiCache 한 줄이 더 빠를 수 있다.

끝!

profile
Backend Developer / Cloud Engineer

0개의 댓글