Redis는 매우 빠르고 가볍게 동작하는 메모리 기반의 데이터 저장소로, 분산 환경에서도 유용하게 사용할 수 있습니다. 이번 글에서는 EC2 3대를 이용해 Redis를 설치하고 클러스터를 구성하는 방법을 설명하겠습니다. 이 가이드는 검색 엔진 최적화를 고려하여 작성되었으며, AWS 환경에서 Redis를 구축하는 데 유용한 정보를 제공합니다.
1. EC2 인스턴스 준비
먼저 AWS 콘솔에 로그인하여 Redis를 설치할 EC2 인스턴스 3대를 준비해야 합니다. 각 인스턴스는 Redis 서버로 동작하게 됩니다. Amazon Linux 2 또는 Ubuntu를 사용하는 것이 일반적입니다.
1.1 EC2 인스턴스 생성
- AWS 관리 콘솔에서 EC2 서비스로 이동합니다.
- 인스턴스 시작 버튼을 클릭하고, 원하는 Amazon Linux 2 또는 Ubuntu AMI를 선택합니다.
- 인스턴스 유형은 Redis 서버로 사용하므로 적당한 CPU와 메모리를 선택합니다. (예: t3.micro)
- 각 EC2 인스턴스의 보안 그룹에서 6379 포트(Redis 기본 포트)를 허용하는 규칙을 설정합니다.
- TCP 프로토콜을 사용하고 포트 6379를 열어 줍니다.
- 내부 통신을 위해 EC2 인스턴스 간의 통신을 허용하는 규칙도 추가해야 합니다.
- 인스턴스 생성을 완료합니다.
2. Redis 설치
각 EC2 인스턴스에 SSH로 접속하여 Redis를 설치합니다.
2.1 Redis 설치 (Amazon Linux 2 및 Ubuntu)
Amazon Linux 2 또는 Ubuntu에서 Redis를 설치하는 명령어는 비슷합니다.
- Amazon Linux 2에서 Redis 설치:
sudo amazon-linux-extras install epel
sudo yum install redis -y
- Ubuntu에서 Redis 설치:
sudo apt update
sudo apt install redis-server -y
3. Redis 구성
Redis 설치가 완료되면, 각 EC2 인스턴스에 Redis 클러스터 구성을 적용해야 합니다.
3.1 Redis 설정 파일 수정
Redis 설정 파일을 열어 클러스터 설정을 활성화합니다.
sudo vi /etc/redis/redis.conf
다음 설정을 수정하거나 추가하세요:
- bind: Redis가 EC2 내부 IP 주소로 연결될 수 있도록 허용합니다.
bind 0.0.0.0
- protected-mode: 내부 통신에서는 보호 모드를 비활성화합니다.
protected-mode no
- cluster-enabled: 클러스터 모드를 활성화합니다.
cluster-enabled yes
- cluster-config-file: 클러스터 설정 파일 경로를 지정합니다.
cluster-config-file nodes.conf
- cluster-node-timeout: 클러스터 노드 간 타임아웃을 설정합니다.
cluster-node-timeout 5000
- appendonly: 데이터 영속성을 위해 appendonly 옵션을 활성화합니다.
appendonly yes
설정을 완료한 후 Redis를 재시작합니다.
sudo systemctl restart redis
4. Redis 클러스터 구성
각 EC2 인스턴스에 Redis를 설치하고 구성한 후, Redis 클러스터를 생성해야 합니다.
4.1 Redis 클러스터 생성
Redis 클러스터를 생성하기 위해 각 EC2 인스턴스의 내부 IP 주소를 사용하여 클러스터를 구성합니다. 3대의 EC2 인스턴스에서 클러스터 노드를 초기화합니다.
redis-cli --cluster create <EC2_1_INTERNAL_IP>:6379 <EC2_2_INTERNAL_IP>:6379 <EC2_3_INTERNAL_IP>:6379 --cluster-replicas 1
- EC2_1_INTERNAL_IP, EC2_2_INTERNAL_IP, EC2_3_INTERNAL_IP는 각 EC2 인스턴스의 내부 IP 주소로 변경하세요.
- --cluster-replicas 1 옵션은 각 마스터 노드당 하나의 복제본을 생성하는 옵션입니다.
4.2 클러스터 상태 확인
클러스터가 제대로 구성되었는지 확인하려면 다음 명령어를 사용합니다:
redis-cli -c -h <EC2_1_INTERNAL_IP> -p 6379 cluster info
5. Redis 클러스터 모니터링 및 관리
Redis 클러스터가 성공적으로 구성되었으면, Redis 명령을 사용하여 클러스터를 관리할 수 있습니다.
5.1 Redis 서비스 자동 시작 설정
EC2 인스턴스 재부팅 시 Redis 서버가 자동으로 시작되도록 설정합니다.
sudo systemctl enable redis
결론
이 가이드를 따라 AWS EC2 3대를 사용해 Redis 클러스터를 설치하고 구성하는 방법을 익혔습니다. Redis는 뛰어난 성능과 확장성을 제공하므로, 클러스터 구성을 통해 데이터의 고가용성과 분산 처리 기능을 활용할 수 있습니다.
더 많은 클라우드 인프라 관련 가이드를 원하시면, 블로그를 구독하세요! Redis 클러스터 구축에 대한 질문이 있으면 댓글로 남겨주세요.