[AWS] Elastic Beanstalk + Elastic Cache + GithubActions + SpringBoot CI/CD 배포하기 (3)
[AWS] Elastic Beanstalk + Elastic Cache + GithubActions + SpringBoot CI/CD 배포하기 (3)

[AWS] Elastic Beanstalk + Elastic Cache + GithubActions + SpringBoot CI/CD 배포하기 (3)

Tags
AWS
ElasticBeanstalk
ElasticCache
GithubActions
Published
December 22, 2023
Author
lkdcode
Spring Boot 를 AWS 로 배포해보자.
PRJ : Spring Boot (java17)
배포 : Elastic Beanstalk
DB : RDS (MySQL) Elastic Cache Redis
CI/CD : GithubAcations
 
이전 포스팅에서 RDS 를 통해 데이터 베이스 연결에 성공했다.
Elastic Cache 를 이용해 Redis 를 연결하자

💡 Elastic Elastic Cache

notion image
ElasticCache 검색 후 이동한다.
지금 시작 -> Redis 를 클릭
 
notion image
notion image
notion image
특이 사항은 없다. 위와 같이 설정.
복제본 갯수를 0개로 해야 다중 AZ자동 장애 조치 옵션을 비활성화 할 수 있다.
 
notion image
서브넷 그룹 설정.
 
notion image
클러스터 생성 완료.
 
notion image
ElasticCache -> Redis 캐시 -> 클러스터
생성이 완료되면 엔드포인트를 얻을 수 있다.
해당 엔드포인트의 접근 권한을 설정하자.
 
notion image
인바운드 규칙에서 위와 같이 설정한다. 포트는 6379
 

💡 EC2 Key

Redis 가 잘 생성된 것인가?
확인을 위해 로컬에서 접속하려 했지만 접속이 불가하다.
EC2 로 들어가서 확인을 해야하는 상황이다.
Elastic Beanstalk 로 생성하면 SSH 에 접속할 수 있는 키 페어 생성하는 설정이 없다.
키 페어 생성 후 EB 환경 과 맵핑 해주자.
notion image
EC2 -> 키 페어 -> 키 페어 생성
 
notion image
키 페어 이름을 설정해 주고 위와 같이 설정. (Mac)
키 페어 생성 클릭
한 번 발급된 Key 는 재 발급이 불가하므로, .csv 를 다운 받거나 메모한다.
 
notion image
EB 가 생성한 EC2 에 보안에서 인바운드 규칙을 추가해주자.
 
notion image
EB -> 구성 -> 서비스 액세스 -> 편집
 
notion image
위에서 생성한 키를 EC2 키 페어 에 추가해준다. 적용 클릭
 
# 키 페어가 있는 위치에서 # 키 페어 400 으로 권한 변경 $ chmod 400 key.pem # EC2 ssh 접속 $ ssh -i key.pem ec2-user@`퍼블릭 IPv4 주소`
notion image
$ ssh -i 접속할 때의 주소다.
 
notion image
"The authenticity of host .....(yes/no)?" 와 같은 메시지가 뜨면 "yes" 엔터
접속이 완료된 모습
 
notion image
EC2 -> 보안 그룹 -> 사용하고 있는 인바운드 규칙에 6379 를 추가한다.
 

💡 EC2 Redis 설치

redis-cli 구축을 위해 GNU 컴파일러 모음(gcc)을 설치한다.
$ sudo yum install gcc
 
아래의 명령어를 입력해 redis-cli 를 설치한다
$ wget http://download.redis.io/redis-stable.tar.gz $ tar xvzf redis-stable.tar.gz $ cd redis-stable $ make distclean # ubuntu 에서만 입력한다 (생략 가능) $ make
아래 명령어로 접속을 해보자!
 
$ src/redis-cli -c -h `mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com` -p `6379`
접근이 되었다면 redis-cli 명령어를 통해 확인할 수 있다.
 
$ keys *
 

💡 환경 속성 & application.yml

notion image
EB -> 환경 -> 구성 -> 업데이트, 모니터링 및 로깅 -> 편집 -> 환경 속성 에서
Key:Value 로 Redis 를 설정해준다.
  • REDIS_HOSTNAME : 엔드 포인트, ElasticCacheRedis 클러스터에서 확인 가능(ex. mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com)
  • REDIS_PORT : 포트 번호 6379
  • SERVER_PORT : 스프링 부트 프로젝트 배포 5000 (배포를 위한)
notion image
application.yml 도 설정해준다.
 

참고