-
AWS에서 Redis Master Slave 설정Etc 2024. 7. 15. 00:25
우선, t2.micro유형의 EC2를 Ubuntu로 한대 띄운다.
Master와 Slave 설정을 최소한으로 하기 위해서는,
EC2서버를 2대 띄우고 각각 마스터와 슬레이브에 맞는 설정을 해주면 된다.참고로 네트워크 통신이 가능하게 끔 VPC 와 서브넷을 동일하게 설정해 주는 것을 잊지 말자.
보안 그룹은 최소한으로 다음처럼 해주자.
혹시 연결이 되지 않는 다면, 로그를 확인해 보자.
로그는 다음처럼 입력해서 확인할 수 있다.
$ tail -f /var/log/redis/redis-server.log
다음처럼 오류가 나고 있는 것을 볼 수 있다.
이건 redis.conf에 설정된 bind 를 한번 확인해 보자.$ vi /etc/redis/redis.conf
처음에 다음 처럼 설정되어 있을 수 있다.
bind 127.0.0.1 -::1
이것은 로컬 네트워크 인터페이스에만 바인딩되도록 하여, 외부 네트워크로부터의 연결을 허용하지 않는다.허용하고자 하는 네트워크 아이피로 변경해 주면 된다.
다음은 모든 네트워크 인터페이스에 바인딩되도록 설정하는 방법이다.
bind 0.0.0.0
그럼 slave설정을 해보자.
redis-cli 로 접속한 뒤 replicaof 명령으로 설정할 수 있다.
slaveof는 5.0 부터 사용을 권장하지 않음
다음 명령을 사용해서 설정 가능하다
$ replicaof <masterip> <masterport>
또한 redis.conf에서 설정할 때는 아래 replicaof 를 찾아서 수정해주면 된다.
참고로 vi 에서 파일명을 찾을때는 / 를 입력한뒤, 찾고자 하는 키워드를 검색해 주면 된다.
그리고, 계속해서 동일한 단어에 대해서 찾을 때, n 키를 눌러주면 된다.
redis.conf 파일 적용을 위해서는 다음 redis-server를 재시작 해주면 된다.
redis-server를 docker가 아닌 직접 설치한 경우, systemctl restart redis-server 명령으로 재시작 한다.
그리고, 다음과 같이
$ redis-cli info 를 봤을 때 제대로 슬레이브 설정이 되어 있다면 다음을 확인할 수 있다.
다음은 Slave 서버
다음은 Master 서버
제대로 설정되었다면 master 서버에서 set demo good 과 같이 키를 등록해 보면
slave 서버에서 get demo 를 쳤을때 good 이 프린트 되는 것을 확인해 볼 수 있다.
또한 추가로 비밀번호를 통해 접근하고 싶다면 redis.conf에 다음 설정을 해주면 된다.
Master 서버 - Master 비밀번호 설정
Slave 서버 - Master 비밀번호 설정
이후에는 redis-cli 의 명령어 실행 시 비밀번호가 있어야 명령을 실행할 수 있다.
redis maxmemory 설정 방법은 다음 2가지로 할 수 있다.
$ vi /etc/redis/redis.conf
$ redis-cli config set maxmemory 500mb
설정 후 다음처럼 값을 확인해 볼 수 있다.
'Etc' 카테고리의 다른 글
WebSocket 이란? WebSocket Best Practice! (0) 2025.04.05 Slack Bot으로 Slack Channel에 메세지 보내기(Java) (0) 2023.04.02 rfc7231 - 4.2 Common Method Properties (일부-멱등성) (0) 2022.08.18 수년 전 공부했던 TDD의 기억 (0) 2021.07.14 Visual Studio Code 에서 Git 사용법 (0) 2021.06.25