割り当て
Dataflow マネージド サービスには、次の割り当て上限があります。
- 各ユーザーは、1 分あたり最大 300 万回のリクエストを作成できます。
- 各 Dataflow ジョブでは最大 1,000 個の Compute Engine インスタンスを使用できます。
- 各 Google Cloud プロジェクトでは、デフォルトで最大 25 個の 同時 Dataflow ジョブを実行できます。
- 各 Dataflow ワーカーでは、一定期間に出力できるログの上限が設定されています。正確な上限については、ロギングのドキュメントをご覧ください。
- 組織レベルの割り当てにオプトインすると、各組織は最大で 125 個の同時 Dataflow ジョブをデフォルトで実行できます。
- 各ユーザーは 1 分あたり最大 15,000 個のモニタリング リクエストを作成できます。
- 各 Google Cloud プロジェクトにはリージョンごとに以下のシャッフル スロットがあります。
- asia-east1: 48 スロット
- asia-northeast1: 24 スロット
- asia-south1: 64 スロット
- asia-southeast1: 32 スロット
- europe-west1: 160 スロット
- europe-west2: 32 スロット
- europe-west3: 24 スロット
- europe-west4: 128 スロット
- northamerica-northeast1: 48 スロット
- us-central1: 160 スロット
- us-east1: 160 スロット
- us-east4: 32 スロット
- us-west1: 96 スロット
- us-west2: 24 スロット
- us-west3: 24 スロット
- その他: 16 スロット
- 各 Google Cloud プロジェクトでは、Compute Engine インスタンスと Streaming Engine の間でデータを送信するために、クラウド リージョンごとに 1 分あたり 600 GB の Streaming Engine のスループットが割り当てられます。
- Dataflow のバッチジョブは 30 日後にキャンセルされます。
確認できるのは、Dataflow での現在の割り当て使用量です。
- Google Cloud Console で、[API とサービス] ページに移動します。
[API とサービス] に移動 - [ダッシュボード] をクリックします。
- [Dataflow API] をクリックします。
- [割り当て] をクリックします。
たとえば、シャッフル スロットの現在の割り当て使用量を調べるには、[割り当て] ページにある [Shuffle slots] グラフを確認します。
Dataflow サービスは、BigQuery、Cloud Storage、Pub/Sub、Compute Engine など、Google Cloud のさまざまなコンポーネントを使用します。これら(また、その他の Google Cloud サービス)は、プロジェクト内で使用できるリソースの最大数を制限する割り当てを使用します。Dataflow を使用する場合は、これらのサービスの割り当て設定の調整が必要になることがあります。
Compute Engine の割り当て
パイプラインを Dataflow サービス上で実行すると、Dataflow によってパイプライン コードを実行する Compute Engine インスタンスが作成されます。
Compute Engine の割り当てはリージョンごとに指定されます。プロジェクトの Compute Engine 割り当てを確認し、必要に応じて次の調整をリクエストします。
- CPU: Dataflow のデフォルトのマシンタイプは、バッチの場合は
n1-standard-1
、Streaming Engine を使用するジョブの場合はn1-standard-2
、Streaming Engine を使用しないジョブの場合はn1-standard-4
です。FlexRS はデフォルトでn1-standard-2
を使用します。ベータ版の FlexRS では 90% のプリエンプティブル VM と 10% の通常の VM を使用します。Compute Engine では、各インスタンスの総 CPU 数を合計することによって、CPU の数を計算します。たとえば、実行中の 10 個のn1-standard-4
インスタンスは 40 CPU として計算されます。マシンタイプから CPU 数へのマッピングについては、Compute Engine のマシンタイプをご覧ください。 - 使用中の IP アドレス: プロジェクトで使用中の IP アドレスの数は、必要なインスタンス数に十分に対応できる必要があります。 10 個の Compute Engine インスタンスを使用するには、10 個の使用中 IP アドレスが必要です。
- Persistent Disk: Dataflow では Persistent Disk が各インスタンスにアタッチされます。
- デフォルトのディスクサイズは、バッチの場合は 250 GB、ストリーミング パイプラインの場合は 400 GB です。10 インスタンスの場合、デフォルトでは、バッチジョブに 2,500 GB の Persistent Disk が必要になります。
- Dataflow Shuffle バッチ パイプラインのデフォルトのディスクサイズは 25 GB です。
- Streaming Engine ストリーミング パイプラインのデフォルトのディスクサイズは 30 GB です。
- マネージド インスタンス グループ: Dataflow は Compute Engine インスタンスをマネージド インスタンス グループとしてデプロイします。次の関連割り当てが使用可能であることを確認する必要があります。
- Dataflow ジョブごとに 1 つのインスタンス グループ
- Dataflow ジョブごとに 1 つのマネージド インスタンス グループ
- Dataflow ジョブごとに 1 つのインスタンス テンプレート
追加の割り当て
使用しているソースとシンクに応じて、追加の割り当てが必要になることもあります。
- Pub/Sub: Pub/Sub を使用している場合は、追加の割り当てが必要になる場合があります。割り当てを計画する場合は、Pub/Sub からのメッセージを 1 つ処理するには 3 つのオペレーションが必要なので注意してください。カスタム タイムスタンプを使用する場合は、カスタム タイムスタンプを追跡するために Dataflow によって別のサブスクリプションが作成されるため、予想されるオペレーション数を 2 倍にする必要があります。
- BigQuery: BigQuery にストリーミング API を使用している場合は、割り当て上限とその他の制限が適用されます。
Dataflow Prime
Dataflow と Dataflow Prime に対する割り当てと上限は同じです。Dataflow の割り当てがある場合、Dataflow Prime を使用してジョブを実行するための追加の割り当ては必要ありません。
上限
このセクションでは、Dataflow で提供される実際のサービスの上限について説明します。
上限 | 値 |
---|---|
パイプラインあたりの最大ワーカー数。 | 1,000 |
ジョブ作成リクエストの最大サイズ。パイプラインの説明のステップ数が多く、非常に長い名前が含まれていると、この上限に達する可能性があります。 | 10 MB |
副入力シャードの最大数。 | 20,000 |
Streaming Engine の単一要素値の最大サイズ | 80 MB |
ワーカーあたりの特定の期間におけるログエントリの最大数。 | 30 秒ごとに 15,000 件のメッセージ |
Dataflow ジョブあたりのカスタム指標の最大数 | 100 |
推奨事項の保存期間。 | 30 日 |
Streaming Engine の上限 | 量 |
---|---|
Pub/Sub メッセージの最大バイト数。 | 7 MB |
ラージキーの最大サイズ。64 KB を超える鍵を使用するとパフォーマンスが低下します。 | 2 MB |
副入力の最大サイズ。 | 80 MB |
TagValue と TagBag で使用される状態タグの最大長。 |
64 KB |