개발 도구 (Development Tools)/Node.js & MongoDB

Google Cloud Platform으로 프로젝트 배포하기

BiCute 2022. 6. 5. 10:00
반응형

node.js로 서버를 만들고 작업한 프로젝트를 Google Cloud Platform으로 배포하는 방법입니다.

 

 

#1. app.yaml 파일 생성

  서버 설정파일 (server.js)이 있는 루트폴더쪽에 app.yaml 파일을 생성합니다.

  app.yaml 파일에서 App Engine 앱의 설정을 구성할 수 있습니다.

  또한 app.yaml 파일에는 앱 코드, Node.js 런타임, 환경 변수에 대한 정보가 포함되어 있습니다.

runtime: nodejs
env: flex

// 오토매틱 스케일링 설정 (수동 설정 가능)
automatic_scaling:
  min_num_instances: 1
  max_num_instances: 15
  cool_down_period_sec: 180
  cpu_utilization:
    target_utilization: 0.6
  target_concurrent_requests: 100

// 리소스 설정
resources:
  cpu: 2
  memory_gb: 2.3
  disk_size_gb: 10
  volumes:
  - name: ramdisk1
    volume_type: tmpfs
    size_gb: 0.5

샘플 페이지에 위와 같은 예시가 있는데, 다 적을 필요는 없고 필요한 부분만 적용해주면 됩니다.

서버의 메모리, 용량, CPU 등을 조절하는건데 영 모르겠다 싶으면 젤 위에 2줄만 작성해 놓아도 나머지는 구글이 알아서 자동으로 설정해 줍니다.

 

app.yaml General settings >

 

 

 

#2 서버 포트를 8080으로 변경

  구글 클라우드의 기본 세팅 port가 8080이기 때문입니다.

app.listen(8080, function(){
    console.log(`서버 기동`)
  });
})

 

 

 

#3 MongoDB Atlas의 접속 권한 변경

SECURITY > Network Access 항목으로 이동하여 모든 아이피(0.0.0.0)에 허용이 되어있는지 확인해 봅니다.

 

허용이 되어있지 않다면 +ADD IP ADDRESS 버튼을 눌러 ALLOW ACCESS FROM ANYWHERE를 클릭하여 등록합니다.

 

 

 

#4 Google Cloud Platform 접속

 

Google Cloud Platform에 로그인 한 후, 무료로 사용하기를 클릭. 카드 등록 까지 진행합니다.

신분 확인용일뿐 자동으로 결제가 되진 않습니다.

 

Google Cloud Platform >

 

 

 

#5 새 프로젝트 생성

  상단의 프로젝트를 클릭해서 새 프로젝트를 생성해 줍니다. 

  *자동으로 My First Project가 생성되어 있습니다

 

 

 

 

#6 프로젝트 기본 설정

  새로 생성한 프로젝트를 선택한 상태로 왼쪽 메뉴에서 App Engine으로 들어갑니다.

 

  애플리케이션 만들기를 클릭

 

  리전(Region)은 asia-northeast3(서울)을 선택합니다. [다음]

 

리소스 Language를 Node.js로 설정하면 끝입니다.

 

 

 

#7 Google Cloud SDK 설치

 

CLOUD SDK 다운로드 버튼을 눌러 새로 나타나는 페이지에서 시작하기를 선택합니다.

Google Cloud CLI > 

 

Google Cloud CLI 설치 하라고 하는데 윈도우는 그냥 따라하면 되고,

맥을 사용한다면 다음 단계를 따릅니다.

 

 

 

(1) 파이썬 최신버전 설치

  다음 사이트로 이동하여 Downloads 탭에서 프로그램을 다운받아 설치합니다.

 

phython.org >

 

(2) Google Cloud CLI 패키지 다운

Google Cloud CLI 에서 자신에게 맞는 패키지를 다운받아 설치합니다.

버전 확인은 터미널을 열어 getconf LING_BIT 라고 입력하면 확인할 수 있습니다.

굳이 확인하지 않더라도 인텔맥은 어지간해선 젤 위에것을, M1모델은 중간에것을 받으면 됩니다.

 

(3) Google Cloud CLI 패키지 설치

  위에서 다운받은 패키지를 다운로드 폴더에 그대로 둔 체 압축으르 풉니다.

  터미널에서 다운로드 폴더로 이동한 후, ./google-cloud-sdk/install.sh 를 입력해 주면 설치가 진행됩니다.

 

설치를 진행하는동안 몇번의 질문이 나옵니다.

  • Do you want to help improve the Google Cloud CLI (y/N)?  제품 개선에 도움을 주겠느냐 = N

 

  • Modify profile to update your $PATH and enable shell command completion?

  Do you want to continue (Y/n)?   Y

 

나머지 질문 2개정도 더 나오는데 그냥 엔터 엔터로 넘기시면 됩니다.

 

(4) SDK 초기화

위 과정이 끝났다면 이제 초기화를 해줍니다.

다운로드 폴더에서 그대로 ./google-cloud-sdk/bin/gcloud init를 입력해주면 선택지가 계속해서 나타납니다.

구성(configuration)을 선택 > 로그인할 계정을 선택 > 프로젝트를 선택 순으로 진행됩니다.

초기화는 언제든지 가능하니 부담없이 진행합시다.

 

 

 

#8 App Engine에 배포

 

작업중인 폴더로 돌아와 터미널을 열고 다음 코드를 입력합니다.

gcloud app deploy

 

배포할 소스들과 url 등을 보여주고 계속할것이냐고 물어봅니다.  [Y]

 

여기까지 진행하면 나머지는 알아서 자동으로 배포를 해주기위한 작업을 진행합니다. 

(대략 5~10분 정도 걸리니 그냥 놔두시면 자동으로 진행될 것입니다.)

 

※ 배포가 완료되면 url은 다시한번 알려주고 웹에서도 확인 가능하니 굳이 신경쓰지 않아도 됩니다.

 

 

 

#9 추가 업데이트와 배포

  다음 과정을 다시 진행하면 됩니다.

 

(1) SDK 초기화

gcloud init

 

(2) App Engine에 배포

gcloud app deploy

 

 

 

반응형