Redis (Remote Dictionary Storage)는 2009년 이탈리아 해커인 Salvatore Sanfilippo가 개발한 BSD 라이센스 기반의 오픈소스 프로젝트로, 2015년부터 Redis Labs가 지원하는 오픈 소스 기반의 인메모리 Key Value 데이터베이스입니다.
Redis의 주요 특징은 다음과 같습니다.
OCI Cache with Redis는 오픈 소스 Redis 7.0.5를 기반으로 하는 완전관리형 분산 캐싱 서비스로 Redis를 분산 환경 배포 및 관리와 같은 반복적이고 복잡한 작업을 자동화해주는 관리형 서비스입니다.
OCI Cache with Redis의 주요 특징은 다음과 같습니다.
OCI Cache with Redis Cluster를 프로비저닝하기 위해 OCI Console 메뉴에서 Databases > OCI Cache > Clusters를 클릭합니다.
Create Cluster 버튼을 클릭한 후 Cluster Name, Compartment(구획), 버전 (포스팅하는 시점에서 지원하는 버전은 7.0.5 입니다.)을 입력합니다.
Node Configuration에서 각 노드에서 사용하기 위한 메모리와 노드 개수를 입력합니다. 메모리는 노드당 최대 500GB, 노드 개수는 최대 5개까지 지정할 수 있습니다. (총 2500GB까지 확장 가능)
Redis Cluster가 배포될 VCN과 Subnet을 선택합니다.
마지막으로 전체 구성 리뷰 후 Create Cluster를 클릭하여 Redis Cluster를 생성합니다.
설치가 완료되면 Redis CLI를 통해 접속할 수 있는 Endpoint를 확인할 수 있습니다. Redis Cluster는 기본적으로 Public이 아닌 Primary입니다. 따라서 접속을 위해서는 Cluster가 위치한 Subnet과 통신이 가능한 VM 환경에서 접속하거나 OCI Bastion 서비스를 통해서 접속할 수 있습니다.
OCI Cache with Redis는 노드 수와 메모리 확장이 가능합니다.
전체 사용 메모리가 10GB 이하인 경우 1GB당 $0.0194 비용이 발생합니다. 만일 전체 사용 메모리가 10GB 이상인 경우에는 1GB당 $0.0136 비용이 발생하게 됩니다. 자세한 가격 정보는 아래 링크에서 확인할 수 있습니다.
여기서는 OCI Bastion 서비스를 통해서 로컬 PC(MacOS 환경)에서 접속해 보도록 하겠습니다. 먼저 Bastion 서비스와 세션을 다음과 같이 생성합니다. 접속할 환경은 Domain Name 타입으로 Redis Cluster의 Primary Endpoint를 입력합니다.
Bastion 서비스에 대한 자세한 내용은 아래 포스트 참고합니다.
OCI Bastion Service 사용하기
생성된 세션의 SSH Command를 이용해서 접속을 해봅니다.
ssh -i ./ssh/id_rsa -N -L 6379:amaaaaaakv6tzsaawibudjpviwffg3l7pd4f37zxji5dzhxmrwj3nvmczzpa-p.redis.ap-seoul-1.oci.oraclecloud.com:6379 -p 22 ocid1.bastionsession.oc1.ap-seoul-1.amaaaaaakv6tzsaaimwt6nu3e6gmwc36if6beyzs5d7cp4mdvzccp7ovchuq@host.bastion.ap-seoul-1.oci.oraclecloud.com
이제 로컬 환경에서 Redis CLI를 통해서 접속해 보도록 합니다. 우선 Redis CLI를 설치합니다. 설치 관련 가이드는 아래 링크 참고합니다.
Install Redis
로컬 환경에서 Redis CLI를 통해서 접속한 후 테스트로 키/값 입력 및 조회를 해봅니다.
$ redis-cli --tls -h localhost
localhost:6379> ping
PONG
localhost:6379>
SET hkey "Hello Redis World!!!"
OK
localhost:6379> GET hkey
"Hello Redis World!!!"
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Donghu Kim DATAPLATFORM
oci redis