REDIS 소개

Redis(Remote Dictionary Server)는 Open Source 기반의 in memory data structure store입니다. String, hashes, lists, sets, sorted sets과 같은 data structure를 제공하며 관계형 데이터베이스 시스템(Relational Database Management System:이하 RDBMS)이 아닌 key/value의 형태로 Data를 저장합니다.

persistence 한 Data도 제공 가능하나, 빠른 성능으로 사용할수 있는 Cache 형태로 많이 사용하고 있습니다. Salvatore Sanfilippo에 의해 2009년 초기 버전이 발표 되었으며 현재 3.2 Cluster까지 발전한 상태이며 전세계 Database 순위 10권 이내에 꾸준히 올라와 있는 캐시영역에서 가장 많이 사용하고 있는 Database입니다.

네이버 클라우드에서는 Redis 3.2.8 버전을 제공하며 Basic Install수준의 기 설치된 이미지를 지원하고 있습니다. "Redis"는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스 메모리 데이터 구조 저장소인 Redis를 이용하고 있습니다.

네이버 클라우드 플랫폼 Redis 설치형 서비스 구성

설치형 서비스

네이버클라우드에서 지원하는 Redis 설치형 서비스의 경우 기본적인 설치기능만 지원되므로 Redis Daemon startup 상태까지만 지원합니다. 이에 관련하여 제공된 설치 이외 부분에 대해서는 기술 지원하지 않고 있습니다.

설치버전 안내

이미지의 경우 redis 공식 site(https://redis.io/)에서 제공하는 redis 3.2 compile 한 버전이며 기본 경로로 설치되어 있습니다.

설치 디렉토리

기본 redis port인 6379로 디렉토리및 설치 파일이 정의되어 있습니다.
설정파일 : /etc/redis/6379.conf
로그파일: /var/log/redis_6379.log
Data 파일 : /var/lib/redis/6379/dump.rdb

redis에 맞는 커널파라미터 설정

네이버 클라우드 플랫폼 Redis 설치형의 OS 커널파라미터는 아래와 같이 설정되어 있습니다.
vm.overcommit_memory=1
net.core.somaxconn = 65535

Redis parameters 설정

네이버 클라우드의 Redis 파라미터는 기본 설정으로 되어 있으며 고객의 필요에 따라 설정을 변경해서 사용하시면 됩니다. 변경 후 Redis 재시작이 필요 하며 기본 설정 파일은 /etc/redis/6379.conf에 있습니다.

① bind (127.0.0.1)

Redis에 접근할 수 있는 네크워크 인터페이스를 지정할 수 있는 설정입니다. 기본은 127.0.1으로 되어 있으므로 Local 접속만 가능합니다.

외부에서 접근 가능하게 하려면 아래와 같이 외부와 통신 할 수 있는 IP를 설정해 주면 됩니다.

  bind 10.33.2.74

bind 설정이 필요 없을 경우 아래와 같이 주석(#) 처리 후 protected-mode를 비활성화 시키시면 됩니다.

  # bind 127.0.0.1

② protected-mode(yes)

protected-mode 여부를 결정하는 파라미터입니다. bind 설정과 같이 연동되며 활성화되어 있을 경우 bind 설정이 비활성화되어 있어도 외부에서 redis 접근 시 명령어 수행이 되지 않습니다.

③ port (6379)

기본 port는 6379입니다. 원하시는 port가 있으시면 수정하시면 됩니다.

④ stop-writes-on-bgsave-error (yes)

rdb 파일에(Data파일) write를 못하면 read_only로만 동작해서 write를 막는 옵션입니다. 만약 어떤 경우라도 write가 되어야 한다면 no로 변경해서 사용하시면 됩니다.

⑤. Maxmemory (설정값 없음)

해당 parameter는 비활성화되어 있으며 이럴 경우 메모리제한이 없습니다. 사용할 메모리를 제한하고 싶으시면 해당 값을 지정해 주시면 됩니다.

서버생성 및 초기 접근 절차

서버 생성

Redis 이미지가 설치된 서버를 생성하는 방법은 아래와 같습니다.

Step 1. www.ncloud.com 접속 및 Login

① 우측 상단 콘솔을 선택하여 콘솔에 접속합니다.

Step 2. 서버생성

① 서버 생성 아이콘을 클릭합니다.

Step 3. 서버 이미지 선택

① [모든 이미지]를 클릭하여 원하는 OS Version에 해당하는 REDIS를 선택합니다.

② [다음]을 클릭합니다.

Step 4. 서버 설정

① 원하는 서버 타입을 설정합니다.

② 원하는 서버명을 입력합니다.

③ [다음]을 클릭합니다.

Step 5. 인증키 설정

인증키 설정 단계에서는 새로운 인증키를 생성하거나 기존 인증키를 그대로 사용할 수 있습니다.

① 처음 사용자는 새로운 인증키 생성을 선택하고 인증키 이름을 입력합니다.

② redis라는 이름으로 인증키를 입력했습니다.

③ 인증키 생성 및 저장을 클릭하고 다운로드된 redis.pem 파일을 안전한 곳에 저장합니다.

  • 이 파일은 향후 서버의 암호를 만들어 내는데 사용됩니다.
  • 같은 pem 파일을 사용하더라도 각각의 서버에 모두 다른 암호가 생성됩니다.

④ [다음]을 클릭합니다.

Step 6. 방화벽 설정

방화벽 설정에서는 ACG(Access Control Group)를 생성하거나 보유 ACG를 선택합니다.

① 처음 생성하는 경우는 ACG 생성을 클릭합니다.

② ACG 이름

적당한 이름을 입력합니다. redis-acg를 입력했습니다.

③ 접근소스

접근을 시도하는 곳의 IP나 대역을 기입합니다. 예를 들면 단일 IP의 경우 10.64.51.205만 입력하고, 10.64.51.XXX 대역에서 모든 접근이 필요할 경우 10.64.51.0/24를 입력합니다. 내부 Private IP가 NAT 방식을 통해 외부로 나갈 경우는 Public IP를 입력해야 합니다. 0.0.0.0/0을 입력했습니다.

④ 허용포트

포트를 개별로 오픈할 경우 필요한 포트 번호를 허용 포트(서비스)에 입력 후 추가 버튼을 누릅니다. 필요 한 포트가 여러 개일 경우 라인을 추가하여 입력합니다. 모든 포트를 오픈할 경우 1-65535를 입력하면 됩니다. 단, 이 경우 서버는 보안에 취약하게 됩니다. 1-65535를 입력 했습니다.

⑤ 우측의 추가 아이콘을 클릭합니다.

⑥생성될 서버의 최종 설정을 확인합니다.

⑦[생성]을 클릭합니다.

Step 7. 최종 확인

위 단계까지 진행하고 난 후, pem key 파일이 내 컴퓨터의 안전한 곳에 보관되어 있어야 하고, ACG 설정을 기억하고 있으면 됩니다. pem 키가 없다면 생성한 서버에 접근할 수 없으니 특별히 유의합니다.

① 서버 생성 아이콘을 클릭합니다.

② 서버가 생성될 때까지 대기합니다.

서버 비밀번호 확인하기

① 원하는 서버를 선택합니다.

② 서버 관리 및 설정 변경 메뉴에서 관리자 비밀번호 확인을 클릭합니다.

③ 3번 부분을 선택해서 redis.pem을 업로드합니다.

④ [비밀번호 확인]을 클릭합니다.

⑤ 최초 생성 시에 제공되는 관리자 비밀번호가 표시됩니다.

  • 최초 로그인 시 위 암호를 이용해 접근하고, 향후 관리를 위해 서버에서 비밀번호를 변경할 수 있습니다.

포트포워딩을 사용한 터미널 접속

① 서버의 접속정보를 입력합니다.

  • PORT: 포트포워딩으로 설정한 포트번호(예: 1234)
  • 공인IP: 포트포워딩 화면에 안내된 서버 접속용 공인 IP(예: 1.255.57.22)

② Open을 클릭하여 접속합니다.

③ [예]를 클릭하여 접속합니다.

④ 계정명 root를 입력합니다.

⑤ 관리자 비밀번호에서 확인한 패스워드를 입력합니다.

Redis 사용법

Redis 접속

아래 같은 명령어로 Redis에 접속합니다. Redis 초기 접속은 Local에서만 가능하므로(bind 설정 참고) 유의하시기 바랍니다.

Redis 중지 및 재시작

아래 같은 명령어로 Redis 중지 및 시작을 할 수 있습니다.

Redis 외부에서 접속

Naver Cloud가 아닌 외부에서 접속할 경우 공인 IP가 필요합니다.

① 공인 IP 신청을 클릭합니다.

  • 공인IP는 보유하고 계신 서버의 개수만큼 신청할 수 있습니다.

② 적용 서버 선택 드랍 다운에서 생성된 서버를 선택합니다.

③ [확인]을 클릭합니다.

④ [확인]을 클릭합니다.

  • Redis 기본설정은 Local 접근만 가능하므로 외부에서 접근하려면 bind, proteced-mode를 비활성화해야 합니다. 비활성화 방법은 1.2.5 Redis parameters 설정을 참고해 주시기 바랍니다.

Redis 모니터링

redis-cli info 명령을 사용하면 아래와 같이 redis 상태정보를 확인할 수 있습니다. 각각의 항목이 의미하는 부분은 INFO - Redis를 참고하시기 바랍니다.

백업

redis는 메모리 기반이지만 Data 백업이 가능하며 아래와 같은 순서로 백업하시기를 권장 드립니다.

① bgsave 명령으로 memory에 있는 Data를 Disk로 내립니다.

② Log 파일을 확인해서 작업이 완료되었는지 확인합니다.

③ /var/lib/redis/6379/dump.rdb 파일을 안전하게 보관합니다.

네이버 클라우드 플랫폼은 별도 스토리지를 지원하므로 백업용 스토리를 추가해서 백업하실 수도 있으며 스토리지 추가는 스토리지 추가 가이드를 참고하시기 바랍니다

서버 이미지 반납

① [정지] 버튼을 클릭합니다.

② [예] 버튼을 클릭합니다.

③ 서버가 정지되면 반납 버튼이 활성화되며 이를 클릭합니다.

④ [예] 버튼을 클릭해 반납을 완료합니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...