Spanner Data Boost では、プロジェクトごととリージョンごとに実行される ExecuteStreamingSQL
呼び出しと StreamingRead
呼び出しの同時実行数を制限する割り当てが適用されます。同時リクエストの数が割り当てを超えると、リクエストは RESOURCE EXHAUSTED
エラーで失敗します。
割り当て量を確認する
プロジェクトの同時実行割り当てを確認するには、次の手順を行います。
Google Cloud コンソールで [割り当て] ページに移動します。
[フィルタ] フィールドに「
databoost
」と入力します。リストで、[DataBoostQuotaPerProjectPerRegion] を選択します。結果のテーブルでリージョンを見つけて、そのリージョンの上限を確認します。
割り当て使用量のモニタリング
割り当て使用量をモニタリングする手順は次のとおりです。
- Google Cloud コンソールで [Monitoring] に移動します。
[モニタリング] に移動 - ナビゲーション メニューに [Metrics Explorer] が表示されている場合は選択します。 それ以外の場合は、[リソース]をクリックして [Metrics Explorer] を選択します。
- ページの上部で期間を選択します。
- [指標] プルダウン リストで [リソースまたは指標名でフィルタリングする] フィールドに「
consumer
」と入力し、Enter
を押して検索を絞り込みます。 - リストで、[使用者の割り当て] > [割り当て] > [同時実行割り当て使用状況] を選択して、[適用] をクリックします。
- [+ フィルタを追加] をクリックしてフィルタを作成します。
- [ラベル 1] プルダウン リストで、[quota_metric] を選択します。
[値 1] テキスト フィールドで、spanner.googleapis.com/data_boost_quota を入力または選択します。
Metrics Explorer に、リージョンごとの割り当て使用量の折れ線グラフが表示されます。
省略可: [表示] の [ウィジェット タイプ] で、[積み上げ棒グラフ] を選択します。
割り当てエラーをモニタリングする
割り当てエラーをモニタリングするには、次の手順を行います。
Metrics Explorer で、指標 [使用者の割り当て] > [割り当て] > [割り当て超過エラー] を選択します。
quota_metric が spanner.googleapis.com/data_boost_quota と等しいフィルタを追加します。
Data Boost の使用状況に関するアラートを設定する
プロジェクトごとおよびリージョンごとに Data Boost(ExecuteStreamingSQL
および StreamingRead
の同時呼び出し)をリクエストする同時分割クエリの数が特定のしきい値を超えた場合に通知するアラート ポリシーを作成できます。方法は次のとおりです。
- 指標しきい値のアラート ポリシーを作成するの手順に沿って操作します。
- [指標の選択] プルダウン リストで、[リソース名または指標名でフィルタ] フィールドに「
data_boost
」と入力し、Enter
を押して検索を絞り込みます。 - [指標の選択] リストで、[Cloud Spanner インスタンス] > [インスタンス] > [処理単位(秒)] を選択し、[適用] をクリックします。
アラート ポリシーの作成を続行し、しきい値を割り当ての一定の割合に設定します。
たとえば、デフォルトの割り当てが 200 で、同時リクエストの数が最大の 80% に達したときに通知を受けるには、[しきい値] フィールドに「160」と入力します。
割り当てエラーを処理する
割り当て超過エラーの割合が高い場合に、Data Boost で Dataflow を使用する場合は、Data Boost の割り当てを超えないように、Dataflow ジョブのワーカーの最大数を調整することをおすすめします。割り当ての増加を申し込むこともできます。
プリンシパルが Data Boost リソースを使用できないようにブロックする
あるプリンシパルが、想定できる Data Boost リソースの量を常に超えている場合は、プリンシパルから spanner.databases.useDataBoost
Identity and Access Management(IAM)権限を取り消すことで、プリンシパルによる Data Boost リソースの使用をブロックできます。権限の取り消しは、アラートの通知チャネルを Cloud Functions を呼び出す Webhook として構成することで自動化できます。詳しくは次の記事をご覧ください。
- 通知チャンネルを作成する
- Cloud Functions
- データベース レベルの権限を削除する
ロールを取り消すサンプルコードの許可ポリシーを変更する
次のステップ
- Data Boost の概要で Data Boost について学習する。