카테고리 없음

Redis 클러스터 구성하기: EC2 3대 사용

idea9329 2024. 10. 15. 09:50
반응형

 

Redis 클러스터를 구성하면 데이터를 여러 노드에 분산 저장하여 성능을 향상시키고 데이터 가용성을 높일 수 있습니다. 이번 가이드에서는 EC2 인스턴스 3대를 사용해 Redis 클러스터를 설정하는 방법을 단계별로 설명하겠습니다.

목차

  1. EC2 인스턴스 준비
  2. Redis 설치
  3. Redis 클러스터 설정
  4. Redis 클러스터 생성
  5. 클러스터 테스트

1. EC2 인스턴스 준비

Redis 클러스터를 구성하기 위해 EC2 인스턴스 3대가 필요합니다. AWS Management Console에서 다음과 같은 설정으로 인스턴스를 생성하세요.

  • 인스턴스 유형: t2.micro (테스트 환경일 경우 적합)
  • 운영체제: Amazon Linux 2 또는 Ubuntu
  • 보안 그룹: 각 인스턴스가 서로 통신할 수 있도록 TCP 포트 6379 (Redis 기본 포트)를 열어야 합니다.

보안 그룹 설정:

  • 인바운드 규칙: 포트 6379을 EC2 인스턴스의 IP 범위로 허용

2. Redis 설치

각 EC2 인스턴스에 Redis를 설치해야 합니다. SSH로 각 인스턴스에 접속한 후 다음 명령을 실행하여 Redis를 설치합니다.

Amazon Linux 2:

sudo yum update -y
sudo amazon-linux-extras install epel
sudo yum install redis -y

Ubuntu:

sudo apt update
sudo apt install redis-server -y

설치가 완료되면 Redis가 제대로 설치되었는지 확인합니다.

redis-server --version

3. Redis 클러스터 설정

Redis 클러스터를 사용하려면 각 Redis 인스턴스의 설정 파일을 수정해야 합니다. 각 EC2 인스턴스에서 /etc/redis/redis.conf 파일을 열어 다음 설정을 추가 또는 변경합니다.

# 클러스터 활성화
cluster-enabled yes

# 클러스터 구성 파일 위치
cluster-config-file nodes.conf

# 클러스터 노드 타임아웃
cluster-node-timeout 5000

# Redis가 포트 6379에서 실행되도록 설정
port 6379

# 외부에서 접근 가능하게 바인딩 (필요시 내부 IP나 0.0.0.0 사용)
bind 0.0.0.0

설정 파일을 수정한 후 Redis 서버를 재시작합니다.

sudo systemctl restart redis

4. Redis 클러스터 생성

Redis 클러스터를 만들기 위해, 각 인스턴스의 Redis 서버가 실행 중이어야 합니다. 이제 Redis 클러스터 생성 명령을 실행해봅시다. 먼저, 클러스터를 만들 인스턴스들의 IP 주소를 확인하세요. 예를 들어, 아래와 같은 형식입니다:

  • EC2 1: 10.0.0.1
  • EC2 2: 10.0.0.2
  • EC2 3: 10.0.0.3

클러스터 생성 명령은 아래와 같습니다. 각 인스턴스의 Redis 포트와 IP 주소를 사용해 명령을 실행하세요.

redis-cli --cluster create 10.0.0.1:6379 10.0.0.2:6379 10.0.0.3:6379 --cluster-replicas 0

--cluster-replicas 0은 복제본을 사용하지 않겠다는 의미입니다. 만약 복제본을 사용하려면 --cluster-replicas 1로 설정하면 됩니다.

5. 클러스터 테스트

클러스터가 정상적으로 구성되었는지 확인하려면, 각 인스턴스에서 Redis CLI를 통해 클러스터 정보를 확인할 수 있습니다.

redis-cli -h 10.0.0.1 -p 6379 cluster info

또한, 클러스터 내의 각 노드를 확인하려면 다음 명령을 사용할 수 있습니다.

redis-cli -h 10.0.0.1 -p 6379 cluster nodes

이 명령을 사용하여 클러스터의 모든 노드가 정상적으로 연결되었는지 확인하세요.

결론

이로써 Redis 클러스터 구성이 완료되었습니다. Redis 클러스터는 데이터 분산 저장 및 성능 향상을 제공하므로 대규모 데이터 처리에 적합합니다. EC2 인스턴스 3대를 활용해 클러스터를 설정하고, 추가적인 요구에 따라 복제본을 설정해 데이터 가용성을 더욱 높일 수 있습니다.

궁금한 점이 있으면 언제든지 문의하세요!

반응형