Cloud Run 함수 비교

이 가이드에서는 함수를 배포하기 위한 최신 옵션과 기존 Google Cloud 옵션을 비교합니다. 이 페이지는 이전에 Cloud Functions API로 함수를 만들고 Cloud Run Admin API로 전환하는 사용자에게 도움이 됩니다. 이 페이지에서는 개념, 구성, 배포, 트리거 및 재시도와 같은 여러 영역의 주요 차이점을 설명합니다.

비교

Cloud Run Functions에는 다음과 같은 두 가지 버전이 있습니다.

  • Cloud Run 함수(이전 명칭: Cloud Functions(2세대))는 Cloud Run에 서비스로 배포할 수 있는 함수의 최신 버전입니다. 이 함수는 HTTP(S) 요청에 반응하거나 Pub/Sub과 같은 Eventarc 기반 트리거에 의해 전파된 이벤트에 응답할 수 있습니다.

  • Cloud Run Functions(1세대)(이전 명칭: Cloud Functions(1세대))는 제한된 이벤트 트리거와 구성 가능성을 갖춘 함수의 원래 버전입니다.

함수 런타임을 더 유연하게 제어할 수 있으므로 현재 버전의 Cloud Run 함수를 사용하는 것이 좋습니다. 함수를 Cloud Run에 직접 배포하면 함수가 컨테이너로 자동 빌드되고 Cloud Run 서비스로 배포됩니다.

개념

다음 표는 함수의 개념적 차이점을 요약하여 보여줍니다.

Cloud Run 함수 Cloud Run 함수 (1세대)
이전 제품 이름 Cloud Functions(2세대) Cloud Functions(1세대)
리소스 모델 함수는 소스 코드에서 배포되는 Cloud Run 서비스입니다. 소스 코드에서 함수가 배포됨
함수 유형 용어
  • HTTP 함수
  • 이벤트 기반 함수라고도 하는 CloudEvents 함수는 모든 언어 런타임에서 지원됩니다.
  • HTTP 함수
  • Ruby, .NET, PHP 런타임만 CloudEvents를 지원합니다. Node.js, Go, Python, Java의 경우 백그라운드 함수를 사용하여 이벤트 기반 함수를 만듭니다.
할당된 HTTPS URL run.app

Cloud Functions API (v2)로 만든 함수에도 cloudfunctions.net 엔드포인트가 있습니다.
cloudfunctions.net
이미지 레지스트리 Artifact Registry만 Artifact Registry 또는 Container Registry (지원 중단됨)
배포의 IAM 역할
내부 인프라 Cloud Run Google 내부용
가격 책정 모델 Cloud Run 가격 책정 Cloud Run 함수 (1세대) 가격 책정

구성

Cloud Run은 함수를 컨테이너로 빌드하고 서비스로 배포합니다. Cloud Run에 함수를 배포하면 함수의 동작에 대한 완전한 액세스 권한과 제어 권한을 갖게 됩니다. 예를 들어 Direct VPC를 사용 설정하고, GPU를 구성하고, 볼륨 마운트를 사용할 수 있습니다.

다음 표에는 함수의 구성 차이점이 요약되어 있습니다.

Cloud Run 함수 Cloud Run 함수 (1세대)
요청 제한 시간
  • HTTP 트리거 함수의 경우 최대 60분
  • Cloud Functions API (v2)로 만든 CloudEvents 함수의 경우 최대 9분
  • 최대 9분
인스턴스 크기 최대 16GB RAM(vCPU 4개) 최대 8GB RAM(vCPU 2개)
동시 실행 함수 인스턴스당 동시 실행 요청 최대 1,000개 함수 인스턴스당 동시 실행 요청 1개
트래픽 분할 지원됨 지원되지 않음

배포

2024년 8월부터 Cloud Run을 사용하여 Cloud Functions API (v2)로 만든 함수를 배포하고 관리할 수 있습니다. 이번 변경사항으로 인해 다음과 같은 결과가 발생합니다.

  • 런타임 ID 및 빌드 구성과 같은 함수 메타데이터는 Cloud Run 서비스 정의에 저장됩니다.
  • Cloud Run Admin API를 사용하여 함수를 안전하게 수정할 수 있습니다.
  • Cloud Run 서비스 정의를 함수의 참조 소스로 사용할 수 있습니다.

단, Cloud Run Admin API로 만든 함수는 Cloud Functions API로 수정할 수 없습니다.

다음 표에는 함수를 만들고, 배포하고, 수정하고, 관리하는 방법의 차이점이 요약되어 있습니다.

Cloud Run 함수 Cloud Run 함수 (1세대)
Google Cloud 콘솔 Cloud Run Cloud Run Functions(1세대)
Cloud SDK
REST API
  • Cloud Run Admin API 또는 Cloud Functions API로 만든 함수의 경우 run.googleapis.com(v1 및 v2)
Terraform

트리거 및 재시도

다음 표에서는 함수의 트리거와 재시도를 비교합니다.

Cloud Run 함수 Cloud Run 함수 (1세대)
함수 트리거 및 호출 Cloud Run Admin API로 만든 함수의 경우 Google Cloud 콘솔에서 또는 gcloud CLI를 사용할 때 함수를 배포한 후 함수 배포의 일부로 트리거를 지정합니다.

Cloud Functions API (v2)로 만든 함수의 경우 함수 배포의 일부로 트리거를 지정합니다.
함수 배포의 일부로 트리거를 지정합니다.
이벤트 유형 Cloud 감사 로그를 통한 90개 이상의 이벤트 소스를 포함하여 Eventarc에서 지원되는 모든 이벤트 유형 지원 7개 소스의 이벤트에 대한 직접 지원
재시도 Cloud Run Admin API로 만든 함수의 경우 Eventarc에서 재시도 정책을 업데이트하고 Pub/Sub에서 데드 레터 주제를 구성합니다.

Cloud Functions API v2로 만든 함수의 경우 --retry 플래그를 사용하여 함수 배포의 일부로 재시도를 지정합니다.
--retry 플래그를 사용하여 함수 배포의 일부로 재시도를 지정합니다.

다음 단계