このページでは、Spanner instancesを作成、一覧表示、編集、削除する方法について説明します。
インスタンスを作成する
インスタンスは、Google Cloud コンソール、Google Cloud CLI、またはクライアント ライブラリを使用して作成できます。オプションの読み取り専用レプリカを追加して、カスタム インスタンス構成のインスタンスを作成することもできます。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
[インスタンスを作成] をクリックします。
[エディションを選択] セクションで、Spanner エディションを選択します。
異なるエディションの仕様を比較するには、[エディションを比較] をクリックします。詳細については、Spanner エディションの概要をご覧ください。
[続行] をクリックします。
[インスタンスの名前を指定] セクションで、Google Cloud コンソールに表示するインスタンス名を入力します。インスタンス名は、Google Cloud プロジェクト内で一意である必要があります。
インスタンスを永続的に識別するためのインスタンス ID を入力します。インスタンス ID も Google Cloud プロジェクト内で一意にする必要があります。インスタンス ID は後で変更できません。
[続行] をクリックします。
[インスタンスを構成する] セクションの [構成を選択] で、[リージョン]、[デュアルリージョン]、または [マルチリージョン] を選択します。
プルダウンから構成のロケーションを選択します。
省略可: Spanner の基本構成に読み取り専用レプリカを追加するには、まず Google Cloud CLI を使用してカスタム インスタンス構成を作成します。ベース構成に読み取り専用レプリカを追加するオプションは、Enterprise エディションと Enterprise Plus エディションで使用できます。
[続行] をクリックします。
[コンピューティング容量を割り当てる] セクションの [単位を選択] で、次のいずれかをクリックします。
- 小規模なインスタンスなら [処理ユニット]。
- 大規模なインスタンスなら [Nodes]。ノードは 1,000 処理ユニットです。
詳細については、コンピューティング容量、ノード、処理ユニットをご覧ください。
[スケーリング モードを選択する] で、次のいずれかをクリックします。
[手動で割り当てる]: 固定されたコンピューティング リソースと費用に対してコンピューティング容量を手動で設定する場合です。
- [数量] は、このインスタンスに使用する処理ユニットまたはノードの数を示します。
[自動スケーリング] (プレビュー)は、Spanner がコンピューティング容量を自動的に追加、削除できるようにします。マネージド オートスケーラーは、Spanner Enterprise エディションと Enterprise Plus エディションで使用できます。マネージド オートスケーラーの詳細については、Spanner のマネージド オートスケーラーをご覧ください。次のマネージド オートスケーラー オプションを構成します。
- [最小] は、コンピューティング容量に選択した測定単位に応じて、スケールダウンする際の下限を示します。詳細については、下限を決定するをご覧ください。
- [Maximum] は、コンピューティング容量に選択した測定単位に応じて、スケールアップする最大制限を示します。詳細については、上限を決定するをご覧ください。
- [優先度の高い CPU 使用率の目標値] は、優先度の高い CPU の目標使用率を示します。詳細については、CPU 使用率の目標値を決めるをご覧ください。
- [ストレージ使用率の目標値] は、使用するストレージの目標使用率を示します。詳細については、ストレージ使用率の目標値を決めるをご覧ください。
[作成] をクリックしてインスタンスを作成します。
gcloud
gcloud spanner instances create
コマンドを使用して、インスタンスを作成します。インスタンスに必要なノード数または処理単位数としてコンピューティング容量を指定します。
gcloud spanner instances create INSTANCE_ID \ --edition=EDITION \ --config=INSTANCE_CONFIG \ --description=INSTANCE_DESCRIPTION \ --nodes=NODE_COUNT
または
gcloud spanner instances create INSTANCE_ID \ --edition=EDITION \ --config=INSTANCE_CONFIG \ --description=INSTANCE_DESCRIPTION \ --processing-units=PROCESSING_UNIT_COUNT
以下のように置き換えます。
- INSTANCE-ID: Google Cloud プロジェクト内で一意の永続的な識別子。インスタンス ID は後で変更できません。
- INSTANCE-CONFIG: インスタンス構成の永続的な識別子。インスタンスの地理的位置を定義し、データのレプリケート方法に影響を与えます。カスタム インスタンス構成の場合は
custom-
で始まります。詳細については、インスタンス構成をご覧ください。 - INSTANCE_DESCRIPTION: Google Cloud コンソールに表示されるインスタンスの名前。インスタンス名は、Google Cloud プロジェクト内で一意である必要があります。
- NODE-COUNT: ノード数で表されるインスタンスのコンピューティング容量。各ノードは 1,000 の処理ユニットに相当します。
- PROCESSING_UNIT_COUNT: 処理ユニット数で表されるインスタンスのコンピューティング容量。1,000 までの数量については 100 の倍数(100、200、300 など)を、それより多い数量については 1,000 の倍数(1,000、2,000、3,000 など)を入力します。注: 後でマネージド オートスケーラーで有効にするインスタンスを作成する場合は、このパラメータを使用しないでください。
マネージド自動スケーリングを追加する(プレビュー)
Enterprise エディションと Enterprise Plus エディションのインスタンスを作成して、gcloud beta spanner instances create
コマンドでマネージド自動スケーリングを使用することもできます。詳細については、Spanner のマネージド オートスケーラーをご覧ください。
次のコマンドを使用して、マネージド オートスケーラーを含むインスタンスを作成します。
gcloud beta spanner instances create INSTANCE_ID \ --edition=EDITION \ --config=INSTANCE_CONFIG \ --description=INSTANCE_DESCRIPTION \ --autoscaling-min-processing-units=MINIMUM_PROCESSING_UNITS \ --autoscaling-max-processing-units=MAXIMUM_PROCESSING_UNITS \ --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \ --autoscaling-storage-target=STORAGE_PERCENTAGE
または
gcloud beta spanner instances create INSTANCE_ID \ --edition=EDITION \ --config=INSTANCE_CONFIG \ --description=INSTANCE_DESCRIPTION \ --autoscaling-min-nodes=MINIMUM_NODES \ --autoscaling-max-nodes=MAXIMUM_NODES \ --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \ --autoscaling-storage-target=STORAGE_PERCENTAGE
以下のように置き換えます。
- INSTANCE-ID: Google Cloud プロジェクト内で一意の永続的な識別子。インスタンス ID は後で変更できません。
- INSTANCE-CONFIG: インスタンス構成の永続的な識別子。インスタンスの地理的位置を定義し、データのレプリケート方法に影響を与えます。カスタム インスタンス構成の場合は
custom-
で始まります。詳細については、インスタンス構成をご覧ください。 - INSTANCE-DESCRIPTION: Google Cloud コンソールに表示されるインスタンスの名前。インスタンス名は、Google Cloud プロジェクト内で一意である必要があります。
- MINIMUM_PROCESSING_UNITS、MINIMUM_NODES: スケールダウン時の最小の処理ユニットまたはノードの数。詳細については、下限を決定するをご覧ください。
- MAXIMUM_PROCESSING_UNITS、MAXIMUM_NODES: スケールアップ時の処理ユニットまたはノードの最大数。詳細については、上限を決定するをご覧ください。
- CPU_PERCENTAGE: 使用する優先度の高い CPU の目標使用率を 10~90% で指定します。費用を最適化する場合は、より高い使用率を使用します。詳細については、CPU 使用率の目標値を決めるをご覧ください。
- STORAGE_PERCENTAGE: 使用するストレージの目標使用率(10~99%)。詳細については、ストレージ使用率の目標値を決めるをご覧ください。
カスタム構成の使用例
基本リージョン インスタンス構成 us-central1
でインスタンス test-instance
を作成するには、次のコマンドを実行します。
gcloud spanner instances create test-instance --edition=STANDARD --config=regional-us-central1 \
--description="Test Instance" --nodes=1
カスタム マルチリージョン インスタンス構成 custom-eur6
でインスタンス custom-eur6-instance
を作成するには、まずカスタム インスタンス構成を作成します。
次のコマンドを実行します。
gcloud spanner instances create custom-eur6-instance --edition=ENTERPRISE_PLUS --config=custom-eur6 \
--description="Instance with custom read-only" --nodes=1
前述のコマンドのいずれかを実行すると、次の例のようなメッセージが表示されます。
Creating instance...done.
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go を使用してマネージド自動スケーリングでインスタンスを作成する(プレビュー)
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java を使用してマネージド自動スケーリングでインスタンスを作成する(プレビュー)
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
インスタンスの一覧を取得する
Spanner インスタンスの一覧を表示できます。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
Google Cloud コンソールには、Spanner インスタンスのリスト、各インスタンスの ID、表示名、構成、処理ユニットとノードの両方で表されたコンピューティング容量が表示されます。
gcloud
gcloud spanner instances list
コマンドを使用します。
gcloud spanner instances list
gcloud CLI によって、各インスタンスの ID、表示名、構成、コンピューティング容量とともに Spanner インスタンスの一覧が出力されます。
インスタンスの編集
以降のセクションでは、インスタンスのエディションをアップグレードし、インスタンスの表示名とコンピューティング容量を変更する方法について説明します。インスタンス ID やインスタンス構成は変更できません(ただし、インスタンスを移動することはできます)。
エディションをアップグレードする
Standard エディションのインスタンスを上位ティアのエディションにアップグレードできます。Standard エディションのインスタンスは、Enterprise エディションまたは Enterprise Plus エディションにアップグレードできます。Enterprise エディションのインスタンスは Enterprise Plus エディションにアップグレードできます。
セルフサービスのダウングレードはご利用いただけません。インスタンスのエディションをダウングレードするには、サポート チケットを送信してください。詳細については、Spanner エディションの概要をご覧ください。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
アップグレードするインスタンスの名前をクリックします。
エディション タイプの横にある [アップグレード] をクリックします。
[エディションのインスタンス] ページの [エディションを更新] で、インスタンスの新しい上位エディションを選択します。
[保存] をクリックします。
gcloud
gcloud spanner instances update
コマンドを使用して、インスタンスのエディションをアップグレードします。
gcloud spanner instances update INSTANCE_ID --edition=EDITION \ [--async]
以下を置き換えます。
- INSTANCE_ID: インスタンスの永続的な識別子。
- EDITION: インスタンスの新しい上位エディションを指定します。詳細については、Spanner エディションの概要をご覧ください。
オプションのフラグ:
--async
: このフラグは、処理中のオペレーションの完了を待たずに、リクエストをすぐに返す場合に使用します。リクエストのステータスを確認するには、gcloud spanner operations describe
を実行します。
Go
Java
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Spanner への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
表示名を変更する
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
変更するインスタンスの名前をクリックします。
[インスタンスの編集] をクリックします。
新しいインスタンス名を入力します。この名前は、Google Cloud プロジェクト内で一意である必要があります。
[保存] をクリックします。
gcloud
gcloud spanner instances update
コマンドを使用します。
gcloud spanner instances update INSTANCE_ID --description=INSTANCE_NAME
以下のように置き換えます。
- INSTANCE_ID: インスタンスの永続的な識別子。
- INSTANCE_NAME: Google Cloud コンソールに表示されるインスタンスの名前。インスタンス名は、Google Cloud プロジェクト内で一意である必要があります。
コンピューティング容量を変更する
CPU 使用率とストレージ使用率が推奨最大値を超えないように、十分なコンピューティング容量をプロビジョニングする必要があります。詳細については、Spanner の割り当てと上限をご覧ください。
既存のインスタンスのコンピューティング容量を削減できない場合があります。
- コンピューティング容量を削除するには、1,000 処理単位(1 ノード)あたり 4 TB を超えるデータを格納する必要があります。
- 過去の使用パターンに基づいて、Spanner はインスタンスのデータのスプリットを多数作成しました。まれにコンピューティング容量を削除した後はスプリットを管理できないことがあります。
後者の場合、Cloud Spanner でインスタンスのすべてのスプリットを管理するのに必要な最小容量が見つかるまで、コンピューティング容量を徐々に減らすことができます。使用パターンの変化により、インスタンスでそれほど多くのスプリットが必要なくなった場合、Cloud Spanner は最終的に一部のスプリットをマージし、1 ~ 2 週間後にインスタンスのコンピューティング容量を削減してみることができます。
コンピューティング容量を削除するときは、Cloud Monitoring で CPU 使用率とリクエスト レイテンシをモニタリングし、リージョンのインスタンスで CPU 使用率が 65% を下回り、マルチリージョンのインスタンスの各リージョンで 45% を下回るようにしてください。コンピューティング容量の削除中に、リクエストのレイテンシが一時的に増加する場合があります。
インスタンスのコンピューティング容量を増やすには、コンピューティング容量を追加するだけの十分な割り当てが Google Cloud プロジェクトに必要です。 増加リクエストが完了するまでの時間は、リクエストのサイズによって異なります。ほとんどの場合、リクエストは数分以内に完了します。まれに、スケールアップが完了するまでに最大 1 時間かかることがあります。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
変更するインスタンスの名前をクリックします。
[インスタンスの編集] をクリックします。
コンピューティング容量を変更するには、測定単位(処理ユニットまたはノード)を選択し、数量を入力します。処理ユニットを使用する場合は、1,000 までの数量については 100 の倍数(100、200、300 など)を、それよりも多い数量については 1,000 の倍数(1,000、2,000、3,000 など)を入力します。各ノードは 1,000 の処理ユニットに相当します。
[保存] をクリックします。
コンピューティング容量をこの位置に追加するのに十分な割り当てがないというダイアログが表示された場合は、指示に従って割り当ての増加をリクエストします。
gcloud
gcloud spanner instances update
コマンドを使用します。このコマンドを使用するときは、コンピューティング容量をノードまたは処理ユニットの数として指定します。
gcloud spanner instances update INSTANCE_ID --nodes=NODE_COUNT [--async]
または
gcloud spanner instances update INSTANCE_ID --processing-units=PROCESSING_UNIT_COUNT [--async]
以下のように置き換えます。
- INSTANCE_ID: インスタンスの永続的な識別子。
- NODE_COUNT: ノード数で表されるインスタンスのコンピューティング容量。各ノードは 1,000 の処理ユニットに相当します。
- PROCESSING_UNIT_COUNT: 処理ユニット数で表されるインスタンスのコンピューティング容量。1,000 までの数量については 100 の倍数(100、200、300 など)を、それより多い数量については 1,000 の倍数(1,000、2,000、3,000 など)を入力します。
オプションのフラグ:
--async
: このフラグは、処理中のオペレーションの完了を待たずに、リクエストをすぐに返す場合に使用します。リクエストのステータスを確認するには、gcloud spanner operations describe
を実行します。
インスタンスのマネージド オートスケーラーを有効にするか、変更する
既存のインスタンスにマネージド オートスケーリング機能を追加または変更する場合は、次の制限が適用されます。
- マネージド オートスケーラーは、Enterprise エディションまたは Enterprise Plus エディションでのみ使用できます。
- 移動中のインスタンスでマネージド オートスケーラーを有効にすることはできません。
マネージド オートスケーラーが有効になっている間は、インスタンスを移動できません。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
マネージド オートスケーラーを有効にするインスタンスの名前をクリックします。
[インスタンスの編集] をクリックします。
[コンピューティング容量を構成する] で、[自動スケーリング] をクリックします。
[Minimum] に、スケールダウン時に使用する下限を選択します。詳細については、下限を決定するをご覧ください。
[Maximum] で、スケールアップ時に使用する上限を選択します。詳細については、上限を決定するをご覧ください。
[優先度の高い CPU 使用率の目標値] で、使用する優先度の高い CPU の割合を選択します。詳細については、CPU 使用率の目標値を決めるをご覧ください。
[ストレージ使用率の目標値] で、使用するストレージの割合を選択します。詳細については、ストレージ使用率の目標値を決めるをご覧ください。
[保存] をクリックします。
gcloud
gcloud beta spanner instances update
コマンドを使用して、マネージド オートスケーラーをインスタンスに追加します。詳細と制限事項については、Google Cloud CLI
フラグと制限事項をご覧ください。
次のコマンドを使用すると、マネージド オートスケーラーを追加できます。
gcloud beta spanner instances update INSTANCE_ID \ --autoscaling-min-processing-units=MINIMUM_PROCESSING_UNITS \ --autoscaling-max-processing-units=MAXIMUM_PROCESSING_UNITS \ --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \ --autoscaling-storage-target=STORAGE_PERCENTAGE
または
gcloud beta spanner instances update INSTANCE_ID \ --autoscaling-min-processing-units=MINIMUM_NODES \ --autoscaling-max-processing-units=MAXIMUM_NODES \ --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \ --autoscaling-storage-target=STORAGE_PERCENTAGE
以下のように置き換えます。
- INSTANCE_ID: インスタンスの永続的な識別子。
- MINIMUM_PROCESSING_UNITS、MINIMUM_NODES: スケールダウン時に使用する処理ユニットまたはノードの最小数。詳細については、下限を決定するをご覧ください。
- MAXIMUM_PROCESSING_UNITS、MAXIMUM_NODES: スケールアップ時に使用する処理ユニットまたはノードの最大数。詳細については、上限を決定するをご覧ください。
- CPU_PERCENTAGE: 使用する優先度の高い CPU の割合を 10%~90% で指定します。費用を最適化し、すべてのリクエストで低レイテンシを必要としない場合は、より高い割合を使用します。詳細については、CPU 使用率の目標値を決めるをご覧ください。
- STORAGE_PERCENTAGE: 使用するストレージの目標割合(10%~99%)。詳細については、ストレージ使用率の目標値を決めるをご覧ください。
マネージド オートスケーラーをインスタンスに追加した後、マネージド オートスケーラーの設定を変更することもできます。たとえば、処理ユニットの最大数を 10,000 に増やすには、次のコマンドを実行します。
gcloud beta spanner instances update test-instance \
--autoscaling-max-processing-units=10000
インスタンスをマネージド オートスケーラーを使用する状態から手動スケーリングに変更する
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
マネージド オートスケーラーを無効にするインスタンスの名前をクリックします。
[スケーリング モードを選択する] で [手動で割り当てる] をクリックします。
[保存] をクリックします。
gcloud
gcloud beta spanner instances update
コマンドを使用してデータセットを更新します。
次のコマンドを使用して、インスタンスをマネージド オートスケーラーから手動スケーリングに変更します。
gcloud beta spanner instances update INSTANCE_ID \ --processing-units=PROCESSING_UNIT_COUNT
または
gcloud beta spanner instances update INSTANCE_ID \ --nodes=NODE_COUNT
以下のように置き換えます。
- INSTANCE_ID: インスタンスの永続的な識別子。
- NODE_COUNT: ノード数で表されるインスタンスのコンピューティング容量。各ノードは 1,000 の処理ユニットに相当します。
- PROCESSING_UNIT_COUNT: 処理ユニット数で表されるインスタンスのコンピューティング容量。1,000 までの数量については 100 の倍数(100、200、300 など)を、それより多い数量については 1,000 の倍数(1,000、2,000、3,000 など)を入力します。
インスタンスにラベルを付ける
ラベルはリソースを整理するのに役立ちます。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
インスタンスのチェックボックスをオンにします。ページの右側に情報パネルが表示されます。
[情報パネル] で [ラベル] タブをクリックします。これで、Spanner インスタンスのラベルを追加、削除、または更新できるようになります。
インスタンスを移動する
インスタンスを任意のインスタンス構成から他のインスタンス構成に移動する方法(リージョン構成とマルチリージョン構成間の移動を含む)については、インスタンスを移動するをご覧ください。
インスタンスを削除する
インスタンスを削除するには、Google Cloud コンソールまたは Google Cloud CLI を使用します。
削除保護が有効になっているデータベースが 1 つ以上存在するインスタンスを削除するには、まずそのインスタンスのすべてのデータベースで削除保護を無効にする必要があります。
Console
Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
削除するインスタンスの名前をクリックします。
[インスタンスの削除] をクリックします。
指示に従って、インスタンスを削除することを確認します。
[削除] をクリックします。
gcloud
gcloud spanner instances delete
コマンドを使用します。INSTANCE_ID の部分はインスタンス ID で置き換えてください。
gcloud spanner instances delete INSTANCE_ID
インスタンスを停止または再起動する
Spanner はフルマネージド データベース サービスであり、独自の基本的なタスクやリソースを監視します。これには、プロセスをモニタリングして、必要に応じてダウンタイムなしで再起動することも含まれます。特定のインスタンスを手動で停止または再起動する必要がないため、Spanner にはそのための手段は用意されていません。
次のステップ
- データ操作言語(DML)や gcloud CLI で、データを挿入、更新、削除する方法について学習する。
- インスタンスとそのデータベースに Identity and Access Management のロールを付与する。
- Spanner スキーマの設計方法について学習する。