백엔드/AWS

[AWS] EC2에서 빌드 오류 해결하기 - 의존성 문제

연유뿌린빙수 2025. 1. 11. 23:35

 EC2로 배포를 진행하던 도중,
잘 돌아가던 것이 갑자기 연결이 불가능하다고 오류가 떴다.
 
에러 메세지:
org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.j                           ava:40) ~[springserver-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
Caused by: cohttp://m.mysql.cj.jdbc.exceptions.CommunicationsException: Communications                            link failure
 
MySQL connection에서 에러가 뜬다는 것이었다.
 
이에 대하여 보안그룹 설정을 들어갔을 때,
EC2와 RDS 모두 인바운드 규칙이 잘 성립되었음을 확인할 수 있었다.
 
추가로 ubuntu EC2 서버에 mysql을 설치하여 접속도 해보았다.

sudo apt install mysql
mysql -h <RDS 엔드포인트> -u <사용자명> -p 3306

성공적으로 접속이 된다면, EC2와 RDS 사이의 보안그룹 상에는 문제가 없는 것이다.
 
위의 방식으로 연결도 해보았는데, 계속 빌드에서 에러가 떴다.
 
코드 상의 문제는 아닌 것 같아
build의 의존성 캐시에 문제가 생긴 것 같아 build를 다시 하기로 했다.
 
1. build clean하기

./gradlew clean build

기존의 build 들을 지우고 새로 작성해준다.
./gradlew clean 후에 build하는 것도 가능하다
 
2. bootRun하기

./gradlew bootRun

bootRun을 통하여 로그와 함께 빌드 과정을 볼 수 있다.
 
위의 방식들을 통하여, 다시 빌드해보니
성공적으로 MySQL DB와 연결되었다.
Gradle의 캐시 문제였던 것 같다.