Serverless Framework를 활용해서 Google Cloud Functions 배포하는 방법

남양주개발자

·

2020. 3. 2. 09:00

728x90
반응형

Serverless Framework를 활용해서 Google Cloud Functions에 배포하려면 우선 Serverless Framework CLI를 설치해야 됩니다.

 

macOS & Linux

curl -o- -L https://slss.io/install | bash

 

Windows

choco install serverless

 

YARN or NPM

yarn global add serverless
// or
npm install -g serverless

 

serverless --version을 통해서 Serverless가 정상적으로 설치되었는지 확인합니다. 아래와 같이 Serverless Framework의 정보가 나오면 정상적으로 설치된 것입니다.

 

정상적으로 Serverless Framework가 설치된 화면

 

자 Serverless를 설치했으니 CLI를 활용해서 GCF를 실행하기 위한 환경을 만들어 보도록 하겠습니다.

--t는 --template, --p는 --path의 약어입니다. 풀네임을 사용하셔도 되고 제가 작성한 것처럼 약어로 입력하셔도 무방합니다.

serverless create --t google-nodejs --p my-service-app

 

해당 명령어로 서버리스 환경을 생성하면 아래와 같이 Serverless Framework에서 명령어의 옵션에 따라서 자동으로 환경을 생성해줍니다.

 

Serverless GCF 환경설정

cd my-service-app
yarn

 

credentials 설정

Serverless Framework에서 사용할 수 있는 적절한 역할로 자격 증명을 만들어야합니다.

 

  1. 구글 클라우드 콘솔로 갑니다.
  2. 상단 Header의 드랍다운에서 프로젝트를 선택합니다.
  3. 왼쪽 사이드바에서 IAM & 관리자 메뉴를 클릭합니다.
  4. 왼쪽 사이드바에서 서비스계정을 클릭합니다.
  5. 상단의 서비스 계정 만들기를 클릭합니다.
  6. 원하는 값으로 Input을 채워주시고 다음을 누릅니다. (서비스 계정 ID는 자동으로 생성됨)
  7. 서비스 계정 권한(선택사항)은 우선 소유자로 세팅하겠습니다. (테스트) 실제로는 하단의 4가지 API만 접근 가능한 서비스 계정 권한에 대한 역할을 설정하고 생성해야 합니다.
  8. 계속을 누르면 키 만들기(선택사항)에서 키 만들기가 있는데 선택해줍니다. 키 유형은 JSON으로 만들고 저장합니다.

JSON형식으로 export

API 및 서비스 사용 설정

API 및 서비스 지원 탭에서 API 및 서비스 사용 설정을 누르고 해당 API가 활성화 되어있는지 확인합니다.

API 및 서비스

  • Google Cloud Functions
  • Google Cloud Deployment Manager
  • Google Cloud Storage
  • Stackdriver Logging

4가지 API가 활성화 되어있는지 확인

아래와 같이 프로젝트 최상단에 이전에 생성한 keyfile.json을 이동시키고, serverless.yml을 수정하도록 하겠습니다.

 

 

세팅하셨다면 이제 서버리스를 배포해볼 시간입니다.

serverless deploy

열심히 올라가는 함수
정상적으로 배포완료

정상적으로 배포가 완료되었습니다.

서버리스의 invoke 명령어로 함수를 실행해봅시다.

 

invoke 명령어로 함수를 실행했을 때 서버리스에서 기본으로 제공하는 index.js의 함수의 반환값이 정상적으로 출력되었음을 확인할 수 있습니다. (-f first는 serverless.yml에서 functions/first을 가리킵니다)

728x90
반응형
그리드형

이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

💖 저자에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가자동으로 복사됩니다