계정을 만들고, 카드 등록 후
검색창에 "EC2" 를 검색하고 들어와서 "새 인스턴스 시작" 한다
Ubuntu 환경으로 나머지는 기본 설정을해서 만들고
인스턴스에 연결
기본적으로 사용자명은 ubuntu 다.
생성까지는 조금의 시간이 필요하므로 후에 연결하면
<Redis 주요 설정>
sentinel은 1대만 설치해도 되지만 해당 VM에 장애가 발생되면 정상적인 monitoring과 failover가 불가하기 때문에 3대로 설치한다.
장애여부와 failover 시 다수결 의사 결정을 할 수 있어야하기 때문에 sentinel은 홀수개로 설치해야한다.
<EC2 인스턴스에 redis-server 설치하기>
$ sudo su
$ apt-get update
$ apt-get install redis-server
$ cd /etc/redis # redis.conf가 생성됨을 확인
$ ps -ef | grep redis # redis가 실행중인지 확인
$ redis-cli # 로컬에 설치된 redis 접속하기
127.0.0.1:6379 > info # 설정된 내용 확인
<vm 복제하기>
인스턴스 > 첫번째 인스턴스를 선택하고 작업 > 이미지 생성
<생성된 이미지 확인>
이미지 생성까지 시간이 조금 소요된다.
이미지 > AMI
상태 확인 후 사용 가능 상태가 되면 해당 이미지를 활용하여 새로운 VM을 만들 수 있다.
이미지 > AMI > API로 인스턴스 시작
$ redis-cli
$ replicaof 172.31.11.66 6379 # 처음 생성한 private IP
info로 확인 시 master host, port 는 원하는대로 돼있지만, master_link_status 는 down으로 돼있다!
<down 으로 돼있는 이유 해결하기 위한 보안 설정하기>
인스턴스 > 보안 > 보안그룹 > 인바운드 규칙 편집
인바운드 규칙을 추가해준다. ex) TCP / 6379 포트 / launch wizard ~
<로그 확인하기>
$ tail -f /var/log/redis/redis-server.log
하지만.. 나는 연결이 안되는 상태. Why?
연결이 잘 됐다면 master 인스턴스에서 info 확인 시 connected_slaves: 1 이 생겨야한다.
<redis.conf에 메모리 설정해주기>
maxmemory 500mb
sentinel 설치
apt-get install redis-sentinel
ps -ef | grep sentinel
/etc/hosts 에 sentinel.conf 수정
bind IP 추가
sentinel 재시작
$ service sentinel restart
sentinel 중단
$ service sentinel stop
로그 확인
$ tail -f /var/log/redis/redis-sentinel.log
'DATA > Redis' 카테고리의 다른 글
[공유] 캐시 문제 해결 가이드 - DB 과부하 방지 실전 팁 (0) | 2024.06.02 |
---|---|
[NHN FORWARD 2021] Redis 야무지게 사용하기 보고 정리 (0) | 2023.08.26 |
Memcache 와 Redis 비교 (0) | 2023.08.04 |
[공유] (번역) 캐시 시스템 설계할 때 기억해야 할 6가지 캐싱 전략 (0) | 2023.06.18 |
Redis 사용시 주의사항 (0) | 2023.03.09 |
댓글