AWS

[AWS] SpringBoot 프로젝트 (EC2) 배포 Mariadb,Maven, git(2)

z00h 2025. 4. 4. 21:49

 

이번에는 Putty를 이용하여 Ubuntu 콘솔에 접속한 환경에서

Git을 설치하고 Ubuntu에 git clone 하여 배포해보려고 한다.

 

로컬 환경에서 빌드 후 jar 파일을 생성하여 EC2로 가져와도 무방하지만

로컬에서 프로젝트 변경사항이 생겼을때 EC2 내에서 연결된 git에서

자동으로 pull 받아 EC2 내에서 빌드 할 수 있는 편리함이 있어 git과 연동하여 진행해볼 예정이다.

 

 

1. EC2에서 Git 설치 및 설정

 

1.1. Git 설치

EC2에 Git이 설치되어 있는지 확인합니다.

Git을 아래 명령어로 설치

sudo apt update && sudo apt install git -y

 

 

  • Git 설치 확인
git —version

 

 

1.2. GitHub SSH 키 등록

  1. EC2에 SSH 키 생성
ssh-keygen -t rsa -b 4096 -C "email@example.com"
  • Enter 키를 눌러 기본 경로 (~/.ssh/id_rsa)에 저장
  • 패스프레이즈(비밀번호) 입력

 

 

 

 

2. SSH 공개 키 확인

  • 생성된 SSH 공개키를 해당명령어로 출력후 복사한다.
cat ~/.ssh/id_rsa.pub

 

 

3. GitHub에 SSH 키 등록

  • GitHub SSH 설정 페이지로 이동
  • New SSH Key 클릭 후 Title 입력, 공개 키(id_rsa.pub 내용)를 복사하여 추가

 

 

 

 

 

2. GitHub에서 프로젝트 Clone

2.1. 클론할 폴더로 이동 후 Clone

 

클론할 프로젝트 깃허브 레포지토리로 이동 > code > SSH탭, 주소복사

 

 

 

git clone "깃허브에서 복사한 값"

 

이후 ‘yes’ 입력 > 앞서 설정한 패스프레이즈(비밀번호)를 입력한다.

 

 

 

 

 

 

 

3. Java 설치 및 빌드파일 생성, 실행

✅ 3.1 jdk 설치

명령어 입력

sudo apt install openjdk-17-jdk

 

 

설치 확인

java —version

 

 

 

 

✅ 3.2 Maven 설치

 

sudo apt update
sudo apt install maven -y

 

- 버전 확인

mvn -version

 

- 빌드(테스트 하지않고)

mvn clean package -DskipTests

 

 

프로젝트경로 > target하위에 jar 파일이 생성된것을 확인 할 수 있다.

 

 

 

빌드된 jar 파일을 실행 시켜보도록 하자

java -jar target/CarStoreApi-0.0.1-SNAPSHOT.jar

 

실행시 오류가 났다. 당연히 날 수 밖에 없는것이 현재 ec2에 mariadb가 없고 연결하고 있지 않기 때문이다.

 

DB를 우분투에 설치해 보도록 하겠다.

설치 후 현재 로컬 환경인 windows 에서 dbeaver로 접속하여 좀 더 직관적이고 쉽게 테이블을 생성 해보도록 할 예정이다.

 

 

 

 

4. MariaDB 설치 및 연결

✅ 4.1 MariaDB 설치

sudo apt install mariadb-server -y

 

 

  • MariaDB 서비스 실행 및 자동 시작 설정
sudo systemctl start mariadb
sudo systemctl enable mariadb

 

 

 

✅ 4.2 원격 접속 허용

MariaDB의 설정을 변경하여 외부 접근을 허용해야 한다.

  • MariaDB 설정 파일 수정
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

 

 

명령어 입력 후 “bind-address” 를 찾아 아래와 같이 수정한다.

bind-address = 0.0.0.0

 

 

 

  • MariaDB 재시작
sudo systemctl restart mariadb

 

 

 

✅ 4.3 MariaDB 접속 및 스키마(DB) 생성

MariaDB에 접속하여 필요한 DB 및 계정을 생성한다.

  • MariaDB 접속
sudo mariadb -u root -p

 

 

  • 스키마생성
CREATE DATABASE car;

 

 

  • 계정 생성 및 권한 부여
CREATE USER 'user'@'%' IDENTIFIED BY 'your_password'; 
GRANT ALL PRIVILEGES ON car.* TO 'user'@'%'; FLUSH PRIVILEGES;

 

 

 

  • DBeaver로 연결 Test

Server Host: AWS EC2 퍼블릭 ip 입력

Username : 생성한 유저이름 입력

Password : 생성한 패스워드 입력

 

 

 

 

성공적으로 Windows DBeaver에서 EC2의 Mariadb에 연결하여 방금 생성한 스키마를 확인할 수 있다.

 

 

 

 

이제 DBeaver에서 SpringBoot 실행에 있어서 필요한 최소의 테이블을 만들고 다시 실행해보도록 하겠다.

 

 

 

우분투내 SpringBoot가 정상적으로 실행이 되었다

 

 

 

Windows로 돌아와서 크롬에서 publicIp:8080을 검색해보면 404 페이지가 나오는 것도 확인할 수 있다!

 

 

 

 

5. PostMan Api 요청

앞서 DBeaver에서 생성한 Member 테이블에 user를 Insert하는

POST HTTP 요청으로 보내 데이터가 잘 들어가는지 확인해 보도록 하겠다.

 

 

정상적으로 응답을 받았다.

 

 

 

 

Member 테이블에서도 정상적으로 데이터가 잘 들어 간 것을 확인할 수 있다!