본문 바로가기

Infrastructure/Certificate

[SAA] AWS Fundamentals - ElastiCache

AWS Fundamentals: ElastiCache

이번 장에서는 SAA를 준비하며 ElastiCache에 대해서 알아보도록 한다.


ElastiCache

  • RDS가 관리되는 관계형 데이터베이스를 가져오는 방식과 동일하다.
  • ElastiCache는 AWS에서 제공하는 완전 관리형 Redis 또는 Memcached다.
  • 캐시는 매우 높은 성능과 짧은 대기 시간을 가진 인메모리 데이터베이스다.
  • 읽기 집약적인 워크로드에 대한 데이터베이스의 부하를 줄이는 데 도움이 된다.
  • 애플리케이션을 stateless 상태로 만드는 데 도움을 준다.
  • AWS에서 OS관리/패칭, 최적화, 설정, 구성, 모니터링, 장애 복구 및 백업을 처리한다.
  • ElastiCache를 사용하면 애플리케이션 코드가 많이 변경된다.

DB Cache

  • 애플리케이션은 ElastiCache를 쿼리하며 사용할 수 없는 경우 RDS에서 가져와 ElastiCache에 저장한다.
  • RDS의 부하를 줄이는 데 도움을 준다.
  • ElastiCache에서 가장 최신 데이터만 사용할 수 있도록 하는 무효화 전략을 가지고 있어야 한다.

사용자 세션 저장소(User Session Store)

  • 사용자가 모든 애플리케이션에 로그인한다.
  • 애플리케이션은 ElastiCache에 세션 데이터를 저장한다.
  • 애플리케이션은 다른 인스턴스가 저장한 유저 세션 데이터를 조회할 수 있다.
  • 인스턴스가 데이터를 검색하고 사용자는 이미 로그인되어 있다.

Redis vs Memcached

  • Redis
    • 다중 가용 지역 자동 장애 조치를 지원한다.
    • 읽기 전용 복제본을 확장하여 높은 고가용성을 유지할 수 있다.
    • AOF 퍼시스턴스를 사용하여 데이터 내구성을 높일 수 있다.
    • 백업 및 복원 기능을 제공한다.
  • Memcached
    • 데이터 분할을 위한 다중 노드(샤딩)를 제공한다.
    • 복제를 통한 고가용성을 제공하지 않는다.
    • 데이터가 비영구적이다.
    • 백업 및 복원 기능을 제공하지 않는다.
    • 다중-스레드 아키텍처를 제공한다.

Cache Security(캐시 보안)

  • ElastiCache의 모든 캐시:
    • IAM을 통한 인증을 지원하지 않는다.
    • ElastiCache의 IAM 정책은 AWS API 레벨의 보안만 지원한다.
  • Redis 보안:
    • Redis 클러스터를 생성할 때, “비밀번호/토큰”을 설정할 수 있다.
    • 이것은 보안 그룹 상위에서 작동하는 캐시에 대한 추가 보안 수준이다.
    • 전송 중 암호화를 지원한다.
  • Memcached 보안:
    • 강화된 SASL 기반의 인증을 지원한다.

ElastiCache의 패턴

  • Lazy Loading: 모든 읽기 데이터가 캐싱되고 데이터가 캐시에서 오래 지속될 수 있다.
  • Write Through: DB에 기록할 때 캐시에 데이터를 추가하거나 업데이트한다.
  • Session Store: 임시 세션 데이터를 캐시에 저장한다. TTL을 추가로 지원한다.
  • 컴퓨터 사이언스 관점에서 캐시 무효화와 네이밍은 여전히 어려운 문제이다.

Redis Use Case

  • 게임에서의 순위표는 복잡하게 계산된다.
  • Redis Sorted 세트는 고유성과 요소 순서를 모두 보장한다.
  • 새로운 요소가 추가될 때마다 실시간으로 순위가 매겨진 다음 정확한 순서에 추가된다.

참고 자료

'Infrastructure > Certificate' 카테고리의 다른 글

[SAA] Discussions - WhatIsTheTime.com  (0) 2022.11.16
[SAA] Route 53  (0) 2022.11.16
[SAA] AWS Fundamentals - Aurora  (0) 2022.11.02
[SAA] AWS Fundamentals - RDS  (0) 2022.11.02
[SAA] High Availability and Scalability: ASG  (0) 2022.11.01