Bigtable インスタンスの作成

Cloud Bigtable インスタンスは、最大で 4 つの Bigtable クラスタを含むコンテナです。レプリケーションを使用するインスタンスにはクラスタが 2 つ以上あり、レプリケーションのないインスタンスにはクラスタが 1 つしかありません。

このページでは、レプリケーションの有無に関係なく、インスタンスを作成する方法を説明します。このページを読む前に、Bigtable の概要を理解する必要があります。また、インスタンス、クラスタ、ノードの概要についても理解する必要があります。

始める前に

始める前に、環境を準備して、初期計画を行う必要があります。

  1. GCP プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  2. Google Cloud プロジェクトの課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  3. Bigtable API と Bigtable Admin API を有効にします。

    API を有効にする

  4. [認証情報に進む] をクリックします。

  5. [認証情報] ページで、必須の質問に回答します。

    1. [使用する API] への回答として、[Cloud Bigtable API] を選択します。
    2. [アクセスするデータの種類] には [アプリケーション データ] を選択します。
    3. App Engine または Compute Engine に関する質問に回答します。このクイックスタートでは、どちらも使用していません
    4. [必要な認証情報] をクリックします。
    5. サービス アカウントを作成するように求められた場合は、次の情報を指定します。
      1. サービス アカウントの名前を選択します。
      2. [ロール] で、[Cloud Bigtable] > [Bigtable 管理者] を選択します。
      3. [完了] をクリックして、サービス アカウントの作成を完了します。
      4. 作成したサービス アカウントのメールアドレスをクリックします。
      5. [] をクリックします。
      6. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
      7. [鍵の種類] で、[JSON] を選択します。
      8. [作成] をクリックします。
      9. [閉じる] をクリックします。
      10. 新規に作成したサービス アカウント JSON ファイルをローカルの HOME ディレクトリまたは任意の場所に保存します。
    6. 新しいサービス アカウントを作成するように求められない場合は、[完了] をクリックします。
  6. Bigtable 用のコマンドライン ツールを使用する場合は、Cloud SDK をインストールし、cbt コマンドライン ツールをインストールします(まだインストールしていない場合)。

  7. レプリケーションを有効にする場合は、次の操作を行います。

  8. デフォルトの Google 管理の暗号化の代わりに顧客管理の暗号鍵(CMEK)を使用する場合は、CMEK 対応インスタンスの作成を完了し、新しいインスタンスを作成する前に CMEK 鍵 ID を用意しておきます。作成後のインスタンスに CMEK による保護を追加することはできません。また、インスタンスの作成後に CMEK 鍵の変更や置換を行うことはできません。

インスタンスの作成

Bigtable インスタンスを作成するには:

Console

  1. Cloud Console で [インスタンスの作成] ページを開きます。

    [インスタンスの作成] ページを開く

  2. インスタンスの名前を入力します。

    Cloud Console に、この名前がインスタンスの識別のために表示されます。

  3. インスタンス ID を入力します。

    インスタンス ID は、インスタンスの永続的な識別子です。

  4. [続行] をクリックします。

  5. クラスタで使用するディスクタイプ(SSD または HDD)を選択します。ほとんどの場合、SSD が最適です。この選択は永続的に適用されます。詳細については、こちらをご覧ください。

  6. [続行] をクリックします。

  7. 最初のクラスタのクラスタ ID を入力します。

    クラスタ ID は、クラスタの永続的な識別子です。

  8. 最初のクラスタを実行するリージョンとゾーンを選択します。

    単一のリージョン内でレプリケーションを使用する場合、そのリージョン内の他のゾーンで Bigtable が利用できることを確認します。ゾーンのリストをご覧ください

  9. 最初のクラスタの Bigtable ノードの数を選択します。必要なノードの数がわからない場合は、デフォルトの設定を使用します。後でノードを追加することもできます。詳細については、こちらをご覧ください。

  10. デフォルトの Google 管理の暗号化ではなく CMEK を使用してインスタンスを保護する場合は、次の操作を行います。

    1. [暗号化オプションを表示する] をクリックします。
    2. [顧客管理の暗号鍵(CMEK)を使用する] の横にあるチェックボックスをオンにします。
    3. インスタンスに使用する CMEK 鍵のリソース ID を選択または入力します。これは後から追加できません。
    4. CMEK 鍵のサービス アカウントに権限を付与するように求められたら、[付与] をクリックします。このタスクを完了するには、ユーザー アカウントに Cloud KMS 管理者のロールが付与されている必要があります。
    5. [保存] をクリックします。
  11. レプリケーションを直ちに有効にするには、[クラスタを追加] をクリックし、2 番目のクラスタの設定を入力してから [追加] をクリックします。この手順を繰り返して、インスタンスにクラスタを 4 つまで作成します。また、クラスタを追加してレプリケーションを有効にすることもできます。

    インスタンスの各クラスタは、それぞれ異なるゾーン内に存在する必要があります。Bigtable が利用可能なゾーンであれば、どのゾーンにも追加のクラスタを作成できます。[クラスタを追加] ボタンが無効になっている場合は、最初のクラスタのゾーンを変更します。

  12. [作成] をクリックしてインスタンスを作成します。

  13. 次に、デフォルトのアプリ プロファイルでレプリケーションの設定を確認して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新カスタムアプリ プロファイルの作成が必要になることがあります。

gcloud

  1. 最初に、クラスタが 1 つのインスタンスを作成します。bigtable instances create コマンドを使用して、インスタンスを作成します。

    gcloud bigtable instances create INSTANCE_ID \
        --display-name=DISPLAY_NAME \
        [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE,[nodes=CLUSTER_NUM_NODES,kms-key=KMS_KEY]] \
        [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \
    

    次のフィールドを入力します。

    • INSTANCE_ID: インスタンスの永続的な識別子。
    • DISPLAY_NAME: Cloud Console でインスタンスを識別するための判読可能な名前。
    • CLUSTER_ID: クラスタの永続的な識別子。
    • CLUSTER_ZONE: クラスタが実行されるゾーン

      単一のリージョン内でレプリケーションを使用する場合、そのリージョン内の他のゾーンで Bigtable が利用できることを確認します。ゾーンのリストをご覧ください

    コマンドには、以下の任意のフラグを指定できます。

    • --cluster-config=nodes=CLUSTER_NUM_NODES: クラスタ内のノードの数。インスタンス内の各クラスタには 1 つ以上のノードが必要です。デフォルト値は 1 です。必要なノードの数がわからない場合は、デフォルトの設定を使用します。後でノードを追加することもできます。詳細については、こちらをご覧ください。
    • --cluster-config=kms-key=KMS_KEY: CMEK 鍵 ID。CMEK でインスタンスを保護する場合に使用します。これは後から追加できません。詳細については、こちらをご覧ください。

    • --cluster-storage-type=CLUSTER_STORAGE_TYPE: クラスタで使用するストレージのタイプ。インスタンス内の各クラスタは、同じストレージ タイプを使用する必要があります。指定できる値は SSDHDD です。デフォルト値は SSD です。

      ほとんどの場合、デフォルト値が最適です。この選択は永続的に適用されます。詳細については、こちらをご覧ください。

  2. 本番環境インスタンスのレプリケーションを有効にするには、bigtable clusters create コマンドを使用してクラスタを追加します。

    gcloud bigtable clusters create CLUSTER_ID \
        --instance=INSTANCE_ID \
        --zone=ZONE \
        [--num-nodes=NUM_NODES] \
        [--kms-key=KMS_KEY] \
        [--project=PROJECT]
    

    次のフィールドを入力します。

    • CLUSTER_ID: クラスタの永続的な識別子。
    • INSTANCE_ID: 作成したインスタンスの永続的な識別子。
    • ZONE: クラスタが実行されるゾーン

      インスタンスの各クラスタは、それぞれ異なるゾーン内に存在する必要があります。Bigtable が利用可能なゾーンであれば、どのゾーンにも追加のクラスタを作成できます。たとえば、最初のクラスタが us-east1-b にある場合、同じリージョン内の別のゾーン(us-east1-c など)を選択することも、別のリージョン内のゾーン(europe-west2-a など)を選択することもできます。

      例外: インスタンスが CMEK で保護されている場合、ゾーンは CMEK 鍵と同じリージョンに存在する必要があります。詳細については、こちらをご覧ください。

    コマンドには、以下の任意のフラグを指定できます。

    • --num-nodes=NUM_NODES: クラスタ内のノードの数。インスタンス内の各クラスタには 1 つ以上のノードが必要です。

      多くの場合、インスタンス内の各クラスタのノード数は同じである必要がありますが、例外もあります。ノードとレプリケーションの詳細をご覧ください。

    • --kms-key=KMS_KEY: インスタンスによって使用されている CMEK の鍵。CMEK クラスタは、すでに CMEK で保護されているインスタンスにのみ追加できます。

    • --project=PROJECT: クラスタを作成するプロジェクト(現在のプロジェクトと異なる場合)。

  3. 前の手順を繰り返して、インスタンスにクラスタを 4 つまで作成します。

  4. 次に、デフォルトのアプリ プロファイルでレプリケーションの設定を確認して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新カスタムアプリ プロファイルの作成が必要になることがあります。

cbt

  1. 最初に、クラスタが 1 つのインスタンスを作成します。createinstance コマンドを使用して、インスタンスを作成します。

    cbt createinstance INSTANCE_ID DISPLAY_NAME CLUSTER_ID CLUSTER_ZONE \
        CLUSTER_NUM_NODES CLUSTER_STORAGE_TYPE
    

    次のフィールドを入力します。

    • INSTANCE_ID: インスタンスの永続的な識別子。
    • DISPLAY_NAME: Cloud Console でインスタンスを識別するための判読可能な名前。
    • CLUSTER_ID: クラスタの永続的な識別子。
    • CLUSTER_ZONE: クラスタが実行されるゾーン

      単一のリージョン内でレプリケーションを使用する場合、そのリージョン内の他のゾーンで Bigtable が利用できることを確認します。ゾーンのリストをご覧ください

    • CLUSTER_NUM_NODES: クラスタ内のノードの数。インスタンス内の各クラスタには 1 つ以上のノードが必要です。必要なノードの数がわからない場合は、デフォルトの設定を使用します。後でノードを追加することもできます。詳細については、こちらをご覧ください。

    • CLUSTER_STORAGE_TYPE: クラスタで使用するストレージのタイプ。インスタンス内の各クラスタは、同じストレージ タイプを使用する必要があります。指定できる値は SSDHDD です。ほとんどの場合、SSD が最適です。この選択は永続的に適用されます。詳細については、こちらをご覧ください。

  2. レプリケーションを有効にするには、createcluster コマンドを使用してクラスタを追加します。

    
    cbt -instance=INSTANCE_ID createcluster CLUSTER_ID ZONE NUM_NODES STORAGE_TYPE
    
    

    次のフィールドを入力します。

    • INSTANCE_ID: 作成したインスタンスの永続的な識別子。
    • CLUSTER_ID: クラスタの永続的な識別子。
    • ZONE: クラスタが実行されるゾーン

      インスタンスの各クラスタは、それぞれ異なるゾーン内に存在する必要があります。Bigtable が利用可能なゾーンであれば、どのゾーンにも追加のクラスタを作成できます。たとえば、最初のクラスタが us-east1-b にある場合、同じリージョン内の別のゾーン(us-east1-c など)を選択することも、別のリージョン内のゾーン(europe-west2-a など)を選択することもできます。

    • NUM_NODES: クラスタ内のノードの数。インスタンス内の各クラスタには 1 つ以上のノードが必要です。

      多くの場合、インスタンス内の各クラスタのノード数は同じである必要がありますが、例外もあります。ノードとレプリケーションの詳細をご覧ください。

    • STORAGE_TYPE: クラスタで使用するストレージのタイプ。インスタンス内の各クラスタは、同じストレージ タイプを使用する必要があります。指定できる値は SSDHDD です。

  3. 次に、デフォルトのアプリ プロファイルでレプリケーションの設定を確認して、それらの設定がレプリケーションのユースケースに適しているかどうかを確認します。デフォルトのアプリ プロファイルの更新カスタムアプリ プロファイルの作成が必要になることがあります。

次のステップ