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 の概要で確認する。