Cloud Run Functions 비교

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

비교

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

  • Cloud Run Functions: 다음 방법 중 하나로 만들 수 있습니다.

    • Cloud Run Admin API(권장): 이 API(예: Google Cloud 콘솔, gcloud run, REST API 또는 Terraform 사용)로 만든 함수는 Cloud Run에 서비스로 배포됩니다.
    • Cloud Functions v2 API: 이 API(예: gcloud functions, REST API 또는 Terraform 사용)로 만든 함수는 Cloud Run Admin API 및 Cloud Functions v2 API로 관리될 수 있습니다. 이 API를 사용할 경우 함수를 배포할 때 트리거를 지정합니다. Cloud Run Admin API 환경을 사용하여 전적으로 관리할 수 있도록 v2 API 함수를 분리하는 방법을 알아보세요.
  • Cloud Run Functions(1세대)(이전 명칭: Cloud Functions(1세대))는 제한된 이벤트 트리거와 구성 가능성을 갖춘 함수의 원래 버전입니다.

함수를 Cloud Run에 직접 배포하면 함수가 컨테이너로 자동 빌드되고 Cloud Run 서비스로 배포됩니다.

개념

다음 표에는 함수의 개념적 차이점이 요약되어 있습니다.

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

구성

Cloud Run은 함수를 컨테이너에 빌드하고 서비스로 배포합니다. 함수를 Cloud Run에 배포하면 함수 동작에 완전히 액세스하고 제어할 수 있습니다. 예를 들어 직접 VPC를 사용 설정하고 GPU를 구성하며 볼륨 마운트를 사용할 수 있습니다.

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

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

배포

2024년 8월부터 Cloud Run을 사용하여 Cloud Functions v2 API로 만든 함수를 배포하고 관리할 수 있습니다. 이 변경사항으로 인해 다음을 수행할 수 있습니다.

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

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

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

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

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

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

함수 분리

Cloud Functions v2 API(예: gcloud functions, REST API 또는 Terraform 사용)를 사용하여 만든 함수를 기존 API 환경에서 분리할 수 있습니다. 함수를 분리한 후에는 Cloud Run Admin API를 통해서만 함수를 관리할 수 있습니다. 워크로드가 Assured Workloadsrun.googleapis.com API 경계 내에 있어야 하거나 워크로드에서 Cloud Run SKU를 사용해야 하는 경우에 이 작업을 수행할 수 있습니다. 자세한 내용은 Cloud Functions v2 API 참고 리소스의 함수 관리를 참조하세요.

다음 단계