リージョン エンドポイント

Dataflow リージョン エンドポイントでは、Dataflow ジョブに関するメタデータが保存 / 処理され、Dataflow ワーカーがデプロイ / 制御されます。

リージョン エンドポイントの名前は、Compute Engine リージョン名に基づく標準の規則に従います。たとえば、米国中部リージョンの名前は us-central1 です。現在、Dataflow では次のリージョンのリージョン エンドポイントが提供されています。

  • us-west1
  • us-central1
  • us-east1
  • us-east4
  • europe-west2
  • europe-west1
  • europe-west4
  • europe-west3
  • asia-east1
  • asia-northeast1

リージョン エンドポイントを指定する理由

Dataflow ジョブのリージョン エンドポイントを指定すると便利な状況があります。

セキュリティとコンプライアンス

プロジェクトのセキュリティとコンプライアンスのニーズに対応するために、Dataflow ジョブの処理を特定の地理的リージョンに制限する必要が生じることがあります。

データの局所性

ソース、シンク、ステージング / 一時ファイルがある場所と同じリージョンから Dataflow ジョブを実行すると、ネットワークのレイテンシおよびネットワーク転送のコストを最小限に抑えることができます。ジョブのリージョン外にあるソース、シンク、ステージング / 一時ファイルの場所を使用すると、データがリージョンを越えて送信される可能性があるのでご注意ください。

一般的な Dataflow ジョブソースに関する注意事項:

  • Cloud Storage バケットをリージョン リソースまたはマルチリージョン リソースとして使用できます。Cloud Storage リージョン バケットまたは Cloud Storage マルチリージョン バケットをソースとして使用する場合、同じリージョンで読み取りオペレーションを行うことをおすすめします。
  • Pub/Sub トピックはグローバル リソースであり、リージョンに関する考慮事項はありません。

復元力と地理的分離

通常の Dataflow オペレーションを、他の地理的リージョンで生じる可能性がある停止から分離するのが適切な場合があります。または、リージョン全体に及ぶ災害が発生した場合の事業継続のために、代替サイトを計画する必要が生じることもあります。

自動ゾーン プレースメント

デフォルトでは、リージョン エンドポイントはジョブの作成リクエストがあった時点の使用可能なゾーン容量に基づき、リージョン内で最適なゾーンを自動的に選択します。この自動ゾーン選択機能により、ジョブワーカーはジョブに最適なゾーンで実行できるようになります。

リージョン エンドポイントの使用

注: リージョン エンドポイントの構成には、Apache Beam SDK バージョン 2.0.0 以降が必要です。

ジョブのリージョン エンドポイントを指定するには、サポートされているいずれかのリージョン エンドポイントに --region オプションを設定します。リージョン エンドポイントを指定しない場合、Dataflow はデフォルト リージョンとして us-central1 を使用し、ジョブワーカーは us-central1 内のゾーンで開始します。リージョン エンドポイントがデフォルト リージョンと異なる場合、エラーを回避するには、このジョブのすべての Cloud Dataflow コマンドでリージョンを指定する必要があります。

また、Cloud Dataflow コマンドライン インターフェースでは、--region オプションでリージョン エンドポイントを指定できます。

ワーカー リージョンまたはワーカー ゾーンのオーバーライド

デフォルトでは、--region パラメータを指定してジョブを送信すると、リージョン エンドポイントがそのリージョン内の最適なゾーンにワーカーを自動的に割り当てます。ただし、ワーカー インスタンスのリージョンまたは特定のゾーン(それぞれ --worker_region または --worker_zone を使用)を指定できます。

ワーカー ロケーションのオーバーライドが必要になるのは、次のような状況です。

  • リージョン エンドポイントを持たないリージョンまたはゾーンにワーカーが存在し、そのリージョンまたはゾーンに近いリージョン エンドポイントを使用する場合。

  • Dataflow ジョブのデータ処理が厳密に特定のリージョンまたはゾーンで行われるようにする場合。

それ以外の場合は、ワーカー ロケーションをオーバーライドすることはおすすめしません。一般的なシナリオの表に、これらの状況に関する使用上の推奨事項を示します。

gcloud compute regions list コマンドを実行して、ワーカーのデプロイに使用できるリージョンとゾーンのリストを表示できます。

一般的な使用方法

次の表に、一般的なシナリオの使用上の推奨事項を示します。

事例 推奨
サポートされているリージョン エンドポイントを使用し、そのリージョン内にゾーンを設定しない。この場合、リージョン エンドポイントでは、使用可能な容量に基づき、最適なゾーンが自動的に選択されます。 --region を使用してリージョン エンドポイントを指定します。これにより、Dataflow でジョブが管理されて、指定されたリージョン内のデータが処理されます。
リージョン エンドポイントを持つリージョンの特定のゾーンでワーカー処理を行う必要がある。 --region--worker_zone の両方を指定します。

--region を使用してリージョン エンドポイントを指定します。--worker_zone を使用してそのリージョン内の特定のゾーンを指定します。

リージョン エンドポイントを持たない特定のリージョンでワーカー処理を行う必要がある。 --region--worker_region の両方を指定します。

--region を使用して、ワーカー処理を行う必要があるリージョンに最も近い、サポートされているリージョン エンドポイントを指定します。--worker_regionを使用して、ワーカー処理を行う必要があるリージョンを指定します。

Dataflow Shuffle を使用する必要がある。 --region を使用して、Dataflow Shuffle をサポートするリージョン エンドポイントを指定します。リージョン エンドポイントによっては、この機能をサポートしていないものもあります。サポートされているリージョンの一覧については、機能のドキュメントをご覧ください。