割り当て(第 1 世代)

このドキュメントでは、Cloud Run functions の割り当て上限について説明します。

Cloud Run functions の割り当てには、次の 3 つの上限が設けられています。

  • リソースに関する上限

    関数の処理に使用できるリソースの合計量に影響します。

  • 時間に関する上限

    実行できる時間の長さに影響します。

  • レートに関する上限

    これらは、Cloud Run functions API を呼び出して関数を管理できる頻度に影響します。

上記の各上限について、以下で詳しく説明します。

リソースに関する上限

リソースに関する上限は、関数の処理に使用できるリソースの合計量に影響します。リージョンのスコープはプロジェクトごとであり、各プロジェクトは独自の上限を保持します。

割り当て 説明 上限 上限引き上げ可否 範囲
関数の数 リージョンごとにデプロイできる関数の合計数 1,000 × リージョンごと
デプロイメントの最大サイズ デプロイする 1 つの関数の最大サイズ ソース用に 100 MB(圧縮)
ソースとモジュール用に 500 MB(非圧縮)
× 関数ごと
非圧縮 HTTP リクエストの最大サイズ HTTP リクエストで HTTP 関数に送信されるデータ 10 MB × 呼び出しごと
非圧縮 HTTP レスポンスの最大サイズ HTTP レスポンスで HTTP 関数から送信されるデータ 10 MB × 呼び出しごと
イベント ドリブン関数の最大イベントサイズ イベントでバックグラウンド関数に送信されるデータ 10 MB × イベントごと
最大関数メモリ 各関数のインスタンスが使用できるメモリの量 8 GiB × 関数ごと

時間に関する上限

割り当て 説明 上限 上限引き上げ可否 範囲
関数の最大実行時間 強制終了されるまで関数を実行できる時間の上限 540 秒 × 呼び出しごと

レートに関する上限

割り当て 説明 上限 上限引き上げ可否 範囲
API 呼び出し(読み取り) Cloud Run functions API で関数の情報または一覧を取得する呼び出しの数 100 秒あたり 5,000 プロジェクトごと
API 呼び出し(書き込み) Cloud Run functions API で関数をデプロイまたは削除する呼び出しの数 100 秒あたり 80 × 1 プロジェクトごと
API 呼び出し(CALL) "call" API 呼び出しの数 100 秒あたり 16 × 2 プロジェクトごと

スケーラビリティ

HTTP によって呼び出される Cloud Run functions の関数は、受信トラフィックを処理するために迅速にスケールアップしますが、バックグラウンド関数はゆっくりとしたペースでスケールアップします。関数のスケーラビリティは以下のような要因によって決まります。

  • 関数の実行に必要な時間(一般に、短時間で完了する関数は、スケールアップして処理できる同時リクエスト数を増やすことができます)。
  • 関数の初期化に必要な時間。

  • 最小インスタンス数最大インスタンス数で定義される構成。

割り当て 説明 上限 上限引き上げ可否 範囲
最大呼び出しレート 1 個の関数によって処理されるイベントの最大レート
例: 1 件のイベントを処理するのに 100 ミリ秒かかる場合、平均で 100 件のリクエストのみが並列に処理される状況であっても、呼び出しレートは 1 秒あたり 1,000 件に制限されます。
1 秒あたり 1,000 × 関数ごと
受信イベントの最大スループット 1 個の関数の受信イベントの最大スループット
例: イベントのサイズが 1 MB である場合、関数が 100 ミリ秒以内に完了したとしても、最大の呼び出しレートは 1 秒あたり 10 件になる場合があります。
1 秒あたり 10 MB × 関数ごと

割り当て上限に達した場合

関数が割り当てられたリソースをすべて消費すると、割り当てが補充されるまでそのリソースは使用できなくなります。つまり、それまでは、その関数だけでなく同じプロジェクト内の他のすべての関数が動作しなくなる可能性があります。いずれかのリソースが割り当てを超過したために関数を実行できない場合、関数は HTTP 500 のエラーコードを返します。

ここに記載されているデフォルトから割り当てを引き上げるには、Cloud Run functions の [割り当て] ページに移動し、変更する割り当てを選択します。次に、[割り当てを編集] をクリックし、プロンプトが表示されたらユーザー情報を入力して、選択した各割り当ての新しい上限を入力します。