Dataflow ネットワーキングの問題のトラブルシューティング

このページでは、Dataflow ネットワーキングの問題を解決する方法について説明します。

ネットワーク リソースがカスタム サブネット モードの場合に、ネットワーク インターフェースがサブネットを指定する必要がある

Dataflow ジョブを実行すると、次のエラーが発生します。

Workflow failed. Causes: Invalid Error: Message: Invalid value for field
'resource.properties.networkInterfaces[0].subnetwork': ''. Network interface
must specify a subnet if the network resource is in custom subnet mode. HTTP
Code: 400

この問題は、default という名前の VPC ネットワークが自動モードの VPC ネットワークからカスタムモードの VPC ネットワークに変換された場合に発生します。

この問題を解決するには、カスタムモードの VPC ネットワークを使用するときにサブネットワーク パラメータを指定します。詳細については、ネットワークとサブネットワークの指定をご覧ください。

このリソースのプロジェクト間の参照が許可されない

共有 VPC ネットワークで Dataflow ジョブを実行すると、次のエラーが発生します。

Invalid value for field 'resource.properties.networkInterfaces[0].subnetwork':
'https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK'.
Cross-project references for this resource are not allowed.

この問題は、共有 VPC ネットワークでサブネットワークを指定したものの、サービス プロジェクトが共有 VPC ホスト プロジェクトに接続されていない場合に発生します。

この問題を解決するには、共有 VPC 管理者がサービス プロジェクトをホスト プロジェクトに接続する必要があります。

ネットワークまたはサブネットワークが Dataflow サービス アカウントにアクセスできない、または存在しない

Dataflow ジョブを実行しようとすると、次のいずれかのエラーが発生します。ジョブが失敗します。

Workflow failed. Causes: Network default is not accessible to Dataflow Service
account or does not exist
Workflow failed. Causes: Subnetwork SUBNETWORK is not
accessible to Dataflow Service account or does not exist

この問題が発生する理由として、以下のことが考えられます。

  • Dataflow ジョブの作成時にサブネットワーク パラメータとネットワーク パラメータの両方を省略するものの、default という名前の自動モード VPC ネットワークはプロジェクトに存在しない。デフォルト ネットワークが削除された場合や、組織のポリシーの制約によってデフォルト ネットワークを作成できない場合は、デフォルト ネットワークが存在しない可能性があります。
  • サブネットワークがない。
  • サブネットワーク パラメータが正しく指定されていない。
  • Dataflow サービス アカウントに必要な権限がない。

この問題を解決するには、ネットワークとサブネットワークの指定に関するガイドラインに従ってください。

RPC がタイムアウトした、またはポート 12345 または 12346 で接続に失敗した

Streaming Engine または Dataflow Shuffle を使用しない Dataflow ジョブを実行すると、次のいずれかのエラーが発生します。ジョブは停止するか、失敗します。

ストリーミング ジョブの場合:

Rpc to WORKER_HARNESS:12345 completed with error
UNAVAILABLE: failed to connect to all addresses; last error : UNKNOWN:
ipv4:WORKER_IP_ADDRESS:12345: Failed to connect to remote
host: FD Shutdown

バッチジョブの場合:

(g)RPC timed out when SOURCE_WORKER_HARNESS talking to
DESTINATION_WORKER_HARNESS:12346.

この問題は、TCP ポート 1234512346 でネットワーク トラフィックを許可するファイアウォール ルールがない場合に発生します。ジョブで複数のワーカーが使用されている場合、ワーカーは相互に通信できません。

この問題を解決するには、DEADLINE_EXCEEDED またはサーバーが応答しないのトラブルシューティング手順をご覧ください。

単一ワーカーの起動と停止が繰り返される

Dataflow ジョブを起動すると、次の問題が発生します。Dataflow ジョブの [ジョブの指標] ページの [CPU 使用率(すべてのワーカー)] グラフには、ワーカーが繰り返し起動し、数分後に停止していることが示されています。特定の時間に利用できるワーカーは 1 つのみです。

一度に 1 つのワーカーが繰り返し作成されてから停止することを示す、CPU 使用率のグラフ。

次のエラーが発生します。

The Dataflow job appears to be stuck because no worker activity has been seen
in the last 1h. Please check the worker logs in Stackdriver Logging.

ワーカーログが作成されていません。

ジョブのログに、次のような複数のメッセージが表示される場合があります。

Autoscaling: Raised the number of workers to 1 based on the rate of progress in
the currently running stage(s).

この問題は、VPC ネットワークにインターネットへのデフォルト ルートとサブネットワークへのデフォルト ルートがない場合に発生します。

この問題を解決するには、VPC ネットワークにデフォルト ルートを追加します。詳細については、Dataflow のインターネット アクセスをご覧ください。

サブネットワークに限定公開の Google アクセスが存在しない

外部 IP アドレスが無効になっている Dataflow ジョブを起動すると、次のエラーが発生します。

Workflow failed. Causes: Subnetwork SUBNETWORK on project
PROJECT_ID network NETWORK in
region REGION does not have Private Google Access, which
is required for usage of private IP addresses by the Dataflow workers.

この問題は、限定公開の Google アクセスを有効にせずに外部 IP アドレスを無効にする場合に発生します。

この問題を解決するには、Dataflow ジョブが使用するサブネットワークで限定公開の Google アクセスを有効にします