develope_kkyu

[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 2 본문

JAVA/Java EE(Spring)

[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 2

developekkyu37 2023. 3. 15. 23:56
728x90

https://developerkkyu37.tistory.com/81

 

[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 1

1. VM 인스턴스 생성 1) google cloud 가입 처음 가입시 3개월간 $300 크레딧 제공 https://cloud.google.com/ 클라우드 컴퓨팅 서비스 | Google Cloud 데이터 관리, 하이브리드 및 멀티 클라우드, AI와 머신러닝 등 G

developerkkyu37.tistory.com

2. 배포

1) root 계정 비번 설정 및 이동

(1) SSH 클릭 (웹 콘솔 이동)

(2) root 계정 비번 설정 및 이동

sudo passwd

 

sudo su

차례대로 입력

2) instance에 자바 설치

모든 기존 패키지가 최신 상태인지 확인

sudo apt update

사용 가능한 목록 찾기

sudo apt-cache search openjdk

OpenJDK17 - JRE, JDK 설치 (중간에 y입력)

sudo apt-get install openjdk-17-jre

sudo apt-get install openjdk-17-jdk

자바 버전이 확인 되면 설치가 완료 된 것

java --version

3) SSH Key 생성

윈도우 OS환경 로컬 PC에서 SSH Key를 생성할 수 있다.

 

(1) Windows PowerShell 관리자 권한 실행

(2) ssh key 생성

먼저, 자신의 윈도우 계정폴더에 접근해준다.

다음 명령어로 .ssh 폴더 생성

mkdir .ssh

.ssh 폴더 접근

키 생성

# 키 생성 명령어

ssh-keygen -t rsa -f {키 파일 이름} -C {본인 gcloud계정 이메일}

# ex)
ssh-keygen -t rsa -f gcp_key -C xmcmrb@gmail.com

생성된 키 확인

type gcp_key.pub

4) GCP 인스턴스 SSH Key 등록

클라우드 브라우저로 돌아가서 Key를 추가로 등록해준다.

Compute Engine > 메타데이터 > SSH키 > SSH 키 추가 > gcp_key.pub 내용 입력 > 저장

5) 원격 접속 확인

PowerShell로 돌아와 접속 명령어 입력

ssh -i {로컬pc의 키파일 경로} {VM의 user계정이름}@{VM의 외부 ip}

ex)
ssh -i /Users/hh/.ssh/gcp_key xmcmrb@34.64.***.***

중간에 ssh 처음 접속할 때, 신뢰할 수 있는지 묻는데 yes 입력

이렇게 뜨면 연결 성공

6) 방화벽 규칙 만들기(외부 접속 포트 설정)

클라우드 VM 사용할때 무조건 Port를 열어줘야 사용이 가능하다.

VPC 네트워크에서 방화벽으로 들어가 방화벽 규칙 만들기 클릭

방벽 규칙을 다음과 같이 설정해준다.

프로젝트에서 포트 설정을 따로 안 해주었다면 기본 포트는 8080이다.

7) 로컬 pc에서 원격 VM에 이동 후 배포(.jar)

  • VS Code를 활용한다.

(1) Extensions에서 Remote - SSH 설치하면 하단에 Remote Explore가 보여진다.

(2) Remote Explorer 에서 SSH을 선택 후 +버튼 클릭

(3) ssh {계정이름}@{외부ip(연결할 ip)} 입력 및 톱니바퀴모양 클릭 후 config 파일 수정

ex) ssh xmcmrb@34.64.xxx.xx

(4) config 파일 수정

Host : 원하는 이름

HostName : VM 외부 IP

User : VM User nm

IdentityFile : 키 파일 경로

(5) 연결 시도

터미널을 열어 원격 접속이 확인되면 연결 성공

(6) .jar 파일 생성

스프링 프로젝트를 만들려면 프로젝트를 .jar파일이나 .war파일로 빌드해주어야 한다.

간단한 스프링 프로젝트 만드는 방법 :

https://developerkkyu37.tistory.com/79

 

[Spring] VScode에서 간단한 스프링 프로젝트 만들기

1. 자바 설치 (1) JDK 다운로드 https://www.oracle.com/kr/java/technologies/downloads/#java17 Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.or

developerkkyu37.tistory.com

기존 스프링 프로젝트를 서버가 있는 곳에 옮겨준 뒤

기존 스프링 프로젝트가 있는 곳에서 bash 터미널을 열어준다. 그 후 ./gradlew bootJar 명령어를 입력해주면 build > libs 폴더안에 {프로젝트ID}-{버전}-SNAPSHOT.jar (ex)demo-0.0.1-SNAPSHOT.jar) 파일이 생성된다.

$ ./gradlew bootJar

(7) .jar 파일 이동

다시 ssh 원격접속으로 돌아와 Explorer 이동 후 상단 Open Folder를 클릭해주면 아래와 같이 경로를 설정해 줄 수 있다.

경로 설정 후 원하는 폴더를 생성하고 .jar 파일을 이동시켜준다.

(8) 배포

터미널을 열고 경로를 잡아준 다음 다음 명령어를 입력하면 배포가 완료된다.

$ nohup java -jar demo-0.0.1-SNAPSHOT.jar

nohup.out 파일을 확인하면 서버가 올라간 것을 확인할 수 있다.

(9) 브라우저 실행

브라우저를 열어 http://{외부 접속 ip}:포트에 접속하면 성공!

ex) http://34.64.xx.xxx:8080

728x90