[SpringBoot] gradle 빌드와 클라우드 배포하기

임유빈·2022년 8월 1일
0

SpringBoot

목록 보기
4/10
post-thumbnail

1. gradle 방식 빌드

gradle > tasks에 빌드에 빌드 더블 클릭 후 터미널 열기.

빌드가 끝나면 좌측 빌드에 libs 폴더가 생긴다.

하단 터미널에 명령어 입력
cd .\build\libs
pwd
jar 파일 생성
java -jar .\DemoProject-0.0.1-SNAPSHOT.jar

도구 > 배포> 원격호스트

... 버튼 누르고 서버이름작성하기. (타입은 SFTP)

SSH 구성에 ... 클릭

+ 클릭 후 호스트에 외부 IP, 사용자 이름, 인증타입 선택 후 연결 테스트 후 확인.

(오라클 클라우드 > 컴퓨트 > 인스턴스 > IP 가져와서 입력)

libs에 있는 SNAPSHOT 파일을 드래그하여 home에 있는 ubuntu에 올리면 된다. (빌드한 파일을 원격 클라우드 서버에 보내는 것이다.)

  • jar 파일 생성 (jar 파일은 그 자체가 실행 가능한 파일이다.)
  • jre : 원격 클라우드 서버에 있는 파일을 실행 할 수 있게 해준다. (jar를 실행 할 수 있게 해주는 시스템 파일이다.)

2. 클라우드 배포하기

터미널 열고 + 버튼 옆 클릭 > 생성했던 ubuntu 클릭

sudo apt update && sudo apt upgrade -y 명령어 입력 후 엔터

jre 파일 설치
sudo apt-get install openjdk-17-jre 입력 후 Y 치고 엔터.

sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 입력 후 엔터 (우분투 내에서 포트를 설정해준 것으로 방화벽 규칙을 만드는 명령어이다. 도착 포트가 8080로 설정하기)

sudo iptables --list 명령어 (포트가 잘 열렸나 확인하는 명령어이다.)


오라클 클라우드로 설정

클라우드에서 포트 설정해주기 (공유기 설정) / 인스턴스 > 서브넷 클릭

아까 만들었던 방화벽 규칙 클릭하기.

수신 규칙 추가 클릭하기.

소스 CIDR에 0.0.0.0/0 입력, 대상 포트 범위에 8080 입력하기.


구글 클라우드로 설정

vm 인스턴스 클릭

이름 클릭

쭉 내리면 네트워크 인터페이스에서 네트워크 세부정보 보기 클릭

이름 클릭

방화벽 규칙 만들기 클릭

이름 작성 후 로그는 사용안함 선택, (우선순위는 숫자가 낮을 수록 먼저 처리한다.) 대상은 네트워크의 모든 인스턴스 선택 후 IP4에 0.0.0.0/0을 입력 후 TCP에 8080을 입력한다.


최종 배포 확인

터미널 접속

명령어 입력
pwd (: 현재 폴더위치를 알려준다.)
cd Cleancode/_deploy/(: 디렉토리 위치로 이동하는 명령어) 입력 후 ls(: 앞에서 이동한 디렉토리의 목록을 보여주는 명령어이다.)

ls-al 명령어 입력시 더 상세하게 나온다. (: drwxrwxr-x : 권한을 수정하는 명령어)

구글 접속 후 원격 호스트 IP주소:8080 입력 > 배포 성공.

수신 규칙 : 어떤 포트로 받을지 정하는 것으로 들어가려면 포트가 열려있어야하며, 특특정 포트만 지정해서 받을 수 있다. (0.0.0.0/0 : 어떠한 IP든 상관 없이 들어갈 수 있다.)
송신 규칙 : 수신규칙의 반대로 서버에서 인터넷에 보내는 것이다.

내장톰캣 :

클라우드 방화벽과 우분투 방화벽의 차이점

우분투 방화벽 : 서버마다 있는 방화벽이다. (컴퓨터마다 있는 방화벽으로 여러개)
클라우드 방화벽 : 클라우드 자체에서 제공하는 방화벽이다. (1개)

클라이언트와 서버가 서로 정보를 주고 받을 때

클라이언트가 서버에게 정보를 보낼 때 > 수신규칙으로 클라이언트에 있는 정보가 8080 포트

IPTABLES: 우분투 터미널에 들어가서 IPTABLS 명령어를 사용함 : 방화벽을 관리해주는 도구
UFW : 설치를 해야 사용 가능함
iptables > 우분투방화벽을 연다

방화벽이 만들어지는 시점 : 인스턴스가 생성되는 순간 방화벽이 생성되어있지만 닫혀있다 (22번 포트만 열려있다.) > 우분투와 클라우드에 들어가서 포트를 열고 작업을 해주어서 8080포트만 열어줌

서버를 자유롭게 운영할 수 있는 네트워크 관리를 할 수 있다.

0개의 댓글