[side-project/personal-blog] 4. 메시지 CRUD 서버 - Spring Boot+Docker 환경 MongoDB를 GCP에 올려보자

최지수·2022년 9월 10일
0

personal-blog

목록 보기
5/5

블로그를 활성화하기 위해 항상 컴퓨터를 켜둘 순 없죠자취생에게 전기비는 치명타에요. 퍼블릭 클라우드, GCPgoogle cloud platform에서 구동해볼게요.

스펙부터 정해봐요

GCP는 처음 시작 시 22년 8월 기준, 90일간의 300달러 무료 계정을 제공해요.

아직 이 단계에서는 블로그를 본격적으로 운영하지는 않는 단계이기 때문에 테스트용으로 최소한의 스펙으로 구동했어요.

Computer Engine

AWSEC2와 동일한 인스턴스라 보시면 되요. 저는 이걸로 테스트해볼게요.

스펙은 아래와 같아요.

💡 테스트용 인스턴스 스펙

  • 리전 : us-west1(오리건)
  • 영역 : us-west4-b
  • 시리즈 : N1
  • 머신 유형 : f1-micro(vCPU 1개, 614MB 메모리)
  • 방화벽 : HTTP/HTTPS 트래픽 허용
  • 기타 : 기본 값

가장 저렴한 비용으로 사용 가능한 리전은 us-central1, us-west1 등이 있어요.

이걸 구분하는건 우측에 낮은 CO2가 표시되어 있어요.

인스턴스 시리즈 및 유형 중 가장 스펙이 낮은 것은 N1, f1-micro이었어요. 그렇게 하면 월 $5.39 달러밖에 안되요.

시간이 지나니, 해당 스펙으로 돌리는데 한계가 있어, g1-small로 변경했어요.

다양한 인스턴스를 시도하기 위해 무료 비용을 아껴보기로 했어요.

그럼 이제 접속을 해봅시다(SSH)

GCP는 웹 콘솔을 통해 접속할 수 있긴 해요. 하지만 이러면 너무 느려요 ㅠ.

그래서, 저는 SSH 키를 만들어 접속하기로 했어요.

# 옵션 설명
# -t [타입명] : key 생성 type 선택
# -b [숫자] : type 의 bytes 설정, rsa 암호화 방식은 기본 2048인데 4096으로 설정 (보다 안전함)
# -f [파일명] : 생성할 key의 이름
# -C [내용] : 주석 입력, gcp의 메일 계정을 입력
ssh-keygen -t rsa -b 4096 -f gcp_rsa_4096 -C "gcp메일주소"

해당 명령어를 치면 public/private key가 생성되요.

Key 생성 간 Enter passpharase라고 key를 사용해서 ssh 접속 시 입력할 패스워드를 지정하라는 말나와요. 전 그냥 enter 치고 넘겼어요.

결과적으로 이는 password를 따로 치지 않고도 접속할 수 있게 되요.

여기서 .pub인 public key 값을 GCP의 메타데이터에 넣어요.

참고로 저는 Mac 유저라 cat 명령어로 텍스트를 확인하고 복붙했어요.

방화벽 설정

여기까지 했다고 끝이 아니에요. 이제 방화벽도 설정해줘야 해요.

원래라면 매우 정교하게 설정해야 겠지만, 단순 테스트 용도로 사용되고 있으므로, 모든 IP에서 특정 포트 번호, 8080을 개방 시켜볼게요.

[VPC 네트워크]/[방화벽] 탭에서 설정을 추가하면 되요.

소스 IPv4 범위0.0.0.0/0로 주고, 지정된 프로토콜 및 포트를 TCP, 8080으로 지정해줘요.

이로써, GCP에서 8080으로 접속할 수 있게 되요.

# ssh 접속
sudo ssh -i {private key 경로} {생성 시 ID}@{GCP 외부 IP}

배포 및 환경 구성

라기엔 허접하지만...git clone으로 프로젝트를 불러와요

GCP 인스턴스가 처음 실행되었을 때 sudo apt udpate를 수행하고 git을 설치해요.

sudo apt update
sudo apt-get install git

메시지 서버 프로젝트를 git clone을 통해 불러왔어요.

Docker + MongoDB

이번 프로젝트는 docker 환경에 mongoDB를 설치해서 실행했어요. docker를 설치하고 mongoDB 컨테이너를 실행해줍니다.

sudo apt install docker.io
docker run -p 27017:27017 --name mongo_boot -d mongo

이제 실행해봐요

그 다음에 maven을 통해 실행시켜요. 그전에 자바 설치는 여기를 참고하고 설치해주시면 되요.

몬가 기네요 ㅎㅎ

정상 동작하는 것을 확인했어요예이~!.

이것으로 public cloud 환경에서 spring Boot+mongoDB를 활용한 기본 프로젝트를 만들었어요...!

다음에 무엇을 할지 기대해주세요 ㅎㅎ

참고

행궁동 데이터 엔지니어님 블로그 - [GCP] Google Cloud Platform SSH 접속하기 (브라우저 사용 X)

profile
#행복 #도전 #지속성

0개의 댓글