インスタンスの作成
Bigtable インスタンスは、Bigtable クラスタのコンテナです。複数のクラスタがあるインスタンスは、レプリケーションを使用します。最大 8 つのリージョンにクラスタを作成できます。各リージョンには、ゾーンと同じ数のクラスタを作成できます。
このページでは、インスタンスを作成する方法について説明します。 このページを読む前に、Bigtable の概要を理解する必要があります。また、インスタンス、クラスタ、ノードの概要についても理解する必要があります。
始める前に
環境の準備:
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 次のコマンドを実行して
cbt
CLI をインストールします。gcloud components install cbt
構成の計画:
レプリケーションを有効にする場合は、次の操作を行います。
- レプリケーションの概要をご覧ください。
- レプリケーションのユースケースを特定します。
- ユースケース、アプリケーションの場所、トラフィックの場所に基づいて、インスタンスを配置するリージョンを決定します。
- アプリケーション プロファイルを使用して受信リクエストをルーティングする方法を決定します。
オプション: デフォルトの Google 管理の暗号化の代わりに顧客管理の暗号鍵(CMEK)を使用する場合は、CMEK 対応インスタンスの作成を完了し、新しいインスタンスを作成する前に CMEK 鍵 ID を用意しておきます。作成後のインスタンスに CMEK による保護を追加することはできません。また、インスタンスの作成後に CMEK 鍵の変更や置換を行うことはできません。
インスタンスの作成
Bigtable インスタンスを作成するには:
コンソール
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
インスタンスの名前を入力します。
Google Cloud コンソールには、この名前がインスタンスの識別のために表示されます。
インスタンス ID を入力します。
インスタンス ID は、インスタンスの永続的な識別子です。
[続行] をクリックします。
クラスタで使用するディスクタイプ(SSD または HDD)を選択します。ほとんどの場合、SSD が最適です。この選択は永続的に適用されます。詳細。
[続行] をクリックします。
最初のクラスタのクラスタ ID を入力します。
クラスタ ID は、クラスタの永続的な識別子です。
最初のクラスタを実行するリージョンとゾーンを選択します。
クラスタのノード スケーリング モードを選択します。ほとんどの場合、自動スケーリングを選択する必要があります。スケーリングのガイダンスについては、自動スケーリングをご覧ください。
- [手動ノード割り当て] で、最初のクラスタの Bigtable ノード数を入力します。必要なノードの数がわからない場合は、デフォルトの設定を使用します。後でノードを追加することもできます。
- [自動スケーリング] に次の値を入力します。
- ノードの最小数
- ノードの最大数
- CPU 使用率の目標値
- ストレージ使用率の目標値
(省略可)デフォルトの Google 管理の暗号化ではなく CMEK を使用してインスタンスを保護する場合は、次の操作を行います。
- [暗号化オプションを表示する] をクリックします。
- [顧客管理の暗号鍵(CMEK)] の横にあるラジオボタンを選択します。
- クラスタに使用する CMEK 鍵のリソース名を選択または入力します。これは後から追加できません。
- CMEK 鍵のサービス アカウントに権限を付与するように求められたら、[付与] をクリックします。このタスクを完了するには、ユーザー アカウントに Cloud KMS 管理者のロールが付与されている必要があります。
- [保存] をクリックします。
(省略可)レプリケーションを直ちに有効にするには、次の追加の手順を行います。
- [詳細設定を表示] をクリックします。
- [クラスタを追加] をクリックし、クラスタの設定を入力して、[追加] をクリックします。この手順を繰り返して、インスタンスに追加のクラスタを作成します。また、クラスタを追加してレプリケーションを有効にすることもできます。
リージョン内の各ゾーンにはクラスタを 1 つしか含めることができません。[クラスタを追加] ボタンが無効になっている場合は、最初のクラスタのゾーンを変更します。
6 つ以上のクラスタが含まれるインスタンスを作成するには、6 つのクラスタを持つインスタンスを作成してから、そのインスタンスにさらにクラスタを追加します。
[作成] をクリックしてインスタンスを作成します。
デフォルトのアプリ プロファイルでレプリケーションの設定を見直して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新やカスタムアプリ プロファイルの作成が必要になることがあります。
gcloud
bigtable instances create
コマンドを使用して、インスタンスを作成します。gcloud bigtable instances create INSTANCE_ID \ --display-name=DISPLAY_NAME \ [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ nodes=NODES] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ autoscaling-min-nodes=AUTOSCALING_MIN_NODES, \ autoscaling-max-nodes=AUTOSCALING_MAX_NODES, \ autoscaling-cpu-target=AUTOSCALING_CPU_TARGET, \ autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET, \ kms-key=KMS_KEY]
次のように置き換えます。
INSTANCE_ID
: インスタンスの永続的な識別子。DISPLAY_NAME
: Google Cloud コンソールでインスタンスを識別するための判読可能な名前。CLUSTER_ID
: クラスタの永続的な識別子。CLUSTER_ZONE
: クラスタが実行されるゾーン。
--cluster-config
フラグを使用して、インスタンスに対して少なくとも 1 つのクラスタを構成する必要があります。複数のクラスタを持つインスタンスを作成するには、クラスタごとに--cluster-config
フラグを繰り返し指定します。手動ノード割り当ての場合、
--cluster-config
フラグでのnodes
の設定は任意です。値が設定されていない場合、Bigtable はデータ フットプリントに基づいてノードをクラスタに自動的に割り当て、ストレージ使用率が 50% になるように最適化します。このノードの自動割り当ては料金に影響します。クラスタ内のノード数を制御する場合は、NODES
をクラスタに含めるノード数に置き換えます。ノードの詳細をご確認ください。ほとんどの場合、手動ノード割り当てではなく自動スケーリングを選択します。 自動スケーリングの場合は、
--cluster-config
フラグにautoscaling-
オプションを指定します(autoscaling-storage-target
は省略可能)。nodes
は使用しません。自動スケーリング設定の値の選択方法については、自動スケーリングをご覧ください。cluster-config
オプションキーを次のように置き換えます。AUTOSCALING_MIN_NODES
: クラスタの最小ノード数。AUTOSCALING_MAX_NODES
: クラスタノードの最大数。AUTOSCALING_CPU_TARGET
: クラスタのターゲット CPU 使用率(パーセント)。値は 10~80 にする必要があります。AUTOSCALING_STORAGE_TARGET
: (省略可)ノードを追加または削除することで Bigtable が維持するストレージ使用率の目標値(GiB 単位)。KMS_KEY: クラスタの CMEK 鍵。
KMS_KEY 値は次の形式にする必要があります。
projects/PROJECT/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY
次のように置き換えます。
- PROJECT: プロジェクトの永続的な識別子
- LOCATION: クラスタのロケーション
- KEYRING: 鍵を含むキーリングの名前
- KEY: 鍵の名前
次に例を示します。
projects/examplestore.com:dev/locations/us-east1/keyRings/devt-cmek-2/cryptoKeys/key2
インスタンスが CMEK で保護されている場合、各クラスタは CMEK 鍵と同じリージョンに存在する必要があります。CMEK クラスタは、すでに CMEK で保護されているインスタンスにのみ追加できます。詳細。
コマンドには、以下の任意のフラグを指定できます。
--cluster-storage-type=CLUSTER_STORAGE_TYPE
: インスタンスで使用するストレージのタイプ。 デフォルト値はSSD
です。ほとんどの場合、デフォルト値が最適です。この選択は永続的に適用されます。詳細。--project=PROJECT
: クラスタを作成するプロジェクト(現在のプロジェクトと異なる場合)。
デフォルトのアプリ プロファイルでレプリケーションの設定を見直して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新やカスタムアプリ プロファイルの作成が必要になることがあります。
cbt
最初に、クラスタが 1 つのインスタンスを作成します。
createinstance
コマンドを使用して、インスタンスを作成します。cbt createinstance INSTANCE_ID \ DISPLAY_NAME \ CLUSTER_ID \ CLUSTER_ZONE \ CLUSTER_NUM_NODES \ CLUSTER_STORAGE_TYPE
次のフィールドを入力します。
INSTANCE_ID
: インスタンスの永続的な識別子。DISPLAY_NAME
: Google Cloud コンソールでインスタンスを識別するための判読可能な名前。CLUSTER_ID
: クラスタの永続的な識別子。CLUSTER_ZONE
: クラスタが実行されるゾーン。CLUSTER_NUM_NODES
: このフィールドは省略可能です。値が設定されていない場合、Bigtable はデータ使用量に基づいてノードを自動的に割り当て、50% のストレージ使用率になるよう最適化します。クラスタ内のノード数を制御する場合は、CLUSTER_NUM_NODES
の値を更新します。ノード数がゼロ以外の値に設定されていることを確認します。ノードの詳細をご確認ください。CLUSTER_STORAGE_TYPE
: クラスタで使用するストレージのタイプ。インスタンス内の各クラスタは、同じストレージ タイプを使用する必要があります。指定できる値はSSD
とHDD
です。ほとんどの場合、SSD
が最適です。この選択は永続的に適用されます。詳細。
レプリケーションを有効にするには、
createcluster
コマンドを使用してクラスタを追加します。cbt -instance=INSTANCE_ID \ createcluster CLUSTER_ID \ ZONE \ NUM_NODES \ STORAGE_TYPE
次のフィールドを入力します。
INSTANCE_ID
: 作成したインスタンスの永続的な識別子。CLUSTER_ID
: クラスタの永続的な識別子。ZONE
: クラスタが実行されるゾーン。各リージョン内のそれぞれのゾーンに配置できるクラスタは 1 つのみです。 たとえば、インスタンスのクラスタが
us-east1-b
にある場合は、同じリージョン内の別のゾーン(例us-east1-c
)、または別のリージョンのゾーン(例:europe-west2-a
)にクラスタを追加できます。NUM_NODES
: このフィールドは省略可能です。値が設定されていない場合、Bigtable はデータ使用量に基づいてノードを自動的に割り当て、50% のストレージ使用率になるよう最適化します。クラスタ内のノード数を制御する場合は、NUM_NODES
の値を更新します。ノード数がゼロ以外の値に設定されていることを確認します。多くの場合、インスタンス内の各クラスタのノード数は同じである必要がありますが、例外もあります。ノードとレプリケーションの詳細をご覧ください。
STORAGE_TYPE
: クラスタで使用するストレージのタイプ。インスタンス内の各クラスタは、同じストレージ タイプを使用する必要があります。指定できる値はSSD
とHDD
です。
(省略可) デフォルトのアプリ プロファイルでレプリケーションの設定を見直して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新やカスタムアプリ プロファイルの作成が必要になることがあります。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
次のステップ
- Bigtable でインスタンス、クラスタ、ノードがどのように使用されているかを確認する。
- Bigtable レプリケーションについて学習する。
- レプリケーション用のデフォルトのアプリ プロファイルを確認および更新して、必要に応じてカスタムアプリ プロファイルを作成する。
- 既存のインスタンスを変更する方法を確認する。