Redis 사용 계기

노숙인 공모전에 참가하여 SW개발을 진행중이었다.
로그인을 할 때 SMS 인증을 하기로 결정되었다. 따라서 문자로 보내는 인증 번호를 Redis에 저장하도록 구현하였다.
초반에는 local에만 redis를 설치하고 테스트하였는데, 배포까지 하고 나중을 생각하면 server에 redis를 설치해야 했다.

Server에 Redis 설치

나는 AWS의 EC2서버를 이용하였다. 또한 git bash에서 모든 커멘드를 작성했다.

EC2 접속

ssh -i [키페어경로] ubuntu@[퍼블릭 IPv4 주소]

Redis 설치

sudo apt-get update
sudo apt-get upgrade
sudo wget http://download.redis.io/redis-stable.tar.gz 
sudo tar xvzf redis-stable.tar.gz

Redis 설정

sudo vi /etc/redis/redis.conf

작성 시에는 # 주석을 제거하고 적어야 한다. 또한 설정 파일이 매우 길기 때문에 vim 파일에서 원하는 단어를 찾아가야 한다.
/[단어]를 입력하고 엔터를 치면 된다. 그리고 n 버튼을 누르면 계속해서 다음 단어를 찾아나간다.

  1. 비밀번호 설정 image

  2. 접속 가능 ip 설정 image

  3. maxmemory 설정 image

  4. 데이터 교체 알고리즘 설정 사용 가능한 데이터 교체 알고리즘은 여기에 있다. image

Redis 실행

sudo systemctl start redis-server
sudo systemctl restart redis-server // 재시작
  • systemctl : 백그라운드 프로세스를 제어하는 명령어

비밀번호 설정 후 들어가려면 redis-cli를 친 후 AUTH 비밀번호를 입력해야 한다. image

EC2 포트 개방

EC2 인스턴스 -> 보안 -> 보안 그룹 -> 인바운드 규칙 편집 -> 6379 포트 추가
redis의 기본 포트는 6379이다. 커스텀해서 변경했다면 바꾼 포트를 넣어야 한다. image

Redis 원격 접속

redis-cli -h [EC2인스턴스의 IP or DNS] -p 6379 -a [redis.conf에 설정한 비밀번호]

image


참고 : 블로그


로컬에 Redis 설치

로컬에서 테스트하고 싶다면 아래를 따라하자.
ubuntu에서 명령어를 실행했다.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install redis-server

설치된 것 버전 확인

redis-server --version

image

후기

redis란..매우 편리한 인메모리 데이터 구조 저장소이다. 인증 번호 값을 바로 프론트엔드로 보내면 보안이 취약하다.
redis를 사용하면 안전하게 관리할 수 있다. 인증과 관련해서는 redis를 애용하자!