▶ 목적
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 설치
sudo apt-get install redis-server
설치 후에 반드시 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
'Cloud | CICD > Deploy' 카테고리의 다른 글
[Cors] Cors 에러 삽질 기록 (0) | 2023.03.07 |
---|---|
[Deploy] 배포된 EC2에서 Google Login이 안되는 문제 해결 (0) | 2023.03.02 |
[Deploy] Github Actions + Docker + EC2 자동 배포 #2 | Docker 설정 (0) | 2023.02.28 |
[Deploy] Github Actions + Docker + EC2 자동 배포 #1 | EC2 설정 (0) | 2023.02.16 |
[AWS] EC2 Instance에 Spring boot jar 파일 무중단 배포하기 (0) | 2022.10.19 |