このページでは、Spanner インスタンス構成の詳細のリスト作成、更新、削除、表示の方法について説明します。一部のカスタム インスタンス構成機能は、Google Cloud コンソール UI で使用できません。そのような場合は、提供されている Google Cloud CLI(gcloud)コマンドを使用します。
インスタンス設定の一覧取得
使用可能なすべての Spanner インスタンス構成は、Google Cloud CLI とクライアント ライブラリを使用して一覧表示できます。すべての Spanner インスタンス構成のリストについては、リージョン構成とマルチリージョン構成をご覧ください。
gcloud
gcloud spanner instance-configs list
コマンドを実行します。
gcloud spanner instance-configs list
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Ruby
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
インスタンス構成の詳細を表示する
インスタンス構成の詳細は、Google Cloud CLI とクライアント ライブラリを使用して表示できます。新しいカスタム インスタンス構成を作成する場合、optionalReplicas
にリストされている任意のロケーションをオプションのレプリカとして追加できます。
目的の読み取り専用レプリカのロケーションが表示されない場合は、新しいオプションの読み取り専用レプリカ リージョンをリクエストできます。
詳細については、カスタム インスタンス構成を作成するをご覧ください。
gcloud
gcloud spanner instance-configs describe
コマンドを実行します。
gcloud spanner instance-configs describe INSTANCE-CONFIG
次の値を指定します。
INSTANCE-CONFIG
- インスタンス構成。インスタンスの地理的位置を定義し、データのレプリケート方法に影響を与えます。たとえば、
eur6
や、us-central1
です。
eur6
ベース構成の詳細を表示するには、次のコマンドを実行します。
gcloud spanner instance-configs describe eur6
eur6
ベース構成の出力例を次に示します。
configType: GOOGLE_MANAGED
displayName: Europe (Netherlands, Frankfurt)
freeInstanceAvailability: UNSUPPORTED
leaderOptions:
- europe-west3
- europe-west4
name: projects/cloud-spanner-demo/instanceConfigs/eur6
optionalReplicas:
- displayName: South Carolina
labels:
cloud.googleapis.com/country: US
cloud.googleapis.com/location: us-east1
cloud.googleapis.com/region: us-east1
location: us-east1
type: READ_ONLY
- displayName: South Carolina
labels:
cloud.googleapis.com/country: US
cloud.googleapis.com/location: us-east1
cloud.googleapis.com/region: us-east1
location: us-east1
type: READ_ONLY
replicas:
- defaultLeaderLocation: true
location: europe-west4
type: READ_WRITE
- location: europe-west4
type: READ_WRITE
- location: europe-west3
type: READ_WRITE
- location: europe-west3
type: READ_WRITE
- location: europe-west6
type: WITNESS
その他の使用上の注意:
baseConfig
(カスタム構成の場合のみ)は、基本インスタンス構成を参照します。カスタム インスタンス構成の作成に使用できる基本インスタンス構成のリストについては、使用可能なリージョン構成と使用可能なマルチリージョン構成をご覧ください。configType
は、このインスタンス構成が基本インスタンス構成かカスタム インスタンス構成かを示します。etag
(カスタム構成の場合のみ)は、構成を base64 でエンコードした文字列表現です。これは、オプティミスティック同時実行制御に使用されます。
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Ruby
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
カスタム インスタンス構成を作成する
カスタムのリージョンまたはマルチリージョン インスタンス構成を作成し、オプションの読み取り専用レプリカを追加して、読み取りをスケーリングし、低レイテンシのステイル読み取りをサポートできます。カスタム インスタンス構成の作成に使用できる基本インスタンス構成のリストについては、使用可能なリージョン構成と使用可能なマルチリージョン構成をご覧ください。カスタムのデュアルリージョン インスタンス構成を作成することはできません。Spanner のレプリケーションとレプリカの種類の詳細については、レプリケーションをご覧ください。
カスタム インスタンス構成を作成するには、spanner.instanceConfigs.create
権限が必要です。デフォルトでは、spanner.instances.create
権限を持つロールには spanner.instanceConfigs.create
権限も付与されます。
Console
Google Cloud コンソールを使用してカスタム インスタンス構成を作成することはできません。読み取り専用レプリカを含むインスタンスを作成するには、gcloud CLI またはクライアント ライブラリを使用します。
gcloud
gcloud spanner instance-configs create
コマンドを使用します。
gcloud spanner instance-configs create CUSTOM-INSTANCE-CONFIG-ID \
--display-name=DISPLAY-NAME \
--base-config=BASE-CONFIG \
--labels=KEY=VALUE,[...] \
--replicas=location=LOCATION, type=TYPE[:...]
--clone-config
フラグを使用すると、特定のカスタム レプリカのロケーションと種類を宣言しながら、別の基本インスタンス構成またはカスタム インスタンス構成のクローンを作成できます。
gcloud spanner instance-configs create CUSTOM-INSTANCE-CONFIG-ID \
--display-name=DISPLAY-NAME \
--clone-config=INSTANCE-CONFIG \
--labels=KEY=VALUE,[...] \
--add-replicas=location=LOCATION, type=TYPE[:...] \
--skip-replicas=location=LOCATION, type=TYPE[:...]
次の値を指定します。
CUSTOM-INSTANCE-CONFIG-ID
- Google Cloud プロジェクト内で一意の永続的な識別子。インスタンス構成 ID は後で変更できません。基本インスタンス構成との名前の競合を回避するため、
custom-
接頭辞が必要です。 DISPLAY-NAME
- Google Cloud コンソールのカスタム インスタンス構成に表示される名前。 フラグ「--base-config」と「--replicas」を使用する場合は、次の値を指定します。
BASE-CONFIG
- カスタム インスタンス構成のベースとなる、インスタンス構成のリージョン名。たとえば、
eur6
やregional-us-central1
などです。 LOCATION
- サービング リソース(レプリカ)のリージョン名(例:
us-east1
)。使用できるロケーション名を確認するには、gcloud spanner instance-configs describe INSTANCE-CONFIG
を実行して、replicas
とoptionalReplicas
のリストをご覧ください。 TYPE
- レプリカの種類。対応するロケーションとレプリカの種類を確認するには、
gcloud spanner instance-configs describe INSTANCE-CONFIG
を実行して、replicas
とoptionalReplicas
のリストをご覧ください。種類は次のいずれかです。- READ_ONLY
- READ_WRITE
- WITNESS
- リスト内の項目は「:」で区切られます。
--[clone-config]
フラグが使用されていない場合、カスタム インスタンス構成を作成するときに、すべてのレプリカのLOCATION
とTYPE
を指定する必要があります。これには、基本構成で事前定義されているレプリカも含まれます。詳細については、gcloud instance-configs describe のヘルプテキストをご覧ください。
--clone-config
フラグと --add-replicas
フラグを使用する場合(--skip-replicas
は、クローンを作成しないレプリカがある場合にのみ使用します)、次の値を指定します。
--clone-config=INSTANCE-CONFIG
このフラグを使用すると、別の基本インスタンス構成またはカスタム インスタンス構成のクローンを作成すると同時に、特定のカスタム レプリカのロケーションと種類を宣言できます。次に、
--add-replicas=location=LOCATION,type=TYPE
を使用して、オプションのレプリカを追加する場所を指定します。たとえば、
eur6
基本インスタンス構成から他のすべてのレプリカのロケーションをコピーして、us-east1
に 2 つの読み取り専用レプリカを持つカスタム インスタンス構成を作成するには、次のコマンドを実行します。gcloud spanner instance-configs create custom-eur6 --clone-config=eur6 \ --add-replicas=location=us-east1,type=READ_ONLY:location=us-east1,type=READ_ONLY
--skip-replicas=location=LOCATION,type=TYPE
このフラグを使用すると、レプリカのクローンを作成せずにスキップできます。
たとえば、
us-east4
に読み取り専用レプリカを 1 つ含むカスタム インスタンス構成を作成し、nam3
ベース インスタンス構成から、us-central1
の読み取り専用レプリカを除くすべてのレプリカのロケーションをコピーして、次のコマンドを実行します。gcloud spanner instance-configs create custom-nam3 --clone-config=nam3 \ --add-replicas=location=us-east4,type=READ_ONLY \ --skip-replicas=location=us-central1,type=READ_ONLY
次のフラグと値は省略可能です。
--labels=KEY=VALUE,[...]
KEY
とVALUE
: カスタム インスタンス構成に追加する Key-Value ペアのリスト。キーは小文字で始まり、使用できるのはハイフン(-)、アンダースコア(_)、小文字、数字のみです。値に使用できるのは、ハイフン(-)、アンダースコア(_)、小文字、数字のみです。
--validate-only
このフラグを使用すると、実行の前にリクエストが成功することを検証します。
たとえば、eur6
ベース構成でカスタム インスタンス構成を作成し、us-east1
に読み取り専用レプリカを 1 つ追加するには、次のコマンドを実行します。
gcloud spanner instance-configs create custom-eur6 \
--display-name="Custom eur6" --clone-config=eur6 \
--add-replicas=location=us-east1,type=READ_ONLY \
--clone-config
フラグなしでカスタム インスタンス構成を作成することもできます。
gcloud spanner instance-configs create custom-eur6 \
--display-name="Custom eur6" --base-config=eur6 \
--replicas=location=europe-west4,type=READ_WRITE:location=europe-west3,type=READ_WRITE:location=europe-west4,type=READ_WRITE:location=europe-west3,type=READ_WRITE:location=europe-west6,type=WITNESS:location=us-east1,type=READ_ONLY
次の出力が表示されます。
Creating instance-config...done.
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Ruby
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
カスタム インスタンス構成でインスタンスを作成する
カスタム インスタンス構成でインスタンスを作成できます。
Console
カスタム インスタンス構成でインスタンスを作成するには、gcloud CLI またはクライアント ライブラリを使用します。
gcloud
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
C++
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
C#
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
Go
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
Java
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
Node.js
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
PHP
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
Python
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
Ruby
カスタム インスタンス構成を作成したら、インスタンスを作成するの手順に沿って操作します。
カスタム インスタンス構成を更新する
カスタム インスタンス構成の表示名とラベルは変更できます。
カスタム インスタンス構成のレプリカを変更または更新することはできません。ただし、追加のレプリカを含む新しいカスタム インスタンス構成を作成し、選択した追加のレプリカを使用してインスタンスを新しいカスタム インスタンス構成に移動できます。たとえば、インスタンスが us-central1
にあり、読み取り専用レプリカ us-west1
を追加する場合、us-central1
を使用して新しいカスタム インスタンス構成を基本構成として追加し、us-west1
を読み取り専用レプリカとして追加します。次に、この新しいカスタム インスタンス構成にインスタンスを移動します。
gcloud
gcloud spanner instance-configs update
コマンドを使用します。
gcloud spanner instance-configs update CUSTOM-INSTANCE-CONFIG-ID \
--display-name=NEW-DISPLAY-NAME \
--update-labels=KEY=VALUE,[...], \
--etag=ETAG
次の値を指定します。
CUSTOM-INSTANCE-CONFIG-ID
- カスタム インスタンス構成の永続的な識別子。
custom-
で始まります。 NEW-DISPLAY-NAME
- Google Cloud コンソールのインスタンス構成に表示される新しい名前。
KEY
とVALUE
- 更新する Key-Value ペアのリスト。
- キーは小文字で始まり、使用できるのはハイフン(-)、アンダースコア(_)、小文字、数字のみです。値に使用できるのは、ハイフン(-)、アンダースコア(_)、小文字、数字のみです。
次のフラグと値は省略可能です。
--etag=ETAG
: 読み取り-変更-書き込みのシナリオでは、ETAG
引数を使用して同時更新を選択またはスキップできます。--validate-only
: このフラグを使用すると、実行の前にリクエストが成功することを検証します。
例:
gcloud spanner instance-configs update custom-eur6 \
--display-name="Customer managed europe replicas"
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Ruby
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
カスタム インスタンス構成を削除する
カスタム インスタンス構成を削除するには、まずインスタンス構成内のインスタンスを削除します。
gcloud
gcloud spanner instance-configs delete
コマンドを使用します。CUSTOM-INSTANCE-CONFIG-ID
の部分はカスタム インスタンス構成 ID に置き換えてください。
gcloud spanner instance-configs delete CUSTOM-INSTANCE-CONFIG-ID
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Ruby
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
次のステップ
- データ操作言語(DML)や gcloud CLI で、データを挿入、更新、削除する方法について学習する。
- インスタンスとそのデータベースに IAM 役割を付与する。
- Spanner スキーマの設計方法について学習する。
- Spanner の割り当てと上限。