본문 바로가기
Cloud | CICD/Deploy

[Deploy] EC2에서 Redis 사용하기

by seoyamin 2023. 3. 2.
▶ 목적
EC2 서버 하나에서 Redis + Spring boot 프로젝트 동시에 돌리기

 

로컬 내 컴퓨터에 Redis를 설치하여 스프링부트 프로젝트를 돌리다가 서버를 배포하게 되었다.

따라서 Remote Redis 서버 설정이 필요해졌다.

EC2 서버를 하나 새로 만들어서 Redis 서버로 사용하기, AWS의 ElasticCache로 Redis 서버 만들기 등 다양한 선택지가 있었다. 그런데 나의 경우, 다른 팀원이 Redis 서버를 구축할 예정이라, 임시로 API가 돌아가는 수준의 Redis 서버를 간단히 만들고 싶었다.

 

그래서 이번에는 하나의 EC2에 Redis &  Spring boot 프로젝트를 때려넣는(?) 방법을 공유한다.

준비물 : Github Action으로 스프링 부트 프로젝트가 배포되어있는 EC2 서버 1대

 

1. EC2에 Redis 설치

설치 후에 반드시 Redis config 파일을 설정해줘야 한다.

- bind를 127.0.0.1::0에서 0.0.0.0으로 바꿔주기 (누구나 접속 가능한 Redis로 만들기)

 

(1) redis.conf 열기

sudo vi /etc/redis/redis.conf

 

(2) bind 설정 변경

bind 127.0.0.1::1   →   bind 0.0.0.0

 

 

2. EC2 인바운드 규칙에서 Redis용 포트인 6379 열기 

 

3. Spring boot 프로젝트의 application.yml 파일 설정

나의 경우, 보안상 중요한 설정은 application-secret.yml에 넣어두어서 해당 파일을 수정했다.

(Github Action으로 배포중이라면, Github Secrets의 APPLICATION_SECRET 변경해주기)

 

결국, EC2는 스프링 부트 프로젝트를 돌리면서 자신을 Redis 서버로 참조하는 것이다 !

이는 로컬에서의 방법과 동일하다. 다만 배포가 된 것 뿐이다.

 

spring:
  redis:
    host: 내 EC2의 Public IP 주소 (111.2.33.45)
    port: 6379