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

このページでは、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 をご覧ください。

次のステップ