このページでは、
Google Cloudでリージョン API エンドポイント(リージョン エンドポイント)を使用する方法について説明します。このエンドポイントは、me-central2(KSA)リージョンで使用できます。
リージョン エンドポイントは、クライアントと同じGoogle Cloud リージョンでトラフィックをルーティングして 処理することで、転送中のデータのデータ所在地機能を提供します。クライアントがリージョン エンドポイントを使用してサービスを呼び出すと、クライアントの TLS セッションはエンドポイント名で示されたリージョンで終了します。そのため、リージョン エンドポイントは、単一のリージョンまたは管轄区域外に依存関係がないワークロードにのみ使用する必要があります。
インターネット経由でパブリック リージョン エンドポイントに接続できます。インターネット上り(内向き)トラフィックの場合、これらのエンドポイントはグローバル Google Front End(GFE)を使用しないため、ベスト エフォート型ルーティングを使用して、転送中のトラフィックをリージョン(または管轄区域)内に維持します。代わりに、選択したリージョンに最も近いピアリング ポイントでのみアナウンスされる IP アドレスに解決されます。
たとえば、KSA で作業するデータ エンジニアは、リージョン サービス エンドポイント bigquery.me-central2.rep.googleapis.com を使用して、me-central2 リージョン(ダンマーム)で BigQuery を使用するようにクライアントを構成できます。トラフィックは
スタンダード ティアを使用してルーティングされ、クライアントからの TLS セッションは me-central2 で終了します。
このシナリオでは、リージョン サービス エンドポイントに対応するパブリック VIP は、Google がリージョンのピアリング ポイントでアナウンスした IP 接頭辞から発信されます。したがって、ユーザーが KSA のローカル ISP に接続している場合、トラフィックはその管轄区域内でルーティングできます。
リージョン エンドポイントの形式
リージョン エンドポイントは次の形式を使用します。
SERVICE_NAME.REGION.rep.googleapis.com
プレースホルダの値の定義は次のとおりです。
- SERVICE_NAME: サポートされているサービス エンドポイント名(
bigqueryなど)。 - REGION:サポートされている Google Cloud リージョン(
me-central2など)。
次の例は、BigQuery の完全なリージョン エンドポイントです。
bigquery.me-central2.rep.googleapis.com
サポートされているリージョンとサービス
リージョン エンドポイントは、次のリージョンでサポートされています。
| リージョン名 | ロケーション |
|---|---|
me-central2 |
ダンマーム、サウジアラビア王国(KSA) |
リージョン エンドポイントは、次のサービスでサポートされています。
| サービス名 | リージョン エンドポイント |
|---|---|
| Artifact Registry |
artifactregistry.me-central2.rep.googleapis.com
|
| BigQuery |
bigquery.me-central2.rep.googleapis.com
|
| Bigtable |
bigtable.me-central2.rep.googleapis.com
|
| Cloud Key Management Service(Cloud KMS) |
cloudkms.me-central2.rep.googleapis.com
|
| Cloud Logging |
logging.me-central2.rep.googleapis.com
|
| Spanner |
spanner.me-central2.rep.googleapis.com
|
| Cloud Storage |
storage.me-central2.rep.googleapis.com
|
| Dataflow |
dataflow.me-central2.rep.googleapis.com
|
| Managed Service for Apache Spark |
dataproc.me-central2.rep.googleapis.com
|
| Pub/Sub |
pubsub.me-central2.rep.googleapis.com
|
パブリック インターネットからリージョン エンドポイントにアクセスするようにクライアントを構成する
パブリック インターネットからリージョン エンドポイントを使用するには、まず特定のリージョン エンドポイントに接続するようにクライアント(Google Cloud CLI やGoogle Cloud SDK クライアント ライブラリなど)を構成する必要があります。
gcloud CLI を構成する
デフォルトでは、gcloud CLI は bigquery.googleapis.com などのグローバル サービス エンドポイントを使用します。リージョン サービス エンドポイントを使用するには、次の手順で gcloud CLI を構成する必要があります。
サポートされているサービスがまだ有効になっていない場合は、次のコマンドを使用して有効にします。
gcloud services enable SERVICE_NAME
SERVICE_NAME は、使用するサポート対象サービスの名前に置き換えます 。次に例を示します。
gcloud services enable cloudkms
リージョン サービス エンドポイントを使用するには、 gcloud CLI を
gcloud config set api_endpoint_overridesコマンドを使用して構成する必要があります。gcloud config set api_endpoint_overrides/SERVICE_NAME REGIONAL_API_URL
次の値を独自の値に置き換えます。
- SERVICE_NAME: 使用するサポート対象サービスの名前。
例:
cloudkms REGIONAL_API_URL: 特定のエンドポイントの URL。次に例を示します。
https://SERVICE_NAME.REGION_NAME.rep.googleapis.com/SERVICE_NAME/API_VERSION
次の値を独自の値に置き換えます。
- REGION_NAME: 必要な Google Cloud リージョンの名前。例:
me-central2 - API_VERSION: 使用するサービスの API バージョン。
例:
v1。注: 一部のサービスでは、この パラメータは必要ありません。
REGIONAL_API_URL 値の例を次に示します。
https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1
- REGION_NAME: 必要な Google Cloud リージョンの名前。例:
まとめると、Cloud KMS の
gcloud config set api_endpoint_overridesコマンドの例は次のようになります。gcloud config set api_endpoint_overrides/cloudkms https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1
- SERVICE_NAME: 使用するサポート対象サービスの名前。
例:
リージョン サービス エンドポイントを使用するように gcloud CLI が構成されたため、以降のコマンドでは、グローバル サービス エンドポイントではなく、デフォルトとして使用されます。
Google Cloud SDK クライアント ライブラリを構成する
デフォルトでは、Google Cloud SDK クライアント ライブラリは pubsub.googleapis.com などのグローバル サービス エンドポイントを使用します。リージョン サービス エンドポイントを使用するには、それらを使用するように Google Cloud SDK クライアント ライブラリを構成する必要があります。
Python
google-api-core パッケージの
ClientOptions クラス
で api_endpoint パラメータを設定します。
from google.api_core.client_options import ClientOptions options = ClientOptions(api_endpoint = "pubsub.me-central2.rep.googleapis.com") client = pubsub_v1.PublisherClient(client_options=options) // Alternatively client = pubsub_v1.PublisherClient(client_options={"api_endpoint": "pubsub.me-central2.rep.googleapis.com")
Java
com.google.cloud.vision パッケージの
ImageAnnotatorSettings クラス
の newBuilder メソッドを使用します。
ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder() .setEndpoint("pubsub.me-central2.rep.googleapis.com") .build(); ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);
Go
api パッケージの
ClientOptions パッケージで WithEndpoint 関数を使用します。
client, err := pubsub.NewClient(ctx, projID, option.WithEndpoint("pubsub.me-central2.rep.googleapis.com"), // Override endpoint
.NET
使用しているライブラリの Google.Cloud パッケージにあるクライアントの
ClientBuilder クラス
で Endpoint プロパティを設定します。
string region = "me-central2"; var client = new DatasetServiceClientBuilder { Endpoint = $"pubsub.{region}.rep.googleapis.com" }.Build();
グローバル API エンドポイントの使用を制限する
リージョナル エンドポイントの使用を強制するには、constraints/gcp.restrictEndpointUsage 組織のポリシーの制約を使用して、グローバル API エンドポイントへのリクエストをブロックします。詳細については、
エンドポイントの使用を制限するをご覧ください。