Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

クォータと制限

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、Blaze の従量制料金プランに基づく Cloud Functions のスケーラブルな使用量ベースの制限について詳しく説明します。これらの制限は、関数を Node.js 10 ランタイム環境にデプロイする Firebase プロジェクトに適用されます。

Blaze プランでは、大量の呼び出し、計算時間、およびインターネット トラフィックが無料で提供されます。ただし、関数のデプロイでは、関数のコンテナーに使用されるストレージ スペースに対して小規模な料金が発生します。詳細については、Firebase のよくある質問をご覧ください。

Google Cloud Functions の割り当てには、次の 3 つの領域が含まれます。

  • リソース制限

    これらは、関数が消費できるリソースの合計量に影響します。

  • 制限時間

    これらは、実行できる時間に影響します。

  • レート制限

    これらは、Cloud Functions API を呼び出す速度やリソースを使用できる速度に影響します。レート クォータは、「一定期間にわたるリソース」と考えることができます。

さまざまな種類の制限について、以下で詳しく説明します。 Cloud Functions (第 1 世代) と Cloud Functions (第 2 世代) の制限の違いは、該当する場合に記載されています。

リソース制限

リソース制限は、関数が消費できるリソースの合計量に影響します。リージョンの範囲はプロジェクトごとであり、各プロジェクトは独自の制限を維持します。

クォータ説明制限 (第 1 世代)制限 (第 2 世代)増やすことができます範囲
機能数リージョンごとにデプロイできる関数の総数1,000 1,000 からデプロイされた Cloud Run サービスの数を引いた数いいえ地域ごと
最大展開サイズ1 つの機能のデプロイの最大サイズソース用に 100MB (圧縮)。
ソースとモジュール用に 500MB (非圧縮)。
なしいいえ関数ごと
圧縮されていない HTTP リクエストの最大サイズHTTP 要求で HTTP 関数に送信されるデータ10MB 32MBいいえ呼び出しごと
圧縮されていない HTTP 応答の最大サイズHTTP 応答で HTTP 関数から送信されたデータ10MBストリーミング応答用に 10MB。
非ストリーミング応答の場合は 32MB。
いいえ呼び出しごと
イベント ドリブン関数の最大イベント サイズイベントでバックグラウンド関数に送信されるデータ10MB Eventarc イベント用に 512KB。
レガシー イベントの場合は 10 MB。
いいえイベントごと
最大関数メモリ各関数インスタンスが使用できるメモリ量8GiB 16GiBいいえ関数ごと

制限時間

クォータ説明制限 (第 1 世代)制限 (第 2 世代)増やすことができます範囲
最大機能期間関数が強制終了されるまでに実行できる最大時間540秒HTTP 関数の場合は 60 分。
イベント ドリブン機能の場合は 10 分。
いいえ呼び出しごと

レート制限

クォータ説明制限 (第 1 世代)制限 (第 2 世代)増やすことができます範囲
API 呼び出し (読み取り) Cloud Functions API を介して関数を記述またはリストするための呼び出し100 秒あたり 5000 60 秒あたり 1200第1世代のみプロジェクトごと(第 1 世代)
地域ごと(第 2 世代)
API 呼び出し (書き込み) Cloud Functions API を介して関数をデプロイまたは削除するための呼び出し100 秒あたり 80 回60 秒あたり 60いいえ1プロジェクトごと(第 1 世代)
地域ごと(第 2 世代)
API 呼び出し (CALL) "call" API の呼び出し100 秒あたり 16 回なしいいえ2プロジェクトごと

スケーラビリティ

HTTP によって呼び出された Cloud Functions は、着信トラフィックを処理するために迅速にスケールアップしますが、バックグラウンド関数はより緩やかにスケールアップします。関数のスケールアップ能力は、次のようないくつかの要因によって決まります。

  • 関数の実行が完了するまでにかかる時間 (実行時間の短い関数は、通常、より多くの同時要求を処理するためにスケールアップできます)。
  • コールド スタート時に関数を初期化するのにかかる時間
  • 上記のレート制限
  • 関数のエラー率。
  • 地域の負荷やデータセンターの容量などの一時的な要因。
以下で説明するように、バックグラウンド関数には追加の制限があります。これらの制限は、 HTTP 関数には適用されません。

バックグラウンド機能の追加クォータ

クォータ説明リミット増やすことができます範囲
最大同時呼び出し1 つの関数の同時呼び出しの最大数
例:各イベントの処理に 100 秒かかる場合、呼び出しレートは平均で 1 秒あたり 30 に制限されます
3,000いいえ関数ごと
最大呼び出し率1 つの関数で処理されるイベントの最大レート
例:イベントの処理に 100 ミリ秒かかる場合、平均で 100 のリクエストしか並列処理されない場合でも、呼び出しレートは 1 秒あたり 1000 に制限されます。
毎秒1000いいえ関数ごと
最大同時イベント データ サイズ単一関数の同時呼び出しに対する着信イベントの最大合計サイズ
例:イベントのサイズが 1MB で、それらの処理に 10 秒かかる場合、最初の 10 個のイベントのいずれかの処理が完了するまで 11 番目のイベントは処理されないため、平均レートは 1 秒あたり 1 イベントになります。
10MBいいえ関数ごと
着信イベントの最大スループット単一関数への着信イベントの最大スループット
例:イベントのサイズが 1MB の場合、関数が 100 ミリ秒以内に終了したとしても、呼び出しレートは 1 秒あたり最大 10 回になります。
毎秒10MBいいえ関数ごと

割り当て制限に達したとき

関数が割り当てられたリソースをすべて消費すると、クォータが更新または増加されるまでリソースは使用できなくなります。これは、同じプロジェクト内の関数と他のすべての関数がそれまで機能しないことを意味する場合があります。リソースの 1 つがクォータを超えており、関数を実行できない場合、関数は HTTP 500 エラー コードを返します。

ここにリストされているデフォルトよりもクォータを増やすには、 Cloud Functions のクォータ ページに移動し、変更するクォータを選択してEDIT QUOTASをクリックし、プロンプトが表示されたらユーザー情報を入力して、選択した各クォータの新しいクォータ制限を入力します。

Firebase CLI デプロイの割り当て制限

Firebase CLI がデプロイする関数ごとに、次のタイプのレートと時間制限が影響を受けます。

  • API 呼び出し (読み取り) - 関数の数に関係なく、デプロイごとに 1 回の呼び出し
    • 制限: 100 秒あたり 5000
  • API 呼び出し (WRITE) - 関数ごとに 1 回の呼び出し
    • 制限: 100 秒あたり 80

Firebase CLI リファレンスも参照してください。