このページでは、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 をご覧ください。
次のステップ
Spanner のインスタンス構成について確認する。
Spanner REST API とグローバル エンドポイントとリージョン エンドポイントの詳細を確認する。
Spanner RPC API とグローバル エンドポイントとリージョン エンドポイントの詳細を確認する。