グローバルとリージョナルのサービス エンドポイント

このページでは、Spanner のグローバル サービス エンドポイントとリージョン サービス エンドポイント、それらの使用方法について説明します。

サービス エンドポイントは、API サービスのネットワーク アドレスを指定するベース URL です。Spanner にはグローバル エンドポイントとリージョン エンドポイントの両方があります。グローバルまたはリージョンのサービス エンドポイントを使用して、Spanner にリクエストを送信できます。

リージョンについて厳しい制約がない場合は、グローバル エンドポイントを使用します。データは選択したリージョン内に保存されますが、リージョン外で処理される場合があります。Spanner のグローバル エンドポイントは spanner.googleapis.com です。デフォルトの API エンドポイントがグローバル エンドポイントにアクセスします。

リージョン エンドポイントは、リージョン制限を適用します。データは同じリージョン内に保存され、処理されます。Spanner のリージョン エンドポイントを使用すると、保存および処理されるデータが、データベースのある Spanner リージョン インスタンス構成に制限されることが保証されます。規制要件に合わせてデータのロケーションを制限し、制御する必要がある場合は、リージョン エンドポイントを使用します。リージョン エンドポイントを使用して、別のインスタンス構成に属するリソースにアクセスすることはできません。リージョン エンドポイントをそのインスタンス構成で使用するには、まず、リージョン インスタンス構成でインスタンスを作成する必要があります。

使用できるリージョンについては、リージョン エンドポイントを使用できるリージョンをご覧ください。使用するエンドポイントに関係なく、基盤となる Spanner ストレージ ポリシーは変更されません。

リージョン エンドポイントのセキュリティとコンプライアンス

グローバル エンドポイントではなく Spanner リージョン エンドポイントを使用する利点は、リージョン エンドポイントが、セキュリティ、コンプライアンス、規制要件を満たすためにリージョンの分離と保護を利用できることです。

使用できるのは、そのリージョン インスタンス構成に属するリージョン エンドポイントのみです。たとえば、アクセスしているインスタンスが us-central1 リージョン インスタンス構成に属している場合、spanner.me-central2.rep.googleapis.com を使用してリクエストを処理することはできません。こうしたリクエストは InvalidRegionalRequest エラーで拒否されます。

リージョン エンドポイントの制限事項

リージョン エンドポイントを使用してデュアルリージョン インスタンス構成またはマルチリージョン インスタンス構成にアクセスすることはできません。デュアルリージョンまたはマルチリージョンのインスタンス構成にアクセスするには、グローバル エンドポイントを使用する必要があります。たとえば、マルチリージョン インスタンス構成 nam7 のインスタンスがある場合、リージョン エンドポイント spanner.us-central1.rep.googleapis.com を使用して nam7 のインスタンスにリクエストを送信できません。

いずれかのインスタンス リソースでリージョン サービス エンドポイントを使用したアクティブなリクエストがある場合、リージョン適用によってクロスリージョン インスタンスへのアクセスがブロックされるため、インスタンスの移動は、リージョン エンドポイントを使用するすべてのリクエストに影響します。グローバル エンドポイントを使用するリクエストは影響を受けません。

リージョン エンドポイントの命名規則

Spanner リージョン エンドポイントの名前は、リージョン インスタンス構成名と同じ命名規則に従います。リージョン エンドポイントの形式は spanner.REGION.rep.googleapis.com です。たとえば、ダンマームのリージョン インスタンス構成名とリージョン エンドポイント名はどちらも me-central2 です。したがって、リージョン エンドポイントは spanner.me-central2.rep.googleapis.com です。

詳細については、リージョン エンドポイントを使用できるリージョンをご覧ください。

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

Spanner リージョン エンドポイントは、Google Cloud CLI、REST、または RPC API リクエストを使用して指定できます。

gcloud

リージョン エンドポイントを指定してグローバル エンドポイントをオーバーライドするには、次のコマンドを実行します。

gcloud config set api_endpoint_overrides/spanner https://spanner.REGION.rep.googleapis.com/

次の値を指定します。

REGION
リージョン エンドポイントを設定するリージョン。例: me-central2

たとえば、リージョン エンドポイントを me-central2 として構成するには、次のコマンドを実行します。

gcloud config set api_endpoint_overrides/spanner https://spanner.me-central2.rep.googleapis.com/

リージョン エンドポイントをグローバル エンドポイントに再構成するには、次のコマンドを実行します。

gcloud config unset api_endpoint_overrides/spanner

REST API

デフォルトの API エンドポイントがグローバル エンドポイントにアクセスします。リージョン エンドポイントを使用するには、次のパターンを使用して、エンドポイントをリージョン エンドポイントのアドレスに構成します。

https://spanner.REGION.rep.googleapis.com

たとえば、ダンマーム(me-central2)のリージョン インスタンス構成でデータ保証を適用する場合は、以下を使用します。

  https://spanner.me-central2.rep.googleapis.com

詳細については、REST APIリージョン エンドポイントを使用できるリージョンをご覧ください。

RPC API

デフォルトの API エンドポイントがグローバル エンドポイントにアクセスします。リージョン エンドポイントを使用するには、次のパターンを使用して、エンドポイントをリージョン エンドポイントのアドレスに構成します。

spanner.REGION.rep.googleapis.com

たとえば、ダンマーム(me-central2)のリージョン インスタンス構成でデータ保証を適用する場合は、以下を使用します。

spanner.me-central2.rep.googleapis.com

詳細については、RPC APIリージョン エンドポイントを使用できるリージョンをご覧ください。

リージョン エンドポイントを使用できるリージョン

Spanner リージョン エンドポイントは、次のリージョンで使用できます。

ベースのリージョン名 リージョンの説明
南北アメリカ
us-central1 アイオワ
us-central2 オクラホマ
us-east1 サウスカロライナ州
us-east4 北バージニア
us-east5 コロンバス
us-east7 アラバマ
us-south1 ダラス
us-west1 オレゴン
us-west2 ロサンゼルス
us-west3 ソルトレイクシティ
us-west4 ラスベガス
us-west8 フェニックス
中東
me-central2 ダンマーム
ヨーロッパ
europe-west8 ミラノ

次のステップ