여기서 얘기하는 클러스터(cluster)란 여러 캐시 서버를 이루는 한 단위의 그룹을 뜻한다. 여기서 하나의 캐시 서버를 노드(Node)라고 얘기한다.
출처 : AWS 공식 문서
‘클러스터 모드’ 설정하기
대규모 트래픽 처리를 위한 ‘클러스터 모드’라는 게 있다. 하지만 어지간한 규모의 트래픽이 발생하는 서비스가 아니라면 ‘클러스터 모드’를 쓸 일은 없다. 나중에 관심이 있으면 따로 공부하도록 하자. 레디스를 입문할 때 우선순위가 높은 기능은 아니다.
‘클러스터 정보’ 입력하기
여러 클러스터를 생성했을 때 구별하기 위해 이름을 붙인다. 이름은 바꿀 수 있으니 편하게 적어도 된다.
‘위치’ 설정하기
다중 AZ(Multi AZ)는 여러 Region에 캐시 서버를 나눠서 셋팅해두는 것이다. 특정 Region에서 재난이 발생해 서비스가 중단될 수도 있는 걸 방지하는 기능이다. 하지만 재난이 발생할 가능성은 아주 적은데 비해서 비용은 추가로 발생하기 때문에, 재난으로 인해 서비스가 중단되는 게 치명적인 경우가 아니면 사용하지 말자.
자동 장애 조치(Failover)는 클러스터 내부에 특정 노드(Node)가 장애가 났을 때 정상 노드(Node)로 교체하는 기능이다. 쉽게 얘기해서 내부에 장애가 일어나면 스스로 고치는 기능이다.
‘클러스터 설정’ 셋팅하기
최소한의 비용으로 테스트하기 위해 복제본 개수는 0으로 하자.
복제본 개수가 늘어날수록 노드(Node)가 늘어난다. ElastiCache는 노드(Node)당 가격을 매기고 있다.
복제본 개수를 1 이상 써야만 Failover 기능을 활용할 수 있다. 이 때문에 프로덕션에서는 복제본 개수를 1개 이상 만드는 경우가 많다.
기존 서브넷 그룹 선택하기
‘가용 영역 배치’는 설정하지 않고 다음으로 넘어가기
‘보안’ 설정하지 않기
현재로썬 중요한 기능이 아니기 때문에 체크하지 않고 넘어가자. 이 옵션을 체크하지 않는다고 해서 보안적으로 치명적인 건 아니니 걱정하지 말자.
EC2 서비스로 가서 보안그룹 생성하기
6379번 포트로 대해 모든 IP가 접근하게 허용하면 보안적으로 위험한 건 아닌가 걱정될 수 있다. 하지만 ElastiCache는 기본적으로 같은 VPC 내에서만 접근을 할 수 있고, 외부 IP에 대해 접근하는 게 막혀있다. 따라서 보안 그룹에서 모든 IP를 대상으로 허용한다고 하더라도 외부에서 접근할 수는 없으니 걱정하지 않아도 된다.