본문 바로가기
※ IT관련

"Google Cloud Functions 코드 업로드: Cloud Console과 gcloud CLI 비교"

by 홍길동젼 2025. 1. 12.
728x90
반응형
반응형

 

 

1. Cloud Console과 gcloud CLI 개요

  • Cloud Console:
    Google Cloud의 웹 기반 사용자 인터페이스로, 코드 업로드와 배포를 시각적으로 쉽게 처리할 수 있습니다.
  • gcloud CLI:
    Google Cloud의 명령줄 도구로, 스크립트 기반 자동화 및 반복적인 작업을 효율적으로 수행할 수 있습니다.

 

2. Cloud Console을 사용한 업로드

장점:

  • 사용자 친화적 UI로 초보자도 쉽게 접근 가능
  • 설정 과정이 직관적이고 명확함
  • 코드 및 설정을 시각적으로 확인 가능

단점:

  • 반복적인 작업에는 비효율적
  • 자동화가 불가능하므로 대규모 프로젝트에 부적합

업로드 과정:

  1. Cloud Functions 페이지 접속
  2. 함수 생성
    • Create Function 클릭
    • 함수 이름, 리전, 런타임(Node.js, Python, Go 등) 선택
  3. 코드 업로드
    • Inline editor: Cloud Console에서 직접 코드 작성
    • Zip upload: 로컬 환경의 Zip 파일 업로드
    • Source repository: GitHub 또는 Cloud Source Repositories와 연결
  4. 트리거 설정 및 배포
    • HTTP 트리거 또는 이벤트 트리거 선택
    • 배포 클릭

 

3. gcloud CLI를 사용한 업로드

장점:

  • 빠르고 반복적인 작업에 최적화
  • CI/CD 파이프라인과 쉽게 통합 가능
  • 추가 설정과 스크립팅 유연성 제공

단점:

  • 초보자에게 명령어 사용법이 다소 어려울 수 있음
  • Cloud Console에 비해 시각적인 정보 부족

업로드 과정:

  1. gcloud CLI 설치 및 초기화
    • CLI 설치 후 Google 계정으로 인증: 
    • gcloud auth login gcloud config set project [PROJECT_ID]
  2. 코드 작성 및 압축
    • 함수 코드를 작성하고 디렉토리 압축: 
    • zip -r function.zip .
  3. 코드 업로드 및 배포
    • 배포 명령 실행:
      gcloud functions deploy FUNCTION_NAME \
          --runtime RUNTIME \
          --trigger-http \
          --source PATH_TO_CODE
      
      • 주요 플래그:
        • --runtime: 런타임 환경 설정(Node.js, Python 등)
        • --trigger-http: HTTP 요청 트리거 설정
        • --source: 코드 경로(zip 파일 또는 디렉토리)

 

4. Cloud Console vs. gcloud CLI 비교

특징 Cloud Console gcloud CLI
사용 편의성 시각적 UI로 직관적 명령어 학습 필요
자동화 지원하지 않음 스크립트로 반복 작업 자동화 가능
속도 단일 작업에 적합 다수의 함수 배포 시 효율적
설정 유연성 제한적(제공된 옵션만 사용 가능) 다양한 옵션과 플래그를 활용한 설정 가능
초보자 적합성 고급 설정이 필요 없는 경우 적합 초보자는 초기 학습 곡선이 있을 수 있음
대규모 프로젝트 적합성 관리 작업이 많으면 비효율적 대규모 프로젝트의 일관성 및 효율성 유지 가능

 

5. 어떤 방법을 선택해야 할까?

  1. Cloud Console이 적합한 경우:
    • Google Cloud Functions를 처음 사용하는 경우
    • 간단한 테스트나 소규모 프로젝트 진행 시
    • 코드 작성부터 배포까지 UI로 쉽게 관리하고 싶은 경우
  2. gcloud CLI가 적합한 경우:
    • 대규모 프로젝트에서 많은 함수를 관리해야 하는 경우
    • CI/CD 자동화가 필요한 경우
    • 커스텀 설정과 유연한 배포를 선호하는 경우

 

>> 결론

  • 소규모 작업: Cloud Console
  • 복잡한 프로젝트 및 자동화: gcloud CLI
728x90
반응형