스프링부트 프로젝트를 AWS로 배포해 보겠습니다.
순서
1. SpringBoot 프로젝트를 .jar 파일로 build 한다.
2. FileZila를 통해 jar 파일을 EC2로 전송한다.
3. EC2에 자바를 설치한 후 jar 파일을 실행한다.
RDS 엔드포인트 복사
AWS에 RDS로 이동
연결 & 보안에서 엔드포인트를 복사한다.
HeidiSQL 을 통해 AWS RDS 접속, DB 생성
HeidiSQL
MySQL, MariaDB, MSSQL 를 통합적으로 관리할 수 있는 오픈소스 소프트웨어이다.
HeidiSQL을 사용하면 터미널 접속 없이 관리할 수 있다.
HeidiSQL을 다운받은 후 실행
신규로 새로운 세션 생성
- 호스트명 / IP : RDS의 엔드포인트
- 사용자 : RDS 생성할 때의 아이디
- 암호 : RDS 생성할 때의 암호
- 포트 : 3306
열기를 통해 RDS의 접속
이름 변경을 통해 세션을 이름을 변경할 수 있습니다.
세션을 마우스 우클릭으로 새로운 DB를 생성할 수 있습니다.
(필자는 temp라는 DB를 새로 생성했습니다.)
SpringBoot 설정
스프링부트 application 파일로 이동
DB의 연결 정보를 AWS DB로 설정해야 한다.
#mariadb 설정
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://aws rds 주소:3306/db이름
spring.datasource.username=username
spring.datasource.password=password
AWS RDS 주소는 엔드포인트, DB는 사용하고 싶은 DB명을 기입합니다.
username, password는 RDS를 생성할 때 만든 아이디와 암호를 입력합니다.(HeidiSQL과 동일)
참고
만약 controller에서 html을 부를 때 앞에 / 가 있으면 제거해주셔야 합니다.
Local에서 작업할 땐 이상이 없지만 리눅스 환경에서는 읽지 못하기 때문에 에러가 발생합니다.
@GetMapping("/swagger") public String swagger() { //return "/spring/swagger/swagger"; <-- 리눅스에서 파일위치를 찾지 못함 return "spring/swagger/swagger"; }
SpringBoot .jar 파일로 Build
설정이 끝난 후 스프링부트 오른쪽 상단에 Gradle을 클릭합니다.
프로젝트명 - Tasks - build - build 를 선택하면 스프링부트가 .jar 파일을 만듭니다.
생성된 jar 파일은 왼쪽 사이드바 메뉴에 있습니다.
build - libs의 첫번째 .jar 파일이 EC2로 옮겨 배포할 파일입니다.
(필자같은 경우 파일을 선택한 후 ctrl + c로 복사 후 임시파일에 옮겨 저장했습니다.)
FileZila를 이용해 .jar 파일을 EC2로 옮기기
FileZila(파일질라)
FTP(File Transfer Protocol) 프로그램으로 파일 전송 프로그램입니다.
개인 컴퓨터와 운영하는 사이트(웹서버)간에 파일을 전송하기 위해 사용합니다.
웹서버에서 수정하는 것보다 개인 PC에서 작업한 후에 보내는 것이 더 편할 때 사용합니다.
파일질라를 다운받은 후 실행합니다.
왼쪽 상단의 사이트 관리자 열기를 클릭합니다.
- 프로토콜 : SFTP - SSH File Transfer Protocol 선택
- 호스트 : EC2 퍼블릭 IP를 기입
- 로그온 유형 : 키 파일 선택
- 사용자 : SSH 접속할 때 설정한 이름 (우분투인 경우 ubuntu)
- 키 파일 : 찾아보기를 통해 .ppk파일 선택
설정한 후 연결을 누르면 파일잘라를 통해 EC2 가상 컴퓨터에 접속할 수 있습니다.
오른쪽 화면이 EC2 가상 컴퓨터 접속해 나타난 화면입니다.
이곳에 build한 .jar파일을 드래그해서 옮기면 파일이 전송됩니다.
(필자같은 경우 temp로 이름을 바꾼 다음에 옮겼습니다.)
PuTTY로 접속한 후 EC2에서 Java 설치하기
저번 글에서 설명한데로 PuTTY로 EC2에 접속합니다.
SSH에 접속한다음 Java를 다운받는 명령어와 .jar 파일을 실행하는 명령어를 입력합니다.
sudo apt-get update // 동기화 한 번 해주기
sudo apt-get install openjdk-11-jdk // 자바 11 설치
java -version // 버전 확인
java -jar 파일이름.jar // 자바 파일 실행
실행 명령어를 입력하면 로컬PC에서 익숙하게 본 스프링부트 프로젝트 실행이 나타납니다.
Ctrl + C 를 누르면 실행중인 자바 파일을 종료할 수 있습니다.
SSH 쉘에 위쪽 방향키를 누르면 최근 입력한 명령어를 불러올 수 있다.
인터넷 창에 public (IPv4주소):8080 을 입력하면 실행한 스프링부트 웹 페이지에 접속할 수 있습니다.