Cloud Bigtable インスタンスの変更

Cloud Bigtable インスタンスを作成した後、ダウンタイムなしで次の設定を更新できます。

  • 各クラスタのノードの数

    ノードの追加や削除を行うと、クラスタのパフォーマンスが最適化されるまで、負荷のかかった状態が通常は数分間続きます。

  • インスタンス内のクラスタの数。

    クラスタを追加すると、Cloud Bigtable がその新しいクラスタにデータをレプリケートするまで時間がかかります。新しいクラスタは、インスタンス内で地理的に最も近いクラスタからレプリケートされます。一般に、距離が遠いほどレプリケーションにかかる時間は長くなります。

  • インスタンスのアプリ プロファイルレプリケーション設定が含まれている)

  • インスタンスのラベル(インスタンスに関するメタデータを提供する)

  • インスタンスの表示名

また、ダウンタイムなしで開発インスタンスをアップグレードして本番環境インスタンスにすることもできます。この変更は永続的に適用されます。

始める前に

Cloud Bigtable 用のコマンドライン ツールを使用する場合は、Cloud SDK と cbt コマンドライン ツールをインストールします(まだインストールしていない場合)。

ノードの追加と削除

ノードは、Cloud Bigtable クラスタがデータへのアクセスと管理タスクの実行に使用するコンピューティング リソースです。各クラスタの CPU とディスクの使用状況をモニタリングして、クラスタに十分なノードがあることを確認します。ノードの数がクラスタのパフォーマンスに及ぼす影響については、通常のワークロードでのパフォーマンスをご覧ください。

デフォルトでは、各 Google Cloud Platform プロジェクトで、1 つのゾーンに 30 個までの Cloud Bigtable ノードをプロビジョニングできます。デフォルトの制限よりも多くのノードをプロビジョニングする必要がある場合は、ノード リクエスト フォームを使用します。

クラスタのノード数を変更するには:

Console

  1. GCP Console で Cloud Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 変更するインスタンスをクリックしてから、[インスタンスの編集] をクリックします。

  3. 更新するクラスタをクリックします。

  4. [ノード] で、クラスタのノード数を入力します。

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

  5. [保存] をクリックします。

gcloud

  1. インスタンス ID がわからない場合は、bigtable instances list コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    gcloud bigtable instances list
    
  2. インスタンスのクラスタ ID がわからない場合は、bigtable clusters list コマンドを使用して、インスタンス内のクラスタのリストを表示します。

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

  3. bigtable clusters update コマンドを使用して、ノード数を変更します。

    gcloud bigtable clusters update CLUSTER_ID \
        --instance=INSTANCE_ID \
        --num-nodes=NUM_NODES
    

    次の値を指定します。

    • CLUSTER_ID: クラスタの永続的な識別子。
    • INSTANCE_ID: インスタンスの永続的な識別子。
    • NUM_NODES: クラスタ内のノードの数。本番環境インスタンスのクラスタにはノードが 3 つ以上必要です。

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

cbt

  1. インスタンス ID がわからない場合は、listinstances コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    cbt listinstances
    
  2. インスタンスのクラスタ ID がわからない場合は、listclusters コマンドを使用して、インスタンス内のクラスタのリストを表示します。

    cbt -instance=INSTANCE_ID listclusters
    

    INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

  3. updatecluster コマンドを使用してノード数を変更します。

    cbt -instance=INSTANCE_ID updatecluster CLUSTER_ID NUM_NODES
    

    次の値を設定します。

    • INSTANCE_ID: インスタンスの永続的な識別子。
    • CLUSTER_ID: クラスタの永続的な識別子。
    • NUM_NODES: クラスタ内のノードの数。本番環境インスタンスのクラスタにはノードが 3 つ以上必要です。

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

クラスタの追加と削除

インスタンスは最大 4 つのクラスタを持つことができます。複数のクラスタがあるインスタンスは、自動的にレプリケーションを使用します。

クラスタの追加

既存のインスタンスにクラスタを追加できます。インスタンスあたりのクラスタの最大数は 4 つです。クラスタがそれぞれ異なるゾーン内に存在する限り、Cloud Bigtable を利用可能なリージョンであれば、どのリージョンにでもクラスタを配置できます。クラスタを追加するのに最適なロケーションは、ユースケースによって異なります。単一クラスタのインスタンスにクラスタを追加する場合は、その前に、推奨されるレプリケーション設定の例をご覧ください。

インスタンスにクラスタを追加するには:

Console

  1. GCP Console で Cloud Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 変更するインスタンスをクリックしてから、[インスタンスの編集] をクリックします。

  3. [クラスタ] で、[クラスタを追加] をクリックします。

    このボタンが無効になっている場合、インスタンスにはすでに最大数のクラスタがあります。

  4. クラスタ ID を入力し、クラスタのリージョンとゾーンを選択します。

  5. クラスタのノード数を入力します。

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

  6. [保存] をクリックします。Cloud Bigtable はクラスタを作成し、新しいクラスタへのデータのレプリケーションを開始します。レプリケーションが開始されると、CPU 使用率が増加する場合があります。

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

gcloud

  1. インスタンス ID がわからない場合は、bigtable instances list コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    gcloud bigtable instances list
    
  2. インスタンスのクラスタ ID がわからない場合は、bigtable clusters list コマンドを使用して、インスタンス内のクラスタのリストを表示します。

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

  3. bigtable clusters create コマンドを使用して、クラスタを追加します。

    gcloud bigtable clusters create CLUSTER_ID \
        --async \
        --instance=INSTANCE_ID \
        --zone=ZONE \
        [--num-nodes=NUM_NODES] \
        [--storage-type=STORAGE_TYPE]
    

    次の値を指定します。

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

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

    --async フラグは必要ではありませんが、強く推奨されています。このフラグがない場合、オペレーションが完了する前にコマンドがタイムアウトすることがあります。Cloud Bigtable は引き続きバックグラウンドでクラスタを作成します。

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

    • --num-nodes=NUM_NODES: クラスタ内のノードの数。本番環境インスタンスのクラスタにはノードが 3 つ以上必要です。デフォルト値は 3 です。

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

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

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

cbt

  1. インスタンス ID がわからない場合は、listinstances コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    cbt listinstances
    
  2. インスタンスのクラスタ ID がわからない場合は、listclusters コマンドを使用して、インスタンス内のクラスタのリストを表示します。

    cbt -instance=INSTANCE_ID listclusters
    

    INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

  3. createcluster コマンドを使用して、クラスタを追加します。

    
    cbt -instance=INSTANCE_ID createcluster CLUSTER_ID ZONE NUM_NODES STORAGE_TYPE
    
    

    次の値を設定します。

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

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

    • NUM_NODES: クラスタ内のノードの数。本番環境インスタンスのクラスタにはノードが 3 つ以上必要です。

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

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

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

クラスタの削除

インスタンスに複数のクラスタがある場合、そのうちの 1 つを除くすべてのクラスタを削除できます。1 つを除くすべてのクラスタを削除すると、自動的にレプリケーションが無効になります。

場合によっては、Cloud Bigtable でクラスタを削除できないことがあります。

  • アプリケーション プロファイルのいずれかがすべてのトラフィックを 1 つのクラスタにルーティングしている場合、Cloud Bigtable ではそのクラスタを削除できません。クラスタを削除できるようにするには、その前にアプリケーション プロファイルを編集または削除する必要があります。
  • 既存のインスタンスに新しいクラスタを追加する場合、新しいクラスタへの初期のデータコピーが完了するまでは、そのインスタンスの既存のクラスタを削除できません。

インスタンスからクラスタを削除するには:

Console

  1. GCP Console で Cloud Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 変更するインスタンスをクリックしてから、[インスタンスの編集] をクリックします。

  3. 削除するクラスタをクリックしてから、クラスタ設定の右上の隅にある [削除] アイコンをクリックします。

  4. [保存] をクリックします。

gcloud

  1. インスタンス ID がわからない場合は、bigtable instances list コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    gcloud bigtable instances list
    
  2. インスタンスのクラスタ ID がわからない場合は、bigtable clusters list コマンドを使用して、インスタンス内のクラスタのリストを表示します。

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

  3. bigtable clusters delete コマンドを使用して、クラスタを削除します。

    gcloud bigtable clusters delete CLUSTER_ID \
        --instance=INSTANCE_ID
    

    次の値を指定します。

    • CLUSTER_ID: クラスタの永続的な識別子。
    • INSTANCE_ID: インスタンスの永続的な識別子。

cbt

  1. インスタンス ID がわからない場合は、listinstances コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    cbt listinstances
    
  2. インスタンスのクラスタ ID がわからない場合は、listclusters コマンドを使用して、インスタンス内のクラスタのリストを表示します。

    cbt -instance=INSTANCE_ID listclusters
    

    INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

  3. deletecluster コマンドを使用して、クラスタを削除します。

    cbt -instance=INSTANCE_ID deletecluster CLUSTER_ID
    

    次の値を設定します。

    • INSTANCE_ID: インスタンスの永続的な識別子。
    • CLUSTER_ID: クラスタの永続的な識別子。

アプリケーション プロファイルの管理

アプリケーション プロファイル(アプリ プロファイル)は、レプリケーションを使用するインスタンスにアプリケーションがどのように接続するかを制御します。複数のクラスタがあるすべてのインスタンスには、独自のデフォルトのアプリ プロファイルがあります。また、インスタンスごとに異なる多数のカスタムアプリ プロファイルを作成できます。この場合、実行するアプリケーションの種類ごとに異なるアプリ プロファイルを使用します。

インスタンスのアプリ プロファイルを設定する方法については、アプリ プロファイルの構成をご覧ください。一般的なユースケースの実装に使用できる設定の例については、レプリケーション設定の例をご覧ください。

ラベルの管理

ラベルとは、関連するインスタンスをグループ化し、インスタンスに関するメタデータを保存する場合に使用できる Key-Value ペアのことです。

ラベルを管理する方法については、インスタンスのラベルを追加または更新するインスタンスからラベルを削除するをご覧ください。

インスタンスの表示名の変更

GCP Console がインスタンスの識別に使用する、インスタンスの表示名を変更するには:

Console

  1. GCP Console で Cloud Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 変更するインスタンスをクリックしてから、[インスタンスの編集] をクリックします。

  3. インスタンス名を編集してから、[保存] をクリックします。

gcloud

  1. インスタンス ID がわからない場合は、bigtable instances list コマンドを使用して、プロジェクトのインスタンスのリストを表示します。

    gcloud bigtable instances list
    
  2. bigtable instances update コマンドを使用して、表示名を更新します。

    gcloud bigtable instances update INSTANCE_ID \
        --display-name=DISPLAY_NAME
    

    次の値を設定します。

    • INSTANCE_ID: インスタンスの永続的な識別子。
    • DISPLAY_NAME: GCP Console でインスタンスの識別に使用する、人が読める形式の名前。

cbt

この機能は cbt ツールでは利用できません。

開発インスタンスのアップグレード

開発とテストに開発インスタンスを使用しない場合、開発インスタンスはいつでも本番環境インスタンスにアップグレードできます。開発インスタンスのアップグレードは永続的に適用されます。

開発インスタンスを永続的に本番環境インスタンスにアップグレードするには:

Console

  1. GCP Console で Cloud Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. [タイプ: 開発] というテキストを見つけ、そのテキストの横にある [アップグレード] リンクをクリックします。

  3. 必要があればインスタンス名を編集します。

  4. [インスタンスのタイプ] で、[本番] を選択します。

  5. クラスタで必要なノードの数がデフォルトの 3 つより多い場合、最初のクラスタのボックスをクリックしてから、ノード数を編集します。

  6. インスタンスでレプリケーションを使用するには、[クラスタを追加] をクリックしてから、新しいクラスタのクラスタ ID、ゾーン、ノード数を更新します。

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

  7. [保存] をクリックしてインスタンスをアップグレードします。

    2 番目のクラスタを追加すると、Cloud Bigtable は自動的に新しいクラスタへのデータのレプリケーションを開始します。

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

gcloud

bigtable instances upgrade コマンドを使用します。

gcloud bigtable instances upgrade INSTANCE_ID

INSTANCE_ID はインスタンスの永続的な識別子に置き換えます。

アップグレード後のインスタンスには 1 つのクラスタがあり、このクラスタには 3 つのノードがあります。インスタンスをアップグレードした後、クラスタを追加したり、ノードを既存のクラスタに追加したりできます。

cbt

この機能は cbt ツールでは利用できません。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Bigtable ドキュメント