0C 개발일지

AWS Linux EC2 Redis 설치하기 본문

AWS

AWS Linux EC2 Redis 설치하기

0C 2024. 8. 30. 16:23

 

Redis 레디스



빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어.
다양한 인 메모리 데이터 구조 집합을 제공하므로 다양한 사용자 정의 애플리케이션을 손쉽게 생성할 수 있다. 

- Key, Value 구조이며, 메모리에서 데이터를 처리하기 때문에 속도가 빠르다.
- String, Lists, Sets, Sorted Sets, Hashes 자료 구조를 지원한다.
- Single Threaded (한 번에 하나의 명령만 처리할 수 있다.) 

등...

 

  • dnf 패키지 업데이트
sudo dnf update -y

 

  • redis 패키지 검색
sudo dnf search redis

redis6 버전을 사용할 수 있다.

 

  • redis 설치
sudo dnf install redis6

 

  • redis 재시작 & 부팅 시 실행 설정
sudo systemctl restart redis6
sudo systemctl enable redis6

 

  • 기본 설정 변경
sudo vi /etc/redis6/redis6.conf

 

외부 호스트가 redis에 접근 가능하도록 bind 설정 값 변경한다.

Insert 하면 입력 가능해진다.

 

bind 127.0.0.1을 주석 처리 하고

bind 0.0.0.0 을 추가한다. 

해당 값으로 변경하면 모든 IP 로부터 접근 허용하게 된다. 

원하는 포트 번호가 있으면 수정해주면 되지만...

기본 포트 6379을 사용하기로 한다.

 

  • 레디스를 데몬으로 실행하기
  • daemonize option은 redis을 데몬화해서 실행시키는지 여부를 결정하는 옵션으로  no or yes로 구성되며  default 는 no이다.  yes로 변경하면 된다. 
  • 참고로 데몬이란 어떤 오류로 인해 프로세스가 죽어도 그 프로세스를 계속해서 살려서 계속 도는 프로세스라고 생각하면 됨. 레디스를 데몬으로 실행하면 프로세스가 백그라운드에서 실행되고 pid 파일이 생성된다.  왜냐하면 해당 프로세스가 살아있는지 죽어있는지 확인하려고 프로세스 pid를 관찰하며, 이 pid정보는 /var/run/redis.pid에 저장됨
  • 데몬으로 기동 시, redis 여러개 기동할 수 있음 

 

 

  • 보안그룹 설정
  • AWS EC2 보안그룹에 6379 포트 추가하기

  • 설정 파일 적용
sudo vi /lib/systemd/system/redis6.service
sudo vi /etc/systemd/system/redis6.service

 

  • ExecStart 부분에서 버전에 맞는 설정파일이 등록되어 있는지 확인한다. redis6버전이므로 redis6.conf로 되어 있어야 한다.
  • daemonize를 yes로 변경해준다 

 

  • 프로세스가 동작하는지 확인해보기
netstat -ntlp | grep 6379