ElasticCache의 모든 캐시는 IAM 인증을 지원하지 않으므로 IAM 정책은 AWS API-수준의 보안에서만 사용하므로 캐시 생성, 캐시 제거 등에만 가능
Redis AUTH를 사용해 Redis 클러스터 생성 시 비밀번호와 토큰을 설정할 수 있어 캐시에 들어갈 때 비밀번호를 입력하도록 함 이는 캐시를 대상으로 하는 보안 그룹 이상 수준의 보안 기능이며 또한 in-flight 암호화를 통해 SSL 보안을 지원
Memcached는 좀 더 높은 수준의 SASL 기반 인증을 지원
캐시 보안은 경우 EC2 인스턴스는 자신의 자체 보안 그룹을 가지고 있고 자체 보안 그룹을 통해 Redis에 접근할 수 있어 ElastiCache를 사용해 보안 그룹 수준을 높일 수 있음 in-flight 암호화는 SSL 암호화를 가지며 인증으로 ElastiCache에서 Redis 종류의 캐시를 사용한다면 Redis AUTH 이용 가능
Lazy Loading 모든 read 데이터가 캐시되고 데이터가 캐시 안에서 오래 있을 수 있음
ElastiCache에 캐시 히트가 있다면 애플리케이션은 캐시로부터 데이터를 가져오며 캐시 미스가 있다면 데이터베이스로부터 read하며 캐시로 write Lazy Loading이라고 불리는 이유는 캐시 히트가 없는 경우에만 ElasticCache로 데이터를 로드하기 때문
Write Through DB에 write될 때마다 캐시에 데이터를 추가하거나 업데이트하여 오래된 데이터가 없도록 함
Session Store TTL (Time-To Live) 기능을 사용해 임시 세션 데이터를 캐시에 저장하고 세션을 만료할 수 있음
+) 컴퓨터 과학에는 캐시 무효화와 이름을 짓는 것이 아주 어려운 일이므로 캐싱은 아주 복잡한 주제
예) 게임 순위표는 계산적으로 복잡 (게임 리더 보드 생성은 아주 복잡) 하며 어떤 게임의 1, 2, 3등이 누구인지를 알아내야 함
Redis Sorted 세트라는 속성은 고유성과 요소 순서를 모두 보장
새로운 요소가 추가될 때마다 실시간으로 순위가 매겨진 다음 올바른 순서로 추가
그러므로 Redis 클러스터가 있다면 실시간으로 1, 2, 3등의 플레이어를 보여주는 실시간 리더 보드를 생성할 수 있으며 모든 Redis 캐시는 동일한 리더 보드를 사용할 수 있어 클라이언트가 Redis를 통해 ElastiCache와 소통할 때 레버리지, Redis, Sorted Sets를 통해 실시간 리더 보드에 접근 가능
ElasticCache의 모든 캐시는 IAM 인증을 지원하지 않으므로 IAM 정책은 AWS API-수준의 보안에서만 사용하므로 캐시 생성, 캐시 제거 등에만 가능
Redis AUTH를 사용해 Redis 클러스터 생성 시 비밀번호와 토큰을 설정할 수 있어 캐시에 들어갈 때 비밀번호를 입력하도록 함 이는 캐시를 대상으로 하는 보안 그룹 이상 수준의 보안 기능이며 또한 in-flight 암호화를 통해 SSL 보안을 지원
Memcached는 좀 더 높은 수준의 SASL 기반 인증을 지원
캐시 보안은 경우 EC2 인스턴스는 자신의 자체 보안 그룹을 가지고 있고 자체 보안 그룹을 통해 Redis에 접근할 수 있어 ElastiCache를 사용해 보안 그룹 수준을 높일 수 있음 in-flight 암호화는 SSL 암호화를 가지며 인증으로 ElastiCache에서 Redis 종류의 캐시를 사용한다면 Redis AUTH 이용 가능
Lazy Loading 모든 read 데이터가 캐시되고 데이터가 캐시 안에서 오래 있을 수 있음
ElastiCache에 캐시 히트가 있다면 애플리케이션은 캐시로부터 데이터를 가져오며 캐시 미스가 있다면 데이터베이스로부터 read하며 캐시로 write Lazy Loading이라고 불리는 이유는 캐시 히트가 없는 경우에만 ElasticCache로 데이터를 로드하기 때문
Write Through DB에 write될 때마다 캐시에 데이터를 추가하거나 업데이트하여 오래된 데이터가 없도록 함
Session Store TTL (Time-To Live) 기능을 사용해 임시 세션 데이터를 캐시에 저장하고 세션을 만료할 수 있음
+) 컴퓨터 과학에는 캐시 무효화와 이름을 짓는 것이 아주 어려운 일이므로 캐싱은 아주 복잡한 주제
예) 게임 순위표는 계산적으로 복잡 (게임 리더 보드 생성은 아주 복잡) 하며 어떤 게임의 1, 2, 3등이 누구인지를 알아내야 함
Redis Sorted 세트라는 속성은 고유성과 요소 순서를 모두 보장
새로운 요소가 추가될 때마다 실시간으로 순위가 매겨진 다음 올바른 순서로 추가
그러므로 Redis 클러스터가 있다면 실시간으로 1, 2, 3등의 플레이어를 보여주는 실시간 리더 보드를 생성할 수 있으며 모든 Redis 캐시는 동일한 리더 보드를 사용할 수 있어 클라이언트가 Redis를 통해 ElastiCache와 소통할 때 레버리지, Redis, Sorted Sets를 통해 실시간 리더 보드에 접근 가능