Cloud Functions バージョンの比較
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Cloud Functions for Firebase には次の 2 つのバージョンがあります。
- Cloud Functions(第 2 世代): 関数を Cloud Run にサービスとしてデプロイし、Eventarc と Pub/Sub を使用してトリガーできます。
- Cloud Functions(第 1 世代): イベント トリガーと構成が制限された関数の元のバージョン。
可能な限り、新しい関数には Cloud Functions(第 2 世代)を選択することをおすすめします。しかしながら、今後も Cloud Functions(第 1 世代)のサポートを継続する予定です。
このページでは、Cloud Functions で導入された機能と、2 つのプロダクト バージョンの相違点について説明します。
Cloud Functions(第 2 世代)
Cloud Functions は、Firebase の次世代の Functions as a Service です。Cloud Functions(第 2 世代)は Cloud Run と Eventarc 上に構築されており、以下のようにインフラストラクチャの強化と幅広いイベント カバレッジを 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 のデフォルトのコンピューティング サービス アカウント(PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
インスタンスのサイズ |
最大 8 GB の RAM(2 vCPU) |
最大 16 GiB の RAM(4 vCPU) |
同時実行 |
関数インスタンスごとに 1 件の同時リクエスト |
関数インスタンスあたり最大 1,000 件の同時リクエスト |
* これは、実行中の関数から Firebase API または 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 世代の関数は同じソースファイルで共存できるため、第 2 世代の関数と一緒に第 1 世代の Analytics と基本的な Authentication トリガーを開発してデプロイできます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は 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."]]