このページでは、Cloud Bigtable インスタンスのアプリケーション プロファイル(またはアプリ プロファイル)の作成方法と管理方法について説明します。また、カスタムアプリ プロファイルを使用して Cloud Bigtable に接続する方法も説明します。
このページを読む前に、アプリ プロファイルとその機能について理解する必要があります。アプリ プロファイルを使用してレプリケーションを構成する場合は、Cloud Bigtable レプリケーションの概要も知っておく必要があります。また、レプリケーション設定の例を確認し、ユースケースに最適な設定を判断する必要もあります。
カスタムアプリ プロファイルの作成
インスタンスごとに、多数のカスタムアプリ プロファイルを作成できます。カスタムアプリ プロファイルを使用すると、各アプリケーション、またはアプリケーション内の各ファンクションがインスタンスとどのようにインタラクションするかを制御できます。たとえば、バッチ アプリケーション用のアプリ プロファイルで 1 つのクラスタへのトラフィックを分離できます。また、別のアプリ プロファイルを使用して他のアプリケーションの高可用性を実現することもできます。
カスタムアプリ プロファイルを作成するには:
Console
Cloud Console で Cloud Bigtable インスタンスのリストを開きます。
アプリ プロファイルを作成するインスタンスをクリックします。
左側のペインで [アプリケーション プロファイル] をクリックします。
[アプリケーション プロファイルを作成] をクリックします。
アプリケーション プロファイル ID を入力します。
アプリケーション プロファイル ID は、アプリ プロファイルの永続的な識別子です。アプリケーションが Cloud Bigtable に接続するとこの ID が生成されます。
アプリ プロファイルの説明を入力します。
[クラスタ ルーティング] で、単一クラスタのルーティングを使用する場合はクラスタ ID を選択し、複数クラスタのルーティングを使用する場合は [任意のクラスタ] を選択します。詳細については、こちらをご覧ください。
単一行のトランザクションを有効にする必要がある場合は、[単一行のトランザクション] で [単一行のトランザクションを許可] チェックボックスをオンにします。詳細については、こちらをご覧ください。
単一行のトランザクションを有効にするには、単一クラスタのルーティングを使用する必要があります。
[作成] をクリックして、アプリ プロファイルを作成します。
Cloud Bigtable に接続するためのアプリケーションのコードを更新して、新しいアプリ プロファイルを使用するよう設定します。
gcloud
インスタンス ID がわからない場合は、
bigtable instances list
コマンドを使用して、プロジェクトのインスタンスのリストを表示します。gcloud bigtable instances list
bigtable app-profiles create
コマンドを使用して、アプリ プロファイルを作成します。gcloud bigtable app-profiles create APP_PROFILE_ID \ --instance=INSTANCE_ID \ [--description=DESCRIPTION] \ [--force] \ [--route-any] \ [--route-to=CLUSTER_ID] \ [--transactional-writes]
次の値を指定します。
APP_PROFILE_ID
: アプリ プロファイルの永続的な識別子。INSTANCE_ID
: インスタンスの永続的な識別子。
コマンドには、以下の任意のフラグを指定できます。
--description=DESCRIPTION
: アプリ プロファイルの詳細な説明。--force
: 問題や他のアプリ プロファイルとの競合の可能性についての警告を無視します。--route-any
: 複数クラスタのルーティングを有効にして、使用可能な任意のクラスタにリクエストをルーティングできるようにします。このフラグを
--route-to
フラグや--transactional-writes
フラグと組み合わせることはできません。--route-to=CLUSTER_ID
: すべてのリクエストのルーティング先となるクラスタ ID。このフラグにより、単一クラスタのルーティングが有効になります。このフラグを
--route-any
フラグと組み合わせることはできません。--transactional-writes
: アプリ プロファイルで単一行のトランザクションを有効にします。このフラグを
--route-any
フラグと組み合わせることはできません。
Cloud Bigtable に接続するためのアプリケーションのコードを更新して、新しいアプリ プロファイルを使用するよう設定します。
カスタムアプリ プロファイルとの接続
カスタムアプリ プロファイルを作成したら、Cloud Bigtable と接続するときにアプリがカスタムアプリ プロファイルを使用するようにコードを更新できます。
以下の例では、アプリが Cloud Bigtable クライアントを作成してインスタンスに接続するときにアプリ プロファイルを指定する方法を説明します。[APP_PROFILE_ID]
は、適切な値で置き換えます。
C#
var client = BigtableClient.Create(appProfileId: "[APP_PROFILE_ID]");
Go
clientConf := bigtable.ClientConfig{AppProfile:"[APP_PROFILE_ID]"}
client, err = bigtable.NewClientWithConfig(ctx, project, instance, clientConf)
HappyBase
HappyBase クライアント ライブラリは、カスタムアプリ プロファイルをサポートしていません。このクライアント ライブラリは常にデフォルトのアプリ プロファイルを使用します。
HBase Java
// If using BigtableOptions directly:
optionsBuilder.setAppProfileId("[APP_PROFILE_ID]");
// If using BigtableOptionsFactory:
configuration.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, "[APP_PROFILE_ID]");
// If using system properties, set "google.bigtable.app_profile.id" to
// "[APP_PROFILE_ID]"
// If using CloudBigtableIO for Cloud Dataflow:
config.withConfiguration(BigtableOptionsFactory.APP_PROFILE_ID_KEY,
"[APP_PROFILE_ID]");
Node.js
const bigtable = new Bigtable({appProfileId: '[APP_PROFILE_ID]'});
Python
from google.cloud import bigtable
client = bigtable.Client(project=project_id)
instance = client.instance(instance_id)
table = bigtable.table.Table(table_id, instance, '[APP_PROFILE_ID]')
アプリ プロファイルの更新
インスタンスのアプリ プロファイルの表示とそれらの設定の更新は、いつでも可能です。更新により動作の予期しない変動が発生する可能性がある場合は、警告が生成されます。
既存のアプリ プロファイルを表示または更新するには:
Console
Cloud Console で Cloud Bigtable インスタンスのリストを開きます。
[アプリケーション プロファイル] 列で、表示または更新するアプリ プロファイルをクリックします。
編集するアプリ プロファイルが表示されない場合は、インスタンス名をクリックしてから左側のペインで [アプリケーション プロファイル] をクリックすると、完全なリストを表示できます。
必要に応じて設定を更新してから [保存] をクリックします。保存せずに終了する場合は [キャンセル] をクリックします。
gcloud
インスタンス ID がわからない場合は、
bigtable instances list
コマンドを使用して、プロジェクトのインスタンスのリストを表示します。gcloud bigtable instances list
アプリ プロファイルの ID がわからない場合は、
bigtable app-profiles list
コマンドを使用して、インスタンスのアプリ プロファイルのリストを表示します。gcloud bigtable app-profiles list --instance=INSTANCE_ID
INSTANCE_ID
はインスタンスの永続的な識別子に置き換えます。(省略可)
bigtable app-profiles describe
コマンドを使用して、アプリ プロファイルの設定を確認します。gcloud bigtable app-profiles describe APP_PROFILE_ID \ --instance=INSTANCE_ID
次の値を指定します。
APP_PROFILE_ID
: アプリ プロファイルの永続的な識別子。INSTANCE_ID
: インスタンスの永続的な識別子。
bigtable app-profiles update
コマンドを使用して、アプリ プロファイルの設定を更新します。gcloud bigtable app-profiles update APP_PROFILE_ID \ --instance=INSTANCE_ID \ [--description=DESCRIPTION] \ [--force] \ [--route-any] \ [--route-to=CLUSTER_ID] \ [--transactional-writes]
次の値を指定します。
APP_PROFILE_ID
: アプリ プロファイルの永続的な識別子。INSTANCE_ID
: インスタンスの永続的な識別子。
コマンドには、以下の任意のフラグを指定できます。
--description=DESCRIPTION
: アプリ プロファイルの詳細な説明。--force
: 問題や他のアプリ プロファイルとの競合の可能性についての警告を無視します。--route-any
: 複数クラスタのルーティングを有効にして、使用可能な任意のクラスタにリクエストをルーティングできるようにします。このフラグを
--route-to
フラグや--transactional-writes
フラグと組み合わせることはできません。--route-to=CLUSTER_ID
: すべてのリクエストのルーティング先となるクラスタ ID。このフラグにより、単一クラスタのルーティングが有効になります。このフラグを
--route-any
フラグと組み合わせることはできません。--transactional-writes
: アプリ プロファイルで単一行のトランザクションを有効にします。このフラグを
--route-any
フラグと組み合わせることはできません。
カスタムアプリ プロファイルの削除
インスタンスのカスタムアプリ プロファイルは削除できますが、デフォルトのアプリ プロファイルは削除できません。
カスタムアプリ プロファイルを削除するには:
Console
Cloud Console で Cloud Bigtable インスタンスのリストを開きます。
削除するアプリ プロファイルがあるインスタンスをクリックします。
左側のペインで [アプリケーション プロファイル] をクリックします。
その他の操作メニュー
を開き、[アプリケーション プロファイルを削除] をクリックします。確認ダイアログが表示されます。
確認ダイアログの手順に従って、[削除] をクリックします。
gcloud
インスタンス ID がわからない場合は、
bigtable instances list
コマンドを使用して、プロジェクトのインスタンスのリストを表示します。gcloud bigtable instances list
アプリ プロファイルの ID がわからない場合は、
bigtable app-profiles list
コマンドを使用して、インスタンスのアプリ プロファイルのリストを表示します。gcloud bigtable app-profiles list --instance=INSTANCE_ID
INSTANCE_ID
はインスタンスの永続的な識別子に置き換えます。bigtable app-profiles delete
コマンドを使用して、アプリ プロファイルを削除します。gcloud bigtable app-profiles delete APP_PROFILE_ID \ --instance=INSTANCE_ID \ [--force]
次の値を指定します。
APP_PROFILE_ID
: アプリ プロファイルの永続的な識別子。INSTANCE_ID
: インスタンスの永続的な識別子。
コマンドには、以下の任意のフラグを指定できます。
--force
: 問題や他のアプリ プロファイルとの競合の可能性についての警告を無視します。