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

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

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

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

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

Spanner リージョン エンドポイントは、ダンマーム me-central2 リージョン インスタンス構成でのみ使用できます。使用するエンドポイントに関係なく、基盤となる 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 です。

可能性のあるリージョン エンドポイントとして使用できるのは me-central2 のみです。

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

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 をご覧ください。

次のステップ