Cloud Functions 버전 비교
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Cloud Functions for Firebase에는 두 가지 버전이 있습니다.
- Cloud Functions(2세대): Cloud Run에서 함수를 서비스로 배포하여 Eventarc 및 Pub/Sub를 사용하여 함수를 트리거할 수 있도록 합니다.
- Cloud Functions(1세대): 이벤트 트리거와 구성 가능성이 제한된 함수의 원래 버전입니다.
가능하다면 새로운 함수에 Cloud Functions(2세대)를 선택하는 것이 좋습니다. 하지만 Cloud Functions(1세대)도 계속 지원할 계획입니다.
이 페이지에서는 Cloud Functions에 도입된 기능을 설명하고 두 제품 버전을 비교합니다.
Cloud Functions(2세대)
Cloud Functions는 Firebase의 차세대 Functions-as-a-Service 제품입니다. Cloud Run 및 Eventarc를 기반으로 빌드된 Cloud Functions(2세대)는 다음을 포함하여 Cloud Functions에 향상된 인프라 및 더 넓은 이벤트 지원 범위를 지원합니다.
- Cloud Run 기반 빌드: 함수는 Cloud Build로 빌드되고 기본 Cloud Run 실행 환경을 사용하여 Cloud Run 서비스로 배포됩니다.
이렇게 하면 Cloud Run 서비스와 마찬가지로 함수를 맞춤설정할 수 있습니다. 메모리 한도, 환경 변수 등 서비스 구성 옵션을 살펴보려면 Cloud Run 문서를 참고하세요.
- 더 긴 요청 처리 시간: Cloud Storage 또는 BigQuery에서 대용량 데이터 스트림 처리와 같은 더 긴 요청 워크로드를 실행합니다.
- 더 큰 인스턴스 크기: 인메모리가 더 크고 컴퓨팅 집약적인 병렬 워크로드를 실행합니다.
- 향상된 동시 실행: 단일 기능 인스턴스로 여러 동시 요청을 처리하여 콜드 스타트를 최소화하고 지연 시간을 개선합니다.
- 트래픽 관리: 여러 함수 버전 간에 트래픽을 분할하거나 함수를 이전 버전으로 롤백합니다.
- Eventarc 통합: Eventarc 트리거에 대한 기본 지원으로 Eventarc에서 지원되는 90개 이상의 모든 이벤트 소스를 Cloud Functions로 가져옵니다.
- 더 넓은 CloudEvents 지원: 모든 언어 런타임에서 업계 표준 CloudEvents를 지원하여 일관성 있는 개발자 환경을 제공합니다.
자세한 내용은 비교표를 참조하세요.
Cloud Functions는 Cloud Run에서 함수를 서비스로 배포하므로 Cloud Functions는 Cloud Run과 리소스 할당량 및 한도를 공유합니다. 할당량을 참조하세요.
비교표
기능 |
Cloud Functions(1세대) |
Cloud Functions |
이미지 레지스트리 |
Container Registry 또는 Artifact Registry |
Artifact Registry만 해당 |
요청 시간 종료 |
최대 9분 |
- HTTP 트리거 함수의 경우 최대 60분
- 이벤트로 트리거되는 함수의 경우 최대 9분
|
서비스 계정* |
Google App Engine 서비스 계정(PROJECT_ID@appspot.gserviceaccount.com) |
Google Cloud 기본 Compute 서비스 계정(PROJECT_NUMBER-compute@developer.gserviceaccount.com)
|
인스턴스 크기 |
최대 8GB RAM(vCPU 2개) |
최대 16GiB RAM(vCPU 4개) |
동시 실행 |
함수 인스턴스당 동시 요청 1개 |
함수 인스턴스당 동시 요청 최대 1,000개 |
* 실행 중인 함수에서 Firebase 또는 Cloud API에 액세스하는 데 사용되는 기본 서비스 계정입니다. 인수 없이 초기화할 때 Firebase Admin SDK에서 사용됩니다.
가격 책정
가격 책정 정보는 Firebase 요금제를 참조하세요.
다음과 같이 Cloud Functions와 관련된 비용을 볼 수 있습니다.
- Google Cloud 콘솔에서 Cloud Billing 보고서 페이지로 이동합니다.
- 메시지가 표시되면 Google Cloud 프로젝트와 연관된 결제 계정을 선택합니다.
- 필터 패널의 라벨에서
goog-managed-by
키 및 cloudfunctions
값을 사용하여 라벨 필터를 추가합니다.
제한사항
Cloud Functions for Firebase(2세대)는 Analytics 이벤트를 지원하지 않습니다.
Cloud Functions for Firebase(2세대)는 인증 차단 이벤트는 지원하지만 1세대와 동일한 기본 Authentication 이벤트 집합은 지원하지 않습니다.
하지만 1세대 함수와 2세대 함수가 동일한 소스 파일에 나란히 공존할 수 있으므로 1세대에서 2세대 함수를 함께 사용하여 Analytics와 기본 Authentication 트리거를 개발하고 배포할 수 있습니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-29(UTC)
[null,null,["최종 업데이트: 2025-08-29(UTC)"],[],[],null,["\u003cbr /\u003e\n\nThere are two versions of Cloud Functions for Firebase:\n\n- **Cloud Functions (2nd gen)** , which deploys your functions as services on Cloud Run, allowing you to trigger them using Eventarc and Pub/Sub.\n- **Cloud Functions (1st gen)**, the original version of functions with limited event triggers and configurability.\n\nWe recommend that you choose Cloud Functions (2nd gen) for new functions\nwherever possible. However, we plan to continue supporting Cloud Functions\n(1st gen).\n\nThis page describes features introduced in Cloud Functions and\nprovides a comparison between the two product versions.\n\nCloud Functions (2nd gen)\n\nCloud Functions is Firebase's next-generation\nFunctions-as-a-Service offering. Built on Cloud Run and\nEventarc, Cloud Functions (2nd gen) brings enhanced\ninfrastructure and broader event coverage to Cloud Functions, including:\n\n- **Built on Cloud Run** : Functions are built with Cloud Build and deployed as Cloud Run services using the default [Cloud Run execution environment](//cloud.google.com/run/docs/about-execution-environments). This gives you the ability to customize your function as you would a Cloud Run service. Refer to Cloud Run documentation to explore options for configuring your service, such as [memory\n limits](//cloud.google.com/run/docs/configuring/services/memory-limits), [environment variables](//cloud.google.com/run/docs/configuring/services/environment-variables), and so forth.\n- **Longer request processing times** : Run longer-request workloads such as processing large streams of data from Cloud Storage or BigQuery.\n- **Larger instance sizes**: Run larger in-memory, compute-intensive, and parallel workloads.\n- **Improved concurrency**: Handle multiple concurrent requests with a single function instance to minimize cold starts and improve latency.\n- **Traffic management**: Split traffic between different function revisions or roll a function back to a prior version.\n- **Eventarc integration** : Native support for Eventarc triggers, bringing all 90+ event sources supported by Eventarc to Cloud Functions.\n- **Broader CloudEvents support** : Support for industry-standard [CloudEvents](https://cloudevents.io/) in all language runtimes, providing a consistent developer experience.\n\nSee the [comparison table](#comparison-table) for details.\n\nBecause Cloud Functions deploys functions as services on Cloud Run,\nCloud Functions shares resource quotas and limits with\nCloud Run. See [Quotas](/docs/functions/quotas).\n\nComparison table\n\n| Feature | Cloud Functions (1st gen) | Cloud Functions |\n|-------------------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|\n| Image registry | Container Registry or Artifact Registry | Artifact Registry only |\n| Request timeout | Up to 9 minutes | - Up to 60 minutes for HTTP-triggered functions - Up to 9 minutes for event-triggered functions |\n| Service account\\* | Google App Engine service account (\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e@appspot.gserviceaccount.com) | Google Cloud default compute service account (\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e-compute@developer.gserviceaccount.com) |\n| Instance size | Up to 8GB RAM with 2 vCPU | Up to 16GiB RAM with 4 vCPU |\n| Concurrency | 1 concurrent request per function instance | Up to 1000 concurrent requests per function instance |\n\n\\* This is the default service account used to access Firebase or Cloud APIs\nfrom a running function. It is used by the Firebase Admin SDK when you\n[initialize without arguments](/docs/admin/setup#initialize-sdk).\n\nPricing\n\nFor pricing information, see [Firebase pricing plans](https://firebase.google.com/pricing#cloud-functions).\n\nYou can view your costs associated with Cloud Functions as follows:\n\n1. Go to the [Cloud Billing Reports page](https://console.cloud.google.com/billing/reports) in the Google Cloud console.\n2. If prompted, select the billing account associated with your Google Cloud project.\n3. In the **Filters** panel, under **Labels** , [add a label filter](//cloud.google.com//billing/docs/how-to/reports#filters) with the key `goog-managed-by` and the value `cloudfunctions`.\n\n| **Note:** If you are using Cloud Functions for Firebase (1st gen) and are interested in Cloud Functions, see [Upgrade 1st gen Node.js functions to 2nd gen](/docs/functions/2nd-gen-upgrade).\n\nLimitations\n\nCloud Functions for Firebase (2nd gen) does not provide support for Analytics\nevents.\n\nThough Cloud Functions for Firebase (2nd gen) supports authentication blocking\nevents, it does not support the same set of basic Authentication events as\n1st gen.\n\nHowever, because 1st gen and 2nd gen\nfunctions can coexist side-by-side in the same source file, you can still\ndevelop and deploy Analytics and basic Authentication triggers in 1st gen\ntogether with 2nd gen functions."]]