インスタンスの作成
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. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      Install the Google Cloud CLI. 
- 
          外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。 
- 
        gcloud CLI を初期化するには、次のコマンドを実行します。 gcloud init
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      Install the Google Cloud CLI. 
- 
          外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。 
- 
        gcloud CLI を初期化するには、次のコマンドを実行します。 gcloud init
- 次のコマンドを実行して cbtCLI をインストールします。gcloud components install cbt
- 省略可: レプリケーションを有効にする場合は、次の操作を行います。 - レプリケーションの概要をご覧ください。
- レプリケーションのユースケースを特定します。
- ユースケース、アプリケーションの場所、トラフィックの場所に基づいて、インスタンスを配置するリージョンを決定します。
- アプリケーション プロファイルを使用して受信リクエストをルーティングする方法を決定します。
 
- 省略可: デフォルトの Google 管理の暗号化の代わりに顧客管理の暗号鍵(CMEK)を使用する場合は、新しいインスタンスを作成する前に CMEK 鍵 ID を用意しておきます。作成後のインスタンスに CMEK による保護を追加することはできません。また、インスタンスの作成後に CMEK 鍵の変更や置換を行うことはできません。詳細については、顧客管理の暗号鍵(CMEK)を使用するをご覧ください。 
- Google Cloud コンソールで、[インスタンスの作成] ページに移動します。 
- インスタンスの名前を入力します。 - Google Cloud コンソールには、この名前がインスタンスの識別のために表示されます。 
- インスタンス ID を入力します。 - インスタンス ID は、インスタンスの永続的な識別子です。 
- [続行] をクリックします。 
- クラスタで使用するディスクタイプ(SSD または HDD)を選択します。ほとんどの場合、SSD が最適です。この選択は永続的に適用されます。詳細を確認する。 
- [続行] をクリックします。 
- 最初のクラスタのクラスタ ID を入力します。 - クラスタ ID は、クラスタの永続的な識別子です。 
- 最初のクラスタを実行するリージョンとゾーンを選択します。 
- 省略可: クラスタが常に 2 ノード単位でスケールインするように構成するには、[2 倍のノード スケーリングを有効にする] を選択します。2 倍のノード スケーリングは、すべてのゾーンで使用できるわけではありません。詳細については、ノードのスケーリング係数をご覧ください。 
- クラスタのノード スケーリング モードを選択します。ほとんどの場合、自動スケーリングを選択します。スケーリングのガイダンスについては、自動スケーリングをご覧ください。 - [手動ノード割り当て] で、最初のクラスタの Bigtable ノード数を入力します。必要なノードの数がわからない場合は、デフォルトの設定を使用します。後でノードを追加することもできます。
- [自動スケーリング] に次の値を入力します。- ノードの最小数
- ノードの最大数
- CPU 使用率の目標値
- ストレージ使用率の目標値
 
 
- 省略可: デフォルトの Google 管理の暗号化ではなく CMEK を使用してインスタンスを保護する場合は、次の操作を行います。 - [暗号化オプションを表示する] をクリックします。
- [Cloud KMS 鍵] を選択します。
- [鍵管理タイプ] フィールドで、次のいずれかのオプションを選択します。
- Cloud KMS 鍵の作成を自動化する場合は、[Cloud KMS with Autokey] を選択し、[鍵をリクエスト] をクリックします。鍵が正常に作成され、使用できる状態になると、メッセージが表示されます。
- 鍵を手動で追加する場合は、[Cloud KMS] を選択します。クラスタに使用する CMEK 鍵のリソース名を選択または入力します。これは後から追加できません。CMEK 鍵のサービス アカウントに権限を付与するように求められたら、[付与] をクリックします。このタスクを完了するには、ユーザー アカウントに Cloud KMS 管理者のロールが付与されている必要があります。[保存] をクリックします。
 
 
- 省略可: レプリケーションを直ちに有効にするには、次の追加の手順を行います。 - [詳細設定を表示] をクリックします。
- [クラスタを追加] をクリックし、クラスタの設定を入力して、[追加] をクリックします。この手順を繰り返して、インスタンスに追加のクラスタを作成します。また、クラスタを追加してレプリケーションを有効にすることもできます。
 - 各リージョン内のそれぞれのゾーンに配置できるクラスタは 1 つのみです。[クラスタを追加] ボタンが無効になっている場合は、最初のクラスタのゾーンを変更します。 - 6 つ以上のクラスタが含まれるインスタンスを作成するには、6 つのクラスタを持つインスタンスを作成してから、そのインスタンスにさらにクラスタを追加します。 
- [作成] をクリックしてインスタンスを作成します。 
- デフォルトのアプリ プロファイルでレプリケーションの設定を見直して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新やカスタムアプリ プロファイルの作成が必要になることがあります。 
- 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], \ [node-scaling-factor=NODE_SCALING_FACTOR]- 以下を置き換えます。 - 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: クラスタを作成するプロジェクト(現在のプロジェクトと異なる場合)。
- node-scaling-factor=NODE_SCALING_FACTOR: 2 倍のノード スケーリングを有効にするフラグ。この機能は、手動スケーリングと自動スケーリングの両方で有効にできます。指定できる値は- node-scaling-factor-2xまたは- node-scaling-factor-1xです。
 - 2 倍のノード スケーリングに使用できない Bigtable ゾーンのリストを表示するには、ノード スケーリング係数の制限事項をご覧ください。 
- デフォルトのアプリ プロファイルでレプリケーションの設定を見直して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新やカスタムアプリ プロファイルの作成が必要になることがあります。 
- 最初に、クラスタが 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です。
 
- (省略可) デフォルトのアプリ プロファイルでレプリケーションの設定を見直して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新やカスタムアプリ プロファイルの作成が必要になることがあります。 
- Bigtable でインスタンス、クラスタ、ノードがどのように使用されているかを確認する。
- Bigtable レプリケーションについて学習する。
- レプリケーション用のデフォルトのアプリ プロファイルを確認および更新して、必要に応じてカスタムアプリ プロファイルを作成する。
- 既存のインスタンスを変更する方法を確認する。
構成の計画:
インスタンスの作成
Bigtable インスタンスを作成するには:
コンソール
gcloud
cbt
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 で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。