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

Dataproc は、単一のグローバル エンドポイントと Compute Engine ゾーンに基づくリージョン エンドポイントの両方をサポートします。

グローバル エンドポイント: グローバル エンドポイントとは、ユーザー指定の Compute Engine ゾーン内の Dataproc リソースとやり取りできる特別なマルチリージョンの名前空間です。

リージョン エンドポイント: 各 Dataproc リージョンは、リージョン内の Compute Engine ゾーンへのインスタンスのデプロイに制約される独立したリソース名前空間を構成します。また、個別のリージョン(「us-east1」や「europe-west1」など)を複数指定することで、Dataproc によって利用されるリソース(VM インスタンス、Cloud Storage など)とメタデータの保存場所をユーザーが指定したリージョンごとに分離することもできます。このことは、Dataproc の基になる(コントロール プレーンを含む)インフラストラクチャがリージョンごとにデプロイされるために可能となっています。リージョンの名前空間は、参照される Dataproc リソース URI/regions/<region> セグメントに対応します。

リージョン エンドポイントのメリット:

  • Dataproc を複数のリージョンで使用する場合、リージョン エンドポイントを指定すると、リージョンの分離と保護について向上がみられる可能性があります。
  • 「グローバルな」マルチリージョンの名前空間よりもリージョン エンドポイントを(特に、地理に基づいて)選択する方が、パフォーマンスが向上する場合があります。
  • クラスタの作成時にリージョン エンドポイントを指定する場合、そのリージョン内のゾーンを指定する必要はありません。Dataproc の自動ゾーン プレースメントによってゾーンが選択されます。

リージョン エンドポイントのセマンティクス

リージョン エンドポイントの名前は、Compute Engine ゾーンに基づく標準の命名規則に従います。たとえば、中央アメリカのリージョン名は us-central1、西ヨーロッパのリージョン名は europe-west1 です。gcloud compute regions list コマンドを使用して、利用可能なリージョンのリストを表示します。

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

gcloud

--region フラグを指定して gcloud コマンドライン ツールを使用し、リージョンまたはマルチリージョンのエンドポイントを指定します。

gcloud dataproc clusters create cluster-name \
    --region=region \
    other args ...

REST API

clusters.create リクエストで region URL パラメータを使用して、クラスタのリージョンまたは「グローバル」なマルチリージョンのエンドポイントを指定します。グローバル エンドポイントのリクエスト本文に zoneUri パラメータを指定する必要があります。リージョン エンドポイントのゾーンを指定するか、空のままにして、Dataproc の Dataproc 自動ゾーン プレースメントがクラスタのゾーンを選択できるようにします。

gRPC

デフォルトの gRPC エンドポイントは、global マルチリージョン名前空間にアクセスします。リージョン エンドポイントを使用するには、次のパターンを使用して、エンドポイントをクライアントのトランスポートのアドレスに構成します。

region-dataproc.googleapis.com

Python(google-cloud-python)の例:

from google.cloud import dataproc_v1
from google.cloud.dataproc_v1.gapic.transports import cluster_controller_grpc_transport

transport = cluster_controller_grpc_transport.ClusterControllerGrpcTransport(
    address='us-central1-dataproc.googleapis.com:443')
client = dataproc_v1.ClusterControllerClient(transport)

project_id = 'my-project'
region = 'us-central1'
cluster = {...}

Java(google-cloud-java)の例:

ClusterControllerSettings settings =
     ClusterControllerSettings.newBuilder()
        .setEndpoint("us-central1-dataproc.googleapis.com:443")
        .build();
 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create(settings)) {
   String projectId = "my-project";
   String region = "us-central1";
   Cluster cluster = Cluster.newBuilder().build();
   Cluster response =
       clusterControllerClient.createClusterAsync(projectId, region, cluster).get();
 }

コンソール

Cloud Console で、Dataproc の [クラスタの作成] ページにある [クラスタの設定] パネルの [ロケーション] セクションで Dataproc リージョンを指定します。

次のステップ