割り当てと上限

このドキュメントでは、Workflows に適用される割り当てと上限の一覧を示します。

割り当ては、Google Cloud プロジェクトで使用できる共有 Google Cloud リソース(ハードウェア、ソフトウェア、ネットワーク コンポーネントなど)の量を制限します。つまり、割り当てはシステムの一部で、次の機能があります。

  • Google Cloud のプロダクトとサービスの使用量や消費量をモニタリングする。
  • 公平性の確保や使用量急増の抑制などのため、これらのリソースの消費量を制限する。
  • 規定の制限を自動的に適用する構成を維持する。
  • 割り当てをリクエストまたは変更する手段を提供する。

ほとんどの場合、割り当てを超過すると、システムは関連する Google リソースへのアクセスをすぐにブロックするため、ユーザーが試行しているタスクは失敗します。ほとんどの場合、割り当ては各 Google Cloud プロジェクトに適用され、その Google Cloud プロジェクトを使用するすべてのアプリケーションと IP アドレスで共有されます。

Workflows リソースには上限もあります。これらの上限は、割り当てシステムとは無関係です。上限は、特に明記されていない限り、変更できません。

割り当て

Workflows では、各 Google Cloud プロジェクトに対して次の割り当てが適用されます。これらの割り当ては増減できます。

割り当て 説明
ワークフローの合計数 プロジェクトごとにデプロイできるワークフローの最大数 10,000
同時実行数 プロジェクトあたり、リージョンあたりのアクティブなワークフロー実行の最大数。同時実行とは、開始されたが未完了または失敗した実行です。これには待機中の実行も含まれます。この上限に達すると、新しい実行は HTTP 429 Too many requests ステータス コードで失敗します。 5,000
Workflow API のリクエスト プロジェクト内のすべてのワークフローからの API リクエストの最大数(createupdatelistgetdelete)(ロケーションごとに 1 分あたり) 1,200
Execution API の get リクエスト プロジェクト内のすべてのワークフローから get ワークフロー実行へのリクエストの最大数(1 分あたりでロケーションあたり) 6,000
Execution API の list リクエスト プロジェクト内のすべてのワークフローから list ワークフロー実行へのリクエストの最大数(ロケーションごとに 1 分あたり) 1,200
Execution API の write リクエスト すべてのワークフローからの create および cancel ワークフロー実行(Eventarc でトリガーされる実行を含む)の最大数(ロケーションごとに 1 分あたり)

Eventarc でトリガーされる実行がこの最大数を超えた場合、Eventarc 再試行ポリシーに従ってイベントが再試行されます。

6,000
コールバック エンドポイントへの HTTP リクエスト プロジェクトのすべてのワークフローから実行リソースに対して行われた 1 分あたり 1 ロケーションあたりの SendHttpCallback API リクエストの最大数 1,500

割り当て増加リクエスト

割り当ての増減を行うには Google Cloud コンソールを使用します。詳しくは、割り当ての増加をリクエストするをご覧ください。

ステップ上限

Workflows では、各ワークフローに次のステップ上限が適用されます。これらの上限の変更をリクエストすることはできません。

上限 説明
ステップあたりの割り当て 1 つのステップで実行できる割り当ての最大数 50
スイッチあたりの条件 1 つのスイッチ ブロックで評価できる条件の最大数 50
コールスタックの深さの最大数 呼び出し元関数の最大レベル数。たとえば、サブワークフローがそれ自体または別のサブワークフローを呼び出す場合や、他の関数を呼び出す標準ライブラリ関数呼び出しなどです。 20
最小ステップ数 1 つのワークフロー内のステップの最小数 1
最大ステップ数 1 回のワークフローで実行できるステップの最大数 100,000

並列ステップの上限

Workflows では、並列ステップを使用する場合に、次の上限が適用されます。 これらの上限の変更をリクエストすることはできません。

上限 説明
ステップあたりのブランチ数 並列ステップでサポートされるブランチの最大数 10
並列処理の深度 並列ステップをネストできる最大深度 2
並列ブランチと並列イテレーション

1 つのワークフロー実行内で同時に実行できるブランチとイテレーションの最大数。それ以上のブランチとイテレーションは自動的にキューに入れられ、1 つ以上の実行中のスレッドが完了するまで待機させられます。

合計スレッド数に上限はありません。ただし、その他のすべての上限は適用されます。

20
並列ステップ内でキャッチされなかった例外 ワークフローの実行中に発生する可能性がある未処理の例外の最大数(合計) 100

リソースの上限

Workflows では、次の使用量上限が適用されます。これらの上限の変更をリクエストすることはできません。

上限 説明
ソースコード サイズ ワークフローを定義する YAML または JSON ファイルの最大サイズ 128 KB
レスポンス サイズ HTTP レスポンスの最大サイズ(変数に保存される場合、変数のメモリ上限が適用されます) 2 MB
式の長さ 1 つのの最大文字数 400 文字
データサイズ 変数、引数、イベントの最大累積サイズ。 512 KB
  • 特定のワークフローの 1 回の実行において定義するすべての変数に使えるメモリの最大量
  • ワークフローの実行時に渡すことができる引数の最大サイズ
  • イベントでワークフロー実行をトリガーする際に渡すことができる Eventarc ペイロードの最大サイズ
UTF-8 エンコードを使用した文字列の最大長さ(バイト単位) 256 KB
環境変数 ユーザー定義の環境変数定義文字列(KEY=value)の最大サイズ。最大で 20 個の変数を定義できます。 4 KiB
実行時間 ワークフロー実行の最長時間(開始時刻から終了時刻まで)。この上限を超えると、ワークフローはタイムアウト エラーで終了します。 1 年
実行の保持 実行の履歴と結果の最大保持期間(ワークフロー実行の完了後) 90 日
重複除去ウィンドウ イベントでワークフローの実行をトリガーする際に、1 回限りの処理を確実に行うための重複除去ウィンドウ 24 時間