본문 바로가기
DATA/Redis

Redis vm 생성, AWS EC2 설치

by bzerome240 2023. 8. 6.

 

계정을 만들고, 카드 등록 후

 

검색창에 "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
728x90
반응형

댓글