Spring 프로젝트 GCP (Google Cloud Platform) 서버 배포

김상현·2023년 11월 4일
0
  1. 개요
    Spring boot project 를 클라우드로 배포하는 과정을 정리함
  1. VM 인스턴스 생성
    1) google cloud 가입
    아래의 클라우드 사이트 계정 가입 한다.
    처음 가입 시 $300 크레딧 제공

https://cloud.google.com/

2) 프로젝트 만들기 (VM 인스턴스 생성)
GCP는 프로젝트 단위로 리소스/서비스를 관리 함
즉, 프로젝트 생성 후에 프로젝트 내에서 VM 인스턴스를 생성/사용하는 방식이다.

(1) 이름
원하는 인스턴스 이름 사용

(2) 리전
서버의 물리적 위치, 한국 서비스라면 서울로 선택 하면 된다.

(3) 시리즈
머신 구성 선택,
나는 E2, e2-micro 또는 e2-small 정도 사용한다.
가격과 성능에 따라 선택 하면 된다. (추후 업그레이드 가능)

(4) 부팅 디스크
원하는 운영체제 선택,
나는 Ubuntu , 22.0.4 버전 선택 했다.

(5) ID 및 API 액세스
액세스 범위 - 모든 Cloud API 대한 전체 액세스 허용 선택
방화벽 - "HTTP", "HTTPS" 트래픽 모두 선택

(4) 만들기
하단의 만들기 선택 후 1분 안쪽으로 기다리면 인스턴스가 생성된다.

외부 IP : 외부 브라우저 등을 통해 접근 가능한 주소
SSH : 버튼을 클릭하면 해당 인스턴스의 웹 콘솔로 접근 할 수 있다.

  1. 배포 작업
    Spring boot project가 있다는 가정 하에 시작한다.

1) root 계정 비번 설정 및 이동
sudo passwd
sudo su

2) Java 설치
모든 기존 패키지가 최신 상태인지 확인
sudo apt update

사용가능한 목록 찾기
sudo apt-cache search openjdk

OpenJDK11 - JRE, JDK 설치

sudo apt-get install openjdk-11-jre
sudo apt-get install openjdk-11-jdk

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

root@instance-1:/home/abcd# java --version
openjdk 17.0.4 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.4+8-Ubuntu-120.04, mixed mode, sharing
3) Spring project .jar 파일 만들기
JAR(Java Archive)
JAVA 어플리케이션 동작 할 수 있도록 한 자바 프로젝트 압축 파일

STS4 , Maven 로 jar 파일 만들기

프로젝트 디렉토리로 이동한 후
mvn clean package

빌드된 빌드파일은 해당 프로젝트 폴더 내의 build > libs 에 있다.

4) 로컬 pc에서 원격 VM 에 이동 (.jar 파일)

VS Code 활용
가장 쉽게 접하는 VS Code IDE를 이용해 이동 시킬 수 있다.
Extensions 에서 Remote - SSH 설치 하면 하단에 Remote Explore 가 보여진다.

Remote Explorer 에서 SSH Targets을 선택 후 Add New 클릭

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

Host : 원하는 이름
HostName : VM 외부 IP
User : VM User nm
IdentifyFile : 키 파일 경로

연결시도 후 연결 성공 ~!

.jar 파일 이동

EXPLORER 이동 후 상단 바의 File > OpenFolder 클릭하면 아래와 같이 경로를 설정할 수 있다.
경로 설정 후 원하는 폴더에 .jar 파일을 이동 시킨다.

console 창을 열고 실행 명령어를 입력하면 배포가 완료된다.

백그라운드 .jar 파일 배포

nohup java -jar [jar파일명].jar
nohup java -jar ilaapi-0.0.1-SNAPSHOT.jar

nohup.out 을 클릭해서 보면 서버가 올라간 것을 알 수 있다~!

5) 브라우저 실행

  1. url 연결 오류시 참고 사항 (외부 접속 포트 설정)
    나는 스프링부트 프로젝트 서버를 9090을 사용하고 있었는데

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

VPC 네트워크 > 방화벽 > 방화벽 규칙만들기 아래와 같이 설정 후 저장을 누른다!

끝!

profile
안녕하세요

0개의 댓글