백엔드 개발자 블로그

Redis 설치 및 설정 본문

DB/Redis

Redis 설치 및 설정

backend-dev 2024. 3. 15. 21:46

AWS에서 Redis(Master,Slave) 설치, Sentinel(Master,Slave,Service) 설치 가이드를 위한 글입니다.


AWS Redis 설치(Master)

AWS에서 인스턴스를 생성해서 redis를 설치해줍시다.

 

1. AWS 접속, 회원가입 (카드정보 기입)

 

2. 로그인(루트 사용자)

 

3. EC2 검색 후 선택

 

4. 인스턴스 시작 클릭

 

5. 인스턴스 시작 (setting)

 

6. 인스턴스에 연결

인스턴스 생성이 좀 걸리므로 좀 기다려야 됩니다.

성공하면 cli 뜹니다.

 

7. Redis 설치

  1. 권리자 권한으로 변경
    • sudo su
  2. apt 설치 업데이트
    • apt-get update
  3. Redis 설치
    • apt-get install redis-server
  4. Continue? => y 입력
  5. Service 상태 출력
    • service redis status

Replica(Slave) 생성 및 설정

master image를 copy해서 Replica를 생성해봅시다.

 

1. 인스턴스 선택해서 이미지 생성 클릭

 

2. 입력사항 입력해서 이미지 생성

 

생성되면 AMI에서 확인 가능합니다.

 

 

3. 자,  이제 replica 설정을 해줍시다.

  1. 생성된 인스턴스에 연결
  2. redis-cli 접속 : redis-cli
  3. AWS 인스턴스에서 master IP 확인
  4. replica 등록 : replicaof [master IP]

 

4. master-replica sync 이전에 6379 포트를 열어줍시다.

그래야 sync가 됩니다.

아무 인스턴스 클릭한 뒤, 보안 그룹 > 인바운드 규칙 편집 눌러주시면 됩니다.

 

5. sync 됐는지 확인합시다.

redis-cli info

 

master _link_status up 으로 바뀌었는지 확인합시다.

 

 

6. maxmemory 설정해 줍시다

master, replica에 설정

`config set maxmemory 500mb`으로 쉽게 설정이 가능하지만 redis 서버 재부팅 시 0으로 초기화 되므로 설정파일에서 설정해줍시다.

  1. 설정 파일 열기
    • vi /etc/redis/redis.conf
  2. maxmemory 내용 수정
    • memory <byte>` => `memory 500mb`
  3.  저장
    • esc -> :wq

Sentinel 설치 및 설정

Sentinel를 Master, Replica, Service 서버에 각각 1개 씩 설치할 예정입니다.

  • sentinel 3대 설치한 이유
    • 1대만 설치하는 경우, 해당 VM이 장애가 발생하면 monitoring, failover가 안됨
    • Sentinel은 다수결로 의사를 결정하기 때문에 홀수개로 설치해야 됨
  • 작동원리
    1. master server가 down 됨
    2. slave 2개가 master가 down이라고 판단함
    3. 과반수 이상 down 됐다고 판단했으므로 자동으로 slave 중 하나가 master가 되고, master는 slave가 됨

 

  1. 서비스 인스턴스 생성
  2. sentinel를 3개 를 설치해야 되므로 미리 생성함
  3. sentinel 설치
    1. 설치할 인스턴스에 접속
    2. 설치
    3. `apt-get install redis-sentinel`
    4. 설치 확인
    5. `ps -ef | grep sentinel`
  4. 3개 설치할 예정, master에 1개, replica에 1개, service에 1개
  5. bind(선택)
    1. 설정파일 열기
    2. `vi /etc/redis/sentinel.conf`
    3. bind 수정
    4. 설치 후에 나온 ip로 수정
    5. 재시작
    6. `service redis-sentinel restart`
  6. 설치 확인 할 때 나오는 ip가 다르다면 bind 설정해줘야 됨
  7. fail over 설정
    1. 설정파일 열기
    2. `vi /etc/redis/sentinel.conf`
    3. master IP 설정
    4. `sentinel monitor mymaster [master IP] [redis port] [down판단 기준수]`
  8. 26379 port 열어주기
    1. 아무 인스턴스 클릭
    2. 보안 그룹 클릭
    3. 인바운드 규칙 편집 클릭
    4. 포트 26379 추가 (launch wizard 5 그룹)

 

'DB > Redis' 카테고리의 다른 글

Redis UI Tools  (0) 2024.03.15
Redis 장애 상황과 대응  (0) 2024.03.15
Redis CLI  (0) 2024.02.19
Redis 개념  (0) 2024.02.19